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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章