流程控制之循环语句
循環語句
for循環
格式:
? for(初始化語句;條件判斷語句;條件控制語句){
? 循環體語句;
? }
執行流程:
-
執行初始化語句
-
執行條件判斷語句,看起結果式true還是false
? 如果是false,循環結束
? 如果式true,繼續執行
-
執行循環體語句
-
執行條件控制語句
-
回到 第二步 繼續判斷
在控制臺輸出15和51的數據
public static void main(String[] args) {for (int i = 1; i <= 5; i++) {System.out.println("i="+i);}for (int j =5; j >0 ; j--) {System.out.println("j="+j);}}求偶數和
求1~100之間的偶數和,并把結果輸出
int sum=0;for (int i = 1; i <= 100; i++) {if(i%2==0){sum+=i;}}System.out.println("1~100之間的偶數和為:"+sum);/*1~100之間的偶數和為:2550*/水仙花數
統計水仙花數一共有多少個并在控制臺輸出所有水仙花數
int sum=0;for (int i = 100; i <1000 ; i++) {int g=i%10;int s=i/10%10;int b=i/100;if(g*g*g+s*s*s+b*b*b==i){sum++;System.out.println(i);}}System.out.println(sum);/* 153 370 371 407 4 */打印三角形
public static void main(String[] args) {int k=20;for (int i = 1; i <15 ; i+=2) {for (int j = --k; j >=0; j--) {System.out.print(" ");}for (int m = 1; m <=i ; m++) {System.out.print("*");}System.out.println();} }for…in
public static void main(String[] args) {//for in foreach 循環集合 數組int[] nums={10,20,30};for(int i : Arrays.asList(1,2,3,4,5,6).stream().toList()){System.out.println(i);}for(int i : Stream.of(1,2,3).toList()){System.out.println(i);}for(int am : nums){System.out.println(am);//break; 可以使用break 跳出循環}for(String s :new String[]{"java","C","php","python"}){System.out.println(s);}//把字符串轉為數組for(char c : "javaScript".toCharArray()){System.out.println(c);}//獲取版本信息/*for (String value : System.getenv().values()){System.out.println(value);}*/} public static void main(String[] args) {String ns = "小張,張三,王二,小明";//根據” , “把字符串分割為數組for (String s : ns.split(",")) {System.out.println(s);}System.out.println("-----------------");String[] nn = ns.split(",");Random rand = new Random();System.out.println(nn[rand.nextInt(nn.length)]);String na;na = nn[rand.nextInt(nn.length)];System.out.println(na);}while循環
格式: 初始化語句;
? while(條件判斷語句){ while(條件判斷語句){
? 循環體語句; 循環體語句;
? } 條件控制語句;
? }
執行流程:
-
執行初始化語句
-
執行條件判斷語句,看起結果式true還是false
? 如果是false,循環結束
? 如果式true,繼續執行
-
執行循環體語句
-
執行條件控制語句
-
回到 第二步 繼續判斷
案例:珠穆朗瑪峰
需求:世界最高峰珠穆朗瑪峰(8844.43米=8844430毫米),假如有一張足夠大的紙,它的厚度0.1毫米,請問折疊多少次,可以折成珠穆朗瑪峰的高度?
public static void main(String[] args) {double j=0.1;int sum=0;while(j<=8844430){j=j*2;sum++;}System.out.println("需要折疊:"+sum+"次");}// 27do…while循環
格式:
? 初始化語句;
? do{
? 循環體語句;
? 條件控制語句;
? }while(條件判斷語句);
執行流程:
-
執行初始化語句
-
執行循環體語句
-
執行條件控制語句
-
執行條件判斷語句,看起結果式true還是false
? 如果是false,循環結束
? 如果式true,繼續執行
-
回到 第二步 繼續判斷
三種循環的區別
- for循環和while循環先判斷條件是否成立,然后決定是否執行循環體(先判斷后執行)
- do…while循環先執行一次循環體,然后判斷條件是否成立,是否繼續執行循環體(先執行后判斷)
for和while的區別
- 條件控制語句所控制的自增變量,因歸屬for循環的語法結構中,for循環結束后,就不能再次被訪問到了
- 條件控制語句所控制的自增變量,對于while循環來說不歸屬其語法結構中,在while循環結束后,該變量還可以繼續使用
死循環格式
for(;;){}
while(true){}
do{}while(true);
while的死循環格式是最常用的
命令提示符窗口中Ctrl+C可以結束死循環
跳轉控制語句
- continue 用于循環中,基于條件控制,跳過某次循環體內部的執行,繼續下一次的執行
- break 用在循環中,基于條件控制,終止循環體內容的執行,也就是說結束當前整個循環
化語句
總結
- 上一篇: 博客营销?软文营销?怎么按照流程走?
- 下一篇: while 和 do while