1.默认顺序执行2.分支控制
if elseswitch case 3.循环
whiledo whilefor iforeach 4.多层循环与主动退出(return、break、contuinue)
循环代码使用 continue使用 break使用 return 《上一篇:比较、运算、位运算》《练习题:输出一个菱形》《目录:Java渐进式学习》《幕》
1.默认顺序执行代码逻辑,默认从入口函数进入,从上到下依次执行,然后程序退出
public static void main(String[] args) {
// 默认从上到下执行
// hello
// whats your name
// 999
//
int a = 999;
hello();
whatsYourName();
System.out.println(a);
}
public static void hello() {
System.out.println(" hello ");
}
public static void whatsYourName() {
System.out.println(" whats your name");
}
2.分支控制
if else
通过判断后,指定对应逻辑区域(如果、否则、否则…)if else ,经过判断逻辑后,只会进入其中某一块代码区域
if(){} else{}
if(){} else if(){} else{}
形式1:单一判断,if else
形式2:多层判断,最终流到 else 逻辑
形式3:多层判断,没有流到 else 逻辑
public static void main(String[] args) {
int a = 999;
//if else ,经过判断逻辑后,只会进入其中某一块代码区域
// 形式1:单一判断,if else
// a > 10
if (a < 10) {
System.out.println("a < 10");
} else {
System.out.println("a > 10");
}
//形式2:多层判断,最终流到 else 逻辑
// ~全部不满足~
if (a < 10) {
System.out.println("a < 10");
} else if (a < 50) {
System.out.println("a < 50");
} else {
System.out.println("~全部不满足~");
}
//形式3:多层判断,没有流到 else 逻辑
// a < 100000
if (a < 10) {
System.out.println("a < 10");
} else if (a < 100) {
System.out.println("a < 100");
} else if (a < 100000) {
System.out.println("a < 100000");
} else {
System.out.println("~全部不满足~");
}
}
switch case
语法
switch(表达式){ case {$值}:{$逻辑代码}; break; case {$值}:{$逻辑代码}; break; default:{$逻辑代码}; break; }switch(表达式)中表达式的值必须是(byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);)case中的值必须是常量,不能是变量名或不确定的表达式值;同一个switch语句,case中的常量值互不相同;break用来在执行完一个case后跳出switch语句块;没有break,自己试一下;default子句是选的。没匹配的case时执行default
public static void main(String[] args) {
int a = 50;
switch (a) {
case 50:
System.out.println(50);//执行此处结束
break;
case 100:
System.out.println(100);
break;
default:
System.out.println("~没找到对应数字~");
break;
}
String b = "王";
switch (b) {
case "赵":
System.out.println(50);
break;
case "钱":
System.out.println(100);
break;
case "孙":
System.out.println(100);
break;
default:
System.out.println("~没找到对应姓氏~");//执行此处结束
break;
}
}
3.循环
while
语法:while({$条件}) { {$逻辑代码} }通过判断条件,存在 死循环与非死循环
死循环:程序无法退出,只能等待程序崩溃
非死循环:程序通过 判断你条件退出;或者通过break退出;
public static void main(String[] args) {
//非死循环,退出条件为 :a等于0
int a = 10;
while (a != 0) {
a = a - 1;
System.out.println("1----" + a);
}
//非死循环,退出条件为 :a>100
while (true) {
a = a + 1;
System.out.println("2----" + a);
if (a > 100) {
break;
}
}
//死循环
while (true) {
System.out.println("死循环:" + a);
}
}
do while
语法:do{ {$逻辑代码} } while( {$循环条件} )与while一样,只不过,先执行代码,后判断条件
public static void main(String[] args) {
//非死循环,退出条件为 :a等于0
int a = 10;
do {
a = a - 1;
System.out.println("1----" + a);
}
while (a != 0);
//非死循环,退出条件为 :a>100
do {
a = a + 1;
System.out.println("2----" + a);
if (a > 100) {
break;
}
} while (true);
//死循环
do {
System.out.println("死循环:" + a);
} while (true);
}
for i
语法 for(初始化条件;循环判断条件;循环结束后执行逻辑) { 循环体(逻辑代码)}仍然存在死循环情况(偶尔人为脑残~)
public static void main(String[] args) {
//非死循环,退出条件为 :i小于10
for (int i = 0; i < 10; i++) {
System.out.println("非死循环----" + i);
}
//死循环,退出条件为 !=0;无法退出
for (int i = 0; i != -1; i++) {
System.out.println("死循环----" + i);
}
}
foreach
语法:for ( 对象 : 集合) { }JDK1.5+提供的便捷遍历集合的语法
public static void main(String[] args) {
int a[] = new int[]{1, 2, 3, 4, 5, 6};
for (int o : a) {
System.out.println(o);
}
}
4.多层循环与主动退出(return、break、contuinue)
循环代码return; 退出当前方法,跟循环没关系,退出的是方法break; 退出当前 {} 循环 (退出一层大括号)continue; 结束本次循环,跟大括号没关系
注意输出结果
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
}
使用 continue
continue; 结束本次循环,跟大括号没关系注意对比输出结果
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
if (i == 0) {
continue;
}
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
if (j == 10) {
continue;
}
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
if (k == 20) {
continue;
}
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
}
使用 break
break; 退出当前 {} 循环 (退出一层大括号)注意对比输出结果
public static void main(String[] args) {
System.out.println("---------------------------------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
if (i == 0) {
break;
}
for (int j = 10; j < 12; j++) {
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("---------------------------------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
if (j == 10) {
break;
}
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("----------------------------------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
if (k == 20) {
break;
}
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("----------------------------------------------------------------------");
}
使用 return
return; 退出当前方法,跟本次循环没关系,跟 {} 循环也没关系,退出的是当前执行的方法注意对比输出结果
public static void main(String[] args) {
System.out.println("------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
if (i == 0) {
return;
}
for (int j = 10; j < 12; j++) {
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
if (j == 10) {
return;
}
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("------------------------------------------");
for (int i = 0; i < 2; i++) {
System.out.println("i=" + i);
for (int j = 10; j < 12; j++) {
System.out.println("i=" + i + " ; j=" + j);
for (int k = 20; k < 22; k++) {
if (k == 20) {
return;
}
System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);
}
}
}
System.out.println("------------------------------------------");
}
《上一篇:比较、运算、位运算》
《练习题:输出一个菱形》点击跳转
《目录:Java渐进式学习》点击跳转
《幕》点击跳转
留白 —<老吉> ~ 今 ~ ❀ ~ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀



