JAVA流程控制 循環結構

Java迭代語句 (循環)

這裏寫圖片描述

循環的作用是反覆執行一段代碼,直到不滿足條件爲止。循環語句一般分爲一下四個部分:

  • 初始化部分
  • 循環條件
  • 循環體
  • 迭代部分
    這裏寫圖片描述

while循環

   while(條件)
       {
         循環體
       }

do while循環

    do {
       循環體
    } while(條件);

for循環

for (初始化部分;循環條件;迭代部分){
    循環體;
    }
  • do-while最少會被執行一次。
  • 循環中可以使用continue結束當前循環,回到循環開始處開始下一次循環。也可以用break跳出整個循環。
  • for語句內聲明的變量的作用域爲當前for語句,不能在for語句以外的地方使用它
  • for循環在初始化部分和迭代部分可以使用逗號語句。
  • for循環先執行初始化部分,然後判斷循環條件,再執行循環體。 一般用於固定次數的循環。

    //反轉數組元素
    pubilic int[] inverse(int[] oldArray){
    int [] newArray = new int[oldArray.length];
    for (int i=0, j=oldArray.length-1; i

增強的for循環的語法是:

               for(declaration : expression) {
                         //Statements
                    }



declaration聲明: 新聲明塊變量,這是一種與正在訪問數組中的元素兼容的。變量將是可利用的塊內並且它的值將是相同的作爲當前的數組元素。

expression表達: 這個計算結果完成需要循環數組。表達式可以是一個數組變量或方法調用返回一個數組。

####無限循環的寫法
for(;;){
// 代碼
}

流程跳轉語句

  • break 退出本層循環

  • continue 跳出本次循環或者說進入下一輪循環

  • return 結束當前方法

import java.util.ArrayList;
import java.util.Random;
/**
* @JAVA04.test.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 上午8:48:19
* 
*/
public class test {

    public static void main(String[] args) throws InterruptedException {
      ArrayList<Integer> arr =new ArrayList<Integer>();
      for(int i=1;i<=9;i++){       //普通循環
       arr.add(new Random().nextInt(99));
      }  
      System.out.println(arr);
        for(int x:arr){            //增強型for循環
            System.out.println(x);
        }
     }
}
/**
* @JAVA04.for100sum.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:59:19
* 實現1到100的和兩頭相加進行計算
* (1+100)+(2+99)+(3+98)+... ...+ (50+51)
*/
public class for100sum {

    public static void main(String[] args) {
         int x = 0;
         for(int i=1,j=100;i<=50;i++,j--){
             x+=(i+j);
             System.out.println(i+"+"+j+"="+x);
         }
         System.out.println(x);
    }
}
import java.util.Scanner;
/**
* @JAVA04.formul.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口訣
* 要求 輸入  1-9 之間的數字 打印出對應的算式。
*/

public class formul {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        System.out.println("請輸入1-9之間的數字");
        Scanner in =new Scanner(System.in);
        int x = in.nextInt();
        for(int i=1;i<=9;i++ ){
            System.out.println(i +"*"+x+"="+i*x);
        }
    }
}
import java.util.Scanner;

/**
* @JAVA04.forimi.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:47:50
* 模擬輸入密碼三次錯誤,退出系統 吞卡。
* 正確密碼(任意數字)
*/
public class forimi {

    @SuppressWarnings({ "resource", "unused" })
    public static void main(String[] args) {
        int x = 0;
        Scanner in = new Scanner(System.in);
        for(int i=1;i<=3;i++){
            if(in.nextInt() == 999 ){

                showmain();
                break;
            }else{
                x++;
                System.out.println("密碼錯誤");
            }
        }System.out.println("您的賬戶被鎖定");

    }
    private static void showmain() {    
        System.out.println("登陸成功");
    }
}
/**
* @JAVA04.for100sum.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:43:08
* 計算1-100 之間,7 的倍數 之和
*/
public class for7sum {

    public static void main(String[] args) {
        int x = 0;
        for(int i=1;i<=100;i++){
             if(i%7==0){
                 x+=i;
             }
        }
        System.out.println("1-100 之間7的倍數之和爲:"+x);
    }
}
/**
* @JAVA04.forinterval.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:33:40
* 計算1997年1月1日到2017年1月1日相距多少天。(注意閏年)
* (year%4 ==0 && year%100!=0 ) II (year%400 ==0)
*
*/
public class forinterval {

    public static void main(String[] args) {
         int x = 0;
         for(int i=1997;i<=2017;i++){
             if((i%4 ==0 && i%100!=0 )||(year%400 ==0)){
                 x++;
             }
         }
         System.out.println((2017-1997)*365+x);
    }
}
/**
* @JAVA04.formul.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口訣
* 要求 輸入  1-9 之間的數字 打印出對應的算式。
*/
public class formul {

    public static void main(String[] args) {

        for(int i=1;i<=9;i++ ){
                for(int j=1;j<=i;j++)
                System.out.print(j +"*"+i+"="+i*j+"\t");
                System.out.print("\n");         
       }
    }
}
package Endless;

import java.util.Random;
import java.util.Scanner;

/**
* @JAVA05.fingergame.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 下午12:36:59
* 猜拳石頭剪刀布
*/
public class fingergame {

    public static void main(String[] args) {
        System.out.println("\t猜拳遊戲\n");
             start();
    }
    @SuppressWarnings("resource")
    public static void start(){

        Scanner in = new Scanner(System.in);
        Random n= new Random();
        try {
        do{
            System.out.println("請選擇:1,石頭\t2,剪刀\t3,布");  
            int z =in.nextInt(); 
            int x =n.nextInt(3)+1;
             if(z==1||z==2||z==3){
                System.out.println("你出"+s(z)+"\t電腦出"+s(x));
                 if (z==1&&x==2||z==2&&x==3||z==3&&x==1) {
                    System.out.println("你贏了!");
                 }else if (z==0) {
                     System.out.println("已退出");
                     System.exit(0); 
                 }else if (z==x) {
                     System.out.println("平局!");

                 }else{
                    System.out.println("你輸了!");
                 }System.out.println("輸入0退出");  
             }
             else{
                 System.out.println("請重新選擇");
                 continue;
             }
        }while(true);
    } catch (Exception e) {
         System.out.println("請輸入數字");
         start();
    }
    }
    public static String s(int x){
        String str = null;
        if(x==1){
            str = "石頭";
        }else if (x==2) {
            str = "剪刀"; 
        }else if (x==3) {
            str = "布";
        }
        return str;
    }
}
package Endless;

import java.util.Scanner;

/**
* @JAVA05.jiapio.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 下午12:06:52
* 機場訂票 1-12 月 系統
* 鄭州-漢城  機票 5000  
* 4-10月 爲旺季  頭等艙0.9 經濟艙0.6
* 其它月 爲淡季  頭等艙0.5 經濟艙0.3  
* 輸入T  退出系統    
*/
public class jiapio {
      @SuppressWarnings("resource")
    public static void main(String []args){
          System.out.println("鄭州-漢城機票查詢系統");
          System.out.println("當前月份爲:");
          Scanner in = new Scanner(System.in);
          try {
          do{
              String n = in.next();
              if (n.equals("t")){
                    System.exit(0); 
                    System.out.println("已退出");
              }else{
                  switch (Integer.parseInt(n)) {
                case  4:
                case  5:
                case  6:
                case  7:
                case  8:
                case  9:
                case  10:
                    System.out.println("當前爲旺季\n頭等艙票價:"+5000*0.9+"\t經濟艙票價:"+5000*0.6);
                    break;
                case 1:
                case 2:
                case 3:
                case 11:
                case 12: 
                    System.out.println("當前爲旺季\n頭等艙票價:"+5000*0.5+"\t經濟艙票價:"+5000*0.3);
                    break;
                default:
                    System.out.println("請輸入1-12");
                    break;
                }
              }
          }while(true);
          } catch (Exception e) {
            System.out.println("請輸入數字");
            main(null);
        }
      }
  }
發佈了39 篇原創文章 · 獲贊 34 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章