输出:输出并换行System.out.println(); 输出不换行System.out.print()
输入:导入 java.util.Scanner; 创建Scanner并传入System.in Scanner.nextLine()读字符串 Scanner.nextInt()读整数
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
格式化输出:System.out.printf();占位符%d (整数) %x(十六进制整数) %f(浮点数) %s(字符串) %%(%字符本身) 如:%.2f %7.2f
条件判断:if(条件){...} 根据计算结果(true或false)判断是否执行 可多条执行语句
if(){...} else if(){...} else{...} 注意顺序
浮点数==判断不靠谱,利用差值小于某个临界值判断
引用类型==判断是否指向同一对象 equals()判断内容是否相等,注意避免NullPointerException 如果变量为null,会报错,1,要利用&& 2,非null的对象放前面
多重选择:switch语句相当于 if...else...语句 必须整型,字符串或枚举类型
switch(表达式){ case 1:...;break;case 2:...;break;.......}遇到break结束
没有匹配到时可选择default:{...} 注case没有{} case具有“穿透性”(没有break一直向下执行) 不能漏写break(打开missing default警告) 可与字符串匹配,字符串比较内容相等
while循环:while(条件){...} while首先判断条件,满足才循环,不满足退出,可能一次都不循环
如果永远满足时变成死循环,会导致CPU 100%占用,所以要避免 小心逻辑错误循环
do-while循环:do{}while();循环先执行,再判断条件,满足才循环,不满足退出,
至少循环一次
for循环:for (int i = 0; i < args.length; i++){ }初始化计算器总是被执行,可能循环0次,不要在循环体内修改计数器 通常遍历数组
for each循环可以更简单的遍历数组和“可迭代”数组类型,包括List,Map等 ,但无法指定遍历顺序与获取数组索引,所以同时多个数组就不能
break语句:跳出循环,通常配合if,满足条件时提前结束循环,总是跳出最近的一层循环
continue语句:continue提前结束当前循环,通常配合if,直接下一次循环(先执行i++);满足条件时提前结束本轮循环