❤️ 从控制台获取数据
ScannerhasNextInt()判断是否还有 int 数据nextInt()接收到 int 数据
java
Scanner sc = new Scanner(System.in); // 首先创建Scanner对象
int i = sc.nextInt(); // 接收数据,nextInt与int对应❤️ 分支语句
if…else…
java
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else{
语句体3;
}if
如果在 if 语句中加入 return ,会在执行完 if 语句之后不在执行跟 if 同级别,同一缩进下的语句
java
if() {
代码 A;
…
return;
}
代码 Bswitch
- 用表达式的值和 case 的值做比较,相等就输出对应语句体的内容
- 不相等就继续向下比较
- break 结束此次 switch
java
switch (1) {
case 2:
System.out.println(2);
break; //结束switch语句
case 3:
case 1:
System.out.println("1或3");
break;
default: //当所有情况都不匹配时,就执行此处的内容。
System.out.println("没有"); //即使情况符合,没有break,也会执行default
}
1或3如果有一步没有加 break,那么下一步不会判断 case,而是直接执行语句体,直到遇见 break 或 default
java
switch (1) {
case 1:
System.out.println(2);
case 3:
case 4:
System.out.println("1或3");
break;
default:
System.out.println("没有");
}
2
1或3增强 switch
- 支持返回值
java
// 在外部定义awardId返回值,执行完方法之后可以自动赋值
Integer awardId = switch (filterParam.getDispatchParam()) {
case CommonAwards -> strategyDispatch.getRuleCommonAwardIdByRandom(filterParam.getStrategyId());
case LockAwards -> strategyDispatch.getRuleLockAwardIdByRandom(filterParam.getStrategyId());
case LockLongAwards -> strategyDispatch.getRuleLockLongAwardIdByRandom(filterParam.getStrategyId());
case BlacklistAward -> strategyDispatch.getWorstAwardId(filterParam.getStrategyId());
default -> 0;
};- 支持 case 多个用逗号分隔
java
boolean a = switch (item.getString("Short")) {
case "数字化", "项目实施", "项目管理", "HR", "第一事业群" -> true;
default -> false;
}❤️ 循环语句
for
java
for (初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
执行初始化语句,
执行条件判断语句
false,循环结束
true,执行循环体语句
执行条件控制语句
执行条件判断语句……while
java
初始化语句
while(条件判断语句){
循环体语句;
条件控制语句;
}do…while
java
初始化语句
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行初始化语句
执行循环体语句
执行条件控制语句
执行条件判断语句
false,循环结束
true,执行循环体语句……死循环
java
for(;;){
}
while(true){
}
do{
}while(true);跳转控制语句
continue基于条件控制,跳过某次循环体内容的执行,继续下一次执行
java
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
continue; //if正确则执行continue,则会跳过这次的sout
}
System.out.print(i);
}
135break基于条件控制,中止循环体内容的执行
java
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
break;
}
System.out.print(i);
}
1❤️ 数组
[!quote] 数组
数组 用于定义多个相同类型的数据
数组初始化时的默认值 :
- 整数: 0
- 浮点数: 0.0
- 布尔值: false
- 字符: 空字符
- 引用数类: null
初始化 :
- 动态初始化

- 静态初始化
java
int arr[] = {1, 2, 3};访问数组 :
java
System.out.println(arr); //会输出一个内存地址访问数组的元素 :
java
System.out.println(arr[0]); //通过索引,访问数组元素获取数组长度 :
java
int l = arr.length;[!hint] 多个数组指向相同
如果修改 arr2 的元素值,arr1 的元素值也会相应改变
javaint arr1[] = new int[3]; // 假设arr1的内存地址为001 int arr2[] = arr1; // 那么arr2的内存地址也为001