流程控制,if、switch、while、dowhile、for
if
// if
// 条件判断,如果括号内的判断条件 1 为:ture,则执行后面花括号内的代码,打印:判断条件 1 成立
// 如果判断条件 1 为:false,则执行判断条件 2 ,如果判断条件 2 为:true,则执行后面花括号内的代码,打印:判断条件 2 成立
// 代码从上往下依次执行,如果某一个条件成立,执行完后面花括号的内容后,直接跳出整个 if 判断
// if (判断条件 1) {
// System.out.println("判断条件 1 成立");
// } else if (判断条件 2) {
// System.out.println("判断条件 2 成立");
// }
// .
// .
// .
// else {
// System.out.println("条件不通过");
// }
// 创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
// 监听控制台键盘输入,回车结束
String str = scanner.nextLine();
if (str.equals("1")) {
// 如果输入的文字是 1
System.out.println("你输入了数字 1 ");
} else if (str.equals("a")) {
// 如果输入的文字是 a
System.out.println("你输入了字符 a ");
} else {
// 如果都不是,则直接输出
System.out.println("你输入了:" + str);
}
scanner.close();
switch
// switch
// 与 if else 类似,所有的结果都是同一个条件的不同反应结果
// switch(判断内容)
// case "条件一",类似 if 语句中 if ((判断内容 == 条件一) == true)
// 如果以上条件成立,则执行冒号后面与下一个 case 之间的代码
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
switch (str){
case "1":
System.out.println("你输入了数字 1 ");
break;
case "a":
System.out.println("你输入了字符 a ");
break;
default:
System.out.println("你输入了:" + str);
break;
}
scanner.close();
while
// 循环操作
// while (判断条件) {
// 循环内容
// }
// 如果判断条件成立,则执行花括号内的代码,直到判断条件不成立
// 创建一个初始值
int i = 0;
// 循环开始前,首先判断,如果 i 小于 3 ,则会循环执行花括号内的代码,i 会一直自增并打印,直到 i 小于 3 不成立,则跳出循环
while (i < 3) {
i ++;
System.out.println(i);
}
// 输出:
// 1
// 2
// 3
dowhile
// 循环操作
// do {
// 循环内容
// } while (判断条件)
// 如果判断条件成立,则执行花括号内的代码,直到判断条件不成立
// 创建一个初始值
int i = 0;
// 先默认执行一次循环体,然后判断是否再次循环,如果 i 小于 3 成立,则再次执行循环体,然后依次判断再循环
do {
i ++;
System.out.println(i);
} while (i < 3);
// 输出:
// 1
// 2
// 3
for
// for 循环语句是支持迭代的一种通用结构,是最有效】最灵活的循环结构
// for 循环执行的次数在执行前有确定了,如下:
// for (初始化; 布尔表达式; 更新) {
// 循环体
// }
for (int i = 0; i < 3; i ++) {
System.out.println(i);
}
// 输出:
// 0
// 1
// 2
// 嵌套使用 for 循环打印 99 乘法表
for (int i = 1; i <= 9; i++) {
for (int l = 1; l <= i; l++) {
// 打印不换行
System.out.print(l + "*" + i + "=" + (l * i) + "\t");
}
// 换行
System.out.println();
}
// 输出:
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 增强 for 循环
// for (声明语句 : 表达式) {
// 循环体
// }
// 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块中,其值与此时数组元素的值相等。
// 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
String[] arr = {"a", "b", "c", "d", "e"};
// 遍历数组的元素
for (String str : arr) {
System.out.println(str);
}
// 输出:
// a
// b
// c
// d
// e
break、continue、goto
// break
// 用于强制退出循环,用于各种循环体
int i = 0;
while (i < 100) {
i++;
System.out.println(i);
if (((Integer) i).equals(3)) {
break;
}
}
// 输出:
// 1
// 2
// 3
// continue
// 用于跳过本次循环当前位置之后到循环体结束之间的代码,直接开始下一次循环
int i = 0;
while (i < 3) {
i++;
if (((Integer) i).equals(2)) {
continue;
}
System.out.println(i);
}
// 输出:
// 1
// 3
// goto
// 它并未在 Java 中得到正式使用,然而在 break 和 continue 这两个关键字的身上,我们仍然能看出一些 goto 的影子,带标签的 break 和 continue 。
// 标签是指后面跟一个冒号的标识符,例如:label 。
// 对 Java 来说,唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于 break 和 continue 关键字通常只中断当前循环,但若是同标签使用,它们就会终端到存在标签的地方。
// 不推荐使用
// 例子
// 打印 101 - 150 之间的质数
// 质数是指在大于 1 的自然数中,除了 1 和它本身意外不再有其他因数的自然数
int count = 0;
outer:
for (int i = 101; i < 150; i++) {
for (int j = 2; j < (i / 2); j++) {
if (((Integer) (i % j)).equals(0)) {
continue outer;
}
}
System.out.print(i + " ");
}
// 输出:101 103 107 109 113 127 131 137 139 149
标签:判断,while,System,dowhile,switch,循环,println,out
From: https://www.cnblogs.com/Struggle-Hard/p/17084440.html