没有特殊说明,我的所有这个系列的Java13的笔记都是从廖老师那里摘抄、总结过来的,侵删

兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来。虽然Python好写舒服,但是毕竟不能完全面向对象,也没有那么多的应用场景,所以,奉劝看到本文的各位,还是提前学好C#或者Java,话不多说,这个系列,干就完了!
println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()System.out.printf(),通过使用占位符%?,printf()可以把后面的参数格式化成指定格式%%表示一个%字符本身。| 占位符 | 说明 |
|---|---|
| %d | 格式化输出整数 |
| %x | 格式化输出十六进制整数 |
| %f | 格式化输出浮点数 |
| %e | 格式化输出科学计数法表示的浮点数 |
| %s | 格式化字符串 |
java.util.Scanner,创建Scanner对象并传入System.in,Scanner会自动转换数据类型,因此不必手动转换if语句块只有一行语句时,可以省略花括号{},但是尽量不要省略花括号,这样在版本控制系统的时候会出现问题。if时正确的方式是按照判断范围从大到小依次判断,或者从小到大判断,不要从中间范围判断。if时,还要特别注意边界条件,>和>=是不同的。注意判断浮点数相等用==判断不靠谱,正确的方法是利用差值小于某一个临界值来判断。
判断引用类型相等
值类型的变量是否相等,可以使用==运算符。但是,判断引用类型的变量是否相等,==表示是否指向同一个对象,却不表示对象的值是否相同。equals()方法
equals()时其中一个变量是null那么会报错NullPointerExceptionnull的变量放到前面"hello".equals(s)使用switch时,注意case语句并没有花括号{}
如果有几个case语句执行的是同一组语句块,可以在执行语句前多放几个case
使用switch语句时,只要保证有break,case的顺序不影响程序逻辑
使用IDE时,可以自动检查是否漏写了break语句和default语句,方法是打开IDE的编译检查。
switch表达式
->,如果有多条语句,需要用{}括起来,不要写break语句 public class Main {
public static void main(String[] args) {
String fruit = "apple";
switch (fruit) {
case "apple" -> System.out.println("Selected apple");
case "pear" -> System.out.println("Selected pear");
case "mango" -> {
System.out.println("Selected mango");
System.out.println("Good choice!");
}
default -> System.out.println("No fruit selected");
}
}
}
switch语法,不但不需要break,还可以直接返回值。public class Main {
public static void main(String[] args) {
String fruit = "apple";
int opt = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> 0;
}; // 注意赋值语句要以;结束
System.out.println("opt = " + opt);
}
}
{...}里,然后,用yield返回一个值作为switch语句的返回值。while循环是一个死循环,但是,Java的int类型有最大值,达到最大值后,再加1会变成负数,结果,意外退出了while循环。 for (初始条件; 循环检测条件; 循环后更新计数器) {
// 执行语句
}使用for循环时,千万不要在循环体内修改计数器!
为了保证变量应该把访问范围缩到最小的原则,对于for循环中使用的i最好在循环体内定义。
for循环还可以缺少初始化语句、循环条件和每次循环更新语句
for each循环
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int n : ns) {//注意形式,先定义数组元素n,注意这里不再是计数器n,它对应着数组的每一个元素,在循环的主语句中可以直接调用。
System.out.println(n);
}
}
}
for each循环能够遍历所有“可迭代”的数据类型,包括后面会介绍的List、Map等while循环还是for循环,有两个特别的语句可以使用,就是break语句和continue语句。break语句总是跳出最近的一层循环。原文:https://www.cnblogs.com/dawsonlee/p/12234429.html