看看这个网站上的问题并且找不到我正在寻找的关于将Math.random()方法从double转换为int的类型的答案.我的问题是,为什么Math.random只返回没有括号的0,而当它包含在括号中时它会返回随机数?代码的第一部分返回0:
int number;
number = (int) Math.random() * 10;
System.out.println("\nThe random number is " + number);
Run Code Online (Sandbox Code Playgroud)
但是这段代码有效:
int number;
number = (int) (Math.random() * 10);
System.out.println("\nThe random number is " + number);
Run Code Online (Sandbox Code Playgroud)
应该注意我在类型转换上看到了一些不同的代码片段,其中一些程序员似乎使用两种方式进行转换.
快速问题,当它没有携带正值或负值时,初始化所有"空白或空"变量是一种好习惯,例如使用:
int value = 0;
Run Code Online (Sandbox Code Playgroud)
代替:
int value;
Run Code Online (Sandbox Code Playgroud)
我接受Visual Studio编译器,根据我的理解,默认情况下,如果未事先初始化变量,则会自动将变量初始化为0,但我很好奇最佳实践是什么以及潜在危险(如果有的话)是什么.
虽然我特别指的是VS环境中的C#和C++语言,但这个问题对所有语言和编译器都是开放的.
有关C#++(右侧放置)运算符的问题.
作为左放置++操作者,例如,++变种,(说保持的1 int值)将由1的任何其他计算发生(第1实施例的值在执行后表达和结果显示将成为2)之前递增.
任何人都可以解释左侧放置的操作符和右侧放置的操作符之间的区别吗?(var ++)因为即使在执行表达式之后它似乎也没有增加.以下是一些示例代码:
int var1, var2 = 5, var3 = 6;
var1 = var2++ * --var3;
Console.WriteLine(" {0} ", var1);
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
这仅仅是5×5由于VAR3的递减但没有减量为5×6和VAR2 ++似乎具有比5它所携带的值以外没有影响.如果有人能够阐明这个话题,我将不胜感激.谢谢.
***问题解决了.很多很棒的答案和输入员,很难确定接受什么答案,但你们都是赢家!再次感谢您的帮助!=)