循环与分支结构
程序员文章站
2022-04-06 11:41:12
...
百知教育学习 - 胡鑫喆 - 循环与分支结构
一、if选择结构与分支结构
-
if
-
语法
if(布尔表达式) {
代码块
} - 在java中if的条件中只能写布尔表达 式,不能写整数表达式。
- 代码
package day3; import java.util.Scanner; public class TestIf{ public static void main(String[] args){ //用户请输入一个整数 System.out.print("请输入一个整数,谢谢:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); if(n % 2 == 0){ System.out.println("偶数"); } } }
-
语法
-
if esle
-
语法
if(布尔表达式){
//代码块1
}else{
//代码块2
}
后续代码… - 代码
package day3; import java.util.Scanner; public class TestIfElse{ public static void main(String[] args){ //用户请输入一个整数 System.out.print("请输入一个整数,谢谢:"); Scanner s = new Scanner(System.in); int a = s.nextInt(); if(n<0){ System.out.println("数据错误") } if(n>=0 && n<=2){ System.out.println("婴儿"); } else if(n<=12){ System.out.println("儿童"); } else if(n<=40){ System.out.println("青年"); } else if(n<=60){ System.out.println("中年"); } else{ System.out.println("老年"); } } }
- 多重if选择结构:
if , else if ,else.
-
语法
- 嵌套if选择结构:
与C语言类似。
二、switch分支结构
-
语法
-
switch(int表达式){
case 值1:代码块1
case 值2:代码块2
default: 代码块
} - 注意:int表达式需自动提升为int类型:可以为byte,short,int,char。 又新增了String类型
- 代码
package day3; public class TestSwitch{ public static void main(String[] args) { System.out.print("请输入一个整数:"); java.util.Scanner s = new java.util.Scanner(System.in); int a = s.nextInt(); switch(a) { case 0: case 1:System.out.println(1);break; case 2:System.out.println(2);break; case 3:System.out.println(3);break; default:System.out.println("Others"); } } }
三、while循环
-
语法
-
while(布尔表达式){
//逻辑代码(循环操作)
} -
代码
package day3; public class TestLoop{ public static void main(String[] args) { int i = 1; int result = 0; while(i <= 100) { result += i; i++; } System.out.println(result); } }
四、do while循环
-
语法
-
do{
//逻辑代码 (循环操作)
}while(布尔表达式); -
代码
package day3; public class TestLoop{ public static void main(String[] args) { int i = 1; int result = 0; do { result += i; i++; }while(i<=100); System.out.println(result); } }
五、for循环
-
语法
-
for(初始部分;循环条件;迭代部分){
//循环操作
}
-
for(初始部分;循环条件;迭代部分){
-
注意:
- 先执行初始部分——循环中只执行一次;再判断条件是否满足;若满足, 执行循环操作;最后执行迭代部分。
- 不写循环条件时:默认为true,为死循环。
- while, do while 不确定循环; for 确定循环 —— 不知道或知道循环次数
-
代码
package day3; public class TestLoop{ public static void main(String[] args){ int result = 0; for(int i = 1; i <= 100; i++){ result += i; } System.out.println(result); } }
六、continue、break
-
语法:
-
loop: for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//循环操作
break loop;
}
} - 可以在for 循环 前面 起名 字(java特有),以方便for循环中continue 和 break 使用
-
loop: for(int i=0;i<10;i++){
-
代码
package day3; public class TestBreakContinue{ public static void main(String[] args) { /* for(int i = 1 ; i <= 10 ; i++) { if (i == 9) continue; System.out.println("Hello World "+i); }*/ loop:for(int i = 1; i <= 5; i++) { for(int j = 1; j <=4; j++) { if(i == 4 && j == 3) break loop; System.out.print("i="+i+" j="+j+"\t"); } System.out.println(); } } }
七、局部变量
八、循环的思想方法
- 代码
package day3; public class Exc1{ public static void main(String[] args) { for(int a = 0; a <= 33; a++) { // a表示公鸡的数量 int maxb = (100-3*a)/2; for(int b = 0; b <= maxb; b++) { // b表示母鸡的数量 int c = 100 - a - b; // c表示小鸡的数量 if(c % 3 != 0) continue; int m = a * 3 + b * 2 + c / 3; if(m == 100) System.out.println(a + " " + b + " " + c); } } } }
八、输出几何形状
-
先找出规律,再写代码
-
代码:输出等腰三角形
package day3; import java.util.*; public class Exc2{ public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); for(int i = 1; i <= n; i++) { //打印n-1个空格 for(int j = 0; j < n-i; j++) { System.out.print(' '); } //打印2*i-1个* for(int j = 0; j < 2*i-1; j++) { System.out.print('*'); } //换行 System.out.println(); } } }
上一篇: 分支循环结构
下一篇: 【C++】循环与分支练习题