"这是一份Java学习笔记,涵盖了基础语法、条件判断、循环控制、随机数生成、注释、运算符优先级、素数算法等多个方面。笔记内容详实,适合初学者参考学习。"
在Java编程语言中,理解基础语法和数据类型是至关重要的。例如,`Scanner`类用于从标准输入读取用户输入,如`Scanner in = new Scanner(System.in);`。此外,表达式的正确使用也很关键,如`a == b == true`这样的条件判断在Java中是合法的,因为它会依次比较每个部分。然而,`a == b == 6`则是错误的,因为布尔值`true`不能与数值进行比较。
Java中的`true`和`false`是逻辑值,它们之间没有大小关系,因此比较`true > false`或`false > true`都是非法的。另一方面,`int`和`double`类型可以进行比较,但由于浮点数的精度问题,如`double a = 1.0; double b = 0.1 + ... + 0.1;`,即使`a`和`b`看似相等,但比较`a == b`的结果可能是`false`。为了判断浮点数的近似相等,可以使用`Math.abs(a - b) < 1e-6`这样的方式。
在代码编写中,注释是非常有用的,如使用`Ctrl+/`可以快速在选定的行前添加单行注释。在循环结构中,`while`后的分号不可忽视,它是语句结束的标志。在猜数游戏中,`Math.random()`函数可以帮助生成[0,1)范围内的随机数,若需要整数,可将其转换为`(int)(Math.random())`。
运算符`i++`和`++i`在Java中有微妙的区别。两者都用于自增变量`i`,但`i++`会先使用`i`的当前值,再加1,而`++i`会先将`i`加1,再使用新值。例如,当`i=6`时,`a=i++`会让`a`等于6,然后`i`变为7;而`a=++i`则会让`a`和`i`同时变为7。
素数算法是编程基础的一个重要部分。在Java中,可以通过双重循环来找出100以内的所有素数,外层循环遍历数字,内层循环判断是否为素数。`break`语句可以用于跳出循环。`println`和`print`的区别在于是否在输出后自动换行,前者会在每个输出后添加换行符,后者则不会。
在处理布尔类型`boolean`时,它仅用于逻辑运算,不能执行算术操作。`!" && " || "`等逻辑运算符用于组合逻辑条件。如果只需要表示两种状态,`boolean`类型非常适用,但它不适用于数值计算。
这份Java学习笔记提供了丰富的基础知识,包括基本数据类型、控制流、运算符以及算法实现,对于初学者来说是一份宝贵的参考资料。