java學習第6天---6.1---控制結構

java學習第6天---6.1---控制結構


目錄




內容

1、分支

1.1、if-else

  • 格式

      if(條件語句1) {
      	...
      }else if(條件語句2) {
      	...
      }else if(條件語句3) {
      	...
      }...{
      }else {
      	...
      }
    
  • 解析:

    • if else 成對出現,有else 必須有if ,但是有if 可以沒有else

        if(...) {}是成立的
      
    • 自上向下執行,一旦某一個條件,成立,執行對應的代碼塊,不在執行其他判斷

    • 對於範圍判斷規則:即分段函數

      • 以小於某個數判斷,判斷數由小到大

      • 以大於某個數判斷,判斷數由大到小

      • 示例1.1-1:score(分數) < 60 不及格, 60 <= score < 80 良好, 80 <= score < 100 優秀

      • 代碼1.1-1:

         if(score < 60) {
         	System.out.println("不及格");
         }else if(score < 80) {
         	System.out.println("良好");
         }else {
         	System.out.println("優秀");
         }
         或者:
         if(score >= 80) {
         	System.out.println("優秀");
         }else if(score >= 60) {
         	System.out.println("良好");
         }else {
         	System.out.println("不及格");
         }
        
  • 總結

    1. {}內只有一條語句的時候,{}可以省略
    2. {} 內爲一條return 語句的時候,else 可以省略
    3. 如果返回值爲布爾值,不需要跟true 或者false 做比較

1.2、switch-case

  • 結構:

      switch(變量){
      	case 值1:
      		語句1;
      		break;
      	case 值2:
      		語句2;
      		break;
      	...
      	case 值N:
      		語句N;
      		break;
      	default:
      		語句
      		break;
      }
    
  • 解析:

    • 變量取值類型:

      • jdk1.0 - int short byte
      • jdk5.0:增加 枚舉類型
      • jdk7.0:增加String類型
    • 自上向下匹配,一旦匹配成功,結束分支結構

    • 如果不加break 那麼,從匹配成功開始執行語句,直到break或者分支結束

  • 示例1.2-1:星期一到星期天時間表

    • 1:逛街
    • 2:看電影
    • 3:開例會
    • 4:看電影
    • 5:逛街
    • 6:開例會
    • 7:逛街
  • 代碼1.2-1:

      public class SwitchTest1{
      	public static void main(String[] args){
    
      		int day = 2;
      		System.out.println( "星期" + day + shedule(day));
      	}
    
      	public static String shedule(int week) {
    
      		String str;
      		switch(week){
      			case 1:
      			case 5:
      			case 7:
      				str = "逛街";
      				break;
      			case 2:
      			case 4:
      				str = "看電影";
      				break;
      			case 3:
      			case 6:
      				str = "開例會";
      				break;
      			default:
      				str = "輸入錯誤,正確格式:星期(1-7)";
      				break;
      		}
    
      		return str;
      	}
      }
    

2、循環

2.1、for循環

  • 格式:

      for(初始值; 循環條件; 自變量) {循環體}
    

2.2、while循環

  • 格式:

      while(循環條件) {...}
    

2.3、do while 循環

  • 格式

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

2.4、continue 和 break

  • continue:結束本次循環,不結束循環
  • break:結束循環,跳出循環

2.5、小案例:

  • 案例2.5-1:打印1-100之間所有的質數

      public class TestLoop5 {
      	public static void main(String[] args) {
    
      		// 打印1-100之間所以的質數
      		System.out.println("2是質數");
    
      		for(int i = 3; i <= 100; i += 2) {
      			boolean flag = true;
      			for(int j = 3; j <= (int)Math.sqrt(i); j += 2) {
      				if( i % j == 0) {
      					flag = false;
      					break;
      				}
    
      			}
      			if(flag) System.out.println(i + "是質數");
      		}
      	}
      }
      測試結果:
      2是質數
      3是質數
      5是質數
      7是質數
      11是質數
      13是質數
      17是質數
      19是質數
      23是質數
      29是質數
      31是質數
      37是質數
      41是質數
      43是質數
      47是質數
      53是質數
      59是質數
      61是質數
      67是質數
      71是質數
      73是質數
      79是質數
      83是質數
      89是質數
      97是質數
    
  • 案例2.5-2:小明上6個月班,每個月30天。1)3月20號請假,4月1號上班 2)3月3號辭職了

      public class TestLoop4 {
      public static void main(String[] args) {
    
    
      	a: for(int i = 0; i < 5; i++){
      		for(int j = 0; j < 30   ; j++){
      			//if(i == 2 && j == 2) break a;
      			if(i == 2 && j == 19) break;
      			if((j+1) % 6 == 0) continue;
      			System.out.println("第" + (i+1) + "個月第"+ (j+1) + "天需要上班");
      		}
    
      	}
      }
      }
      測試結果:
      第1個月第1天需要上班
      第1個月第2天需要上班
      第1個月第3天需要上班
      第1個月第4天需要上班
      第1個月第5天需要上班
      第1個月第7天需要上班
      第1個月第8天需要上班
      第1個月第9天需要上班
      第1個月第10天需要上班
      第1個月第11天需要上班
      第1個月第13天需要上班
      第1個月第14天需要上班
      第1個月第15天需要上班
      第1個月第16天需要上班
      第1個月第17天需要上班
      第1個月第19天需要上班
      第1個月第20天需要上班
      第1個月第21天需要上班
      第1個月第22天需要上班
      第1個月第23天需要上班
      第1個月第25天需要上班
      第1個月第26天需要上班
      第1個月第27天需要上班
      第1個月第28天需要上班
      第1個月第29天需要上班
      第2個月第1天需要上班
      第2個月第2天需要上班
      第2個月第3天需要上班
      第2個月第4天需要上班
      第2個月第5天需要上班
      第2個月第7天需要上班
      第2個月第8天需要上班
      第2個月第9天需要上班
      第2個月第10天需要上班
      第2個月第11天需要上班
      第2個月第13天需要上班
      第2個月第14天需要上班
      第2個月第15天需要上班
      第2個月第16天需要上班
      第2個月第17天需要上班
      第2個月第19天需要上班
      第2個月第20天需要上班
      第2個月第21天需要上班
      第2個月第22天需要上班
      第2個月第23天需要上班
      第2個月第25天需要上班
      第2個月第26天需要上班
      第2個月第27天需要上班
      第2個月第28天需要上班
      第2個月第29天需要上班
      第3個月第1天需要上班
      第3個月第2天需要上班
      第3個月第3天需要上班
      第3個月第4天需要上班
      第3個月第5天需要上班
      第3個月第7天需要上班
      第3個月第8天需要上班
      第3個月第9天需要上班
      第3個月第10天需要上班
      第3個月第11天需要上班
      第3個月第13天需要上班
      第3個月第14天需要上班
      第3個月第15天需要上班
      第3個月第16天需要上班
      第3個月第17天需要上班
      第3個月第19天需要上班
      第4個月第1天需要上班
      第4個月第2天需要上班
      第4個月第3天需要上班
      第4個月第4天需要上班
      第4個月第5天需要上班
      第4個月第7天需要上班
      第4個月第8天需要上班
      第4個月第9天需要上班
      第4個月第10天需要上班
      第4個月第11天需要上班
      第4個月第13天需要上班
      第4個月第14天需要上班
      第4個月第15天需要上班
      第4個月第16天需要上班
      第4個月第17天需要上班
      第4個月第19天需要上班
      第4個月第20天需要上班
      第4個月第21天需要上班
      第4個月第22天需要上班
      第4個月第23天需要上班
      第4個月第25天需要上班
      第4個月第26天需要上班
      第4個月第27天需要上班
      第4個月第28天需要上班
      第4個月第29天需要上班
      第5個月第1天需要上班
      第5個月第2天需要上班
      第5個月第3天需要上班
      第5個月第4天需要上班
      第5個月第5天需要上班
      第5個月第7天需要上班
      第5個月第8天需要上班
      第5個月第9天需要上班
      第5個月第10天需要上班
      第5個月第11天需要上班
      第5個月第13天需要上班
      第5個月第14天需要上班
      第5個月第15天需要上班
      第5個月第16天需要上班
      第5個月第17天需要上班
      第5個月第19天需要上班
      第5個月第20天需要上班
      第5個月第21天需要上班
      第5個月第22天需要上班
      第5個月第23天需要上班
      第5個月第25天需要上班
      第5個月第26天需要上班
      第5個月第27天需要上班
      第5個月第28天需要上班
      第5個月第29天需要上班
      
      public class TestLoop4 {
      	public static void main(String[] args) {
    
    
      		a: for(int i = 0; i < 5; i++){
      			for(int j = 0; j < 30   ; j++){
      				if(i == 2 && j == 2) break a;
      				//if(i == 2 && j == 19) break;
      				if((j+1) % 6 == 0) continue;
      				System.out.println("第" + (i+1) + "個月第"+ (j+1) + "天需要上班");
      			}
    
      		}
      	}
      }
      測試結果:
      第1個月第1天需要上班
      第1個月第2天需要上班
      第1個月第3天需要上班
      第1個月第4天需要上班
      第1個月第5天需要上班
      第1個月第7天需要上班
      第1個月第8天需要上班
      第1個月第9天需要上班
      第1個月第10天需要上班
      第1個月第11天需要上班
      第1個月第13天需要上班
      第1個月第14天需要上班
      第1個月第15天需要上班
      第1個月第16天需要上班
      第1個月第17天需要上班
      第1個月第19天需要上班
      第1個月第20天需要上班
      第1個月第21天需要上班
      第1個月第22天需要上班
      第1個月第23天需要上班
      第1個月第25天需要上班
      第1個月第26天需要上班
      第1個月第27天需要上班
      第1個月第28天需要上班
      第1個月第29天需要上班
      第2個月第1天需要上班
      第2個月第2天需要上班
      第2個月第3天需要上班
      第2個月第4天需要上班
      第2個月第5天需要上班
      第2個月第7天需要上班
      第2個月第8天需要上班
      第2個月第9天需要上班
      第2個月第10天需要上班
      第2個月第11天需要上班
      第2個月第13天需要上班
      第2個月第14天需要上班
      第2個月第15天需要上班
      第2個月第16天需要上班
      第2個月第17天需要上班
      第2個月第19天需要上班
      第2個月第20天需要上班
      第2個月第21天需要上班
      第2個月第22天需要上班
      第2個月第23天需要上班
      第2個月第25天需要上班
      第2個月第26天需要上班
      第2個月第27天需要上班
      第2個月第28天需要上班
      第2個月第29天需要上班
      第3個月第1天需要上班
      第3個月第2天需要上班
    
  • 案例2.5-3:求大於等於x 的最小的2的N次方

      public class ForTest3 {
      	public static void main(String[] args) {
      		getValue(333);
      	}
    
      	// 求大於等於x的最小2的N次方數
      	public static void getValue(int x) {
      		int n =1;
    
    
      		while( n < x ) {
      			n <<= 1;
    
    
      		}
    
      		System.out.println( n);
    
      	}
      }
      測試結果:
      512
    

後記

本項目爲參考某馬視頻開發,相關視頻及配套資料可自行度娘或者聯繫本人。上面爲自己編寫的開發文檔,持續更新。歡迎交流,本人QQ:806797785

前端項目源代碼地址:https://gitee.com/gaogzhen/vue-leyou
後端JAVA源代碼地址:https://gitee.com/gaogzhen/JAVA
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章