java复习第二天 -流程控制语句

java SE复习第二天

  • 每天复习半小时,相信日积月累的力量
  • 声明:本类型文章用于快速复习,不适合初学者观看,请见谅,如有问题请在评论区指出。



1.判断语句

1.1 判断语句if

 public static void main(String[] args) {
      String a = "男";
      if (a.equals("男")){
          System.out.println("我是男生");
      }
  }
  • 说明:equals用于判断字符内容,==判断的是内存地址,刚学习的小伙伴请注意一下。

1.2 判断语句 if…else

public static void main(String[] args) {
  	 String a = "女";
     if (a.equals("男")){
         System.out.println("我是男生");
     }else {
         System.out.println("我是女生");
     }
 }

1.3 判断语句 if…else嵌套

  public static void main(String[] args) {
     int x = 5;
     int y ;
     if (x>3){
         y = x *3;
     }else if (x<3){
         y = x + 3;
     }else {
         y = x - 3;
     }
 }

1.4 if语句和三元运算符互换

public static void main(String[] args) {
     int x = 1;

     if (x == 1){
         System.out.println("我是男生");
     }else {
         System.out.println("我是女生");
     }

     System.out.println(x == 1 ? "我是男生" : "我是女生");
 }






2.选择语句

2.1 选择语句–switch

 public static void main(String[] args){
     int day = 6;
     switch (day){
         case 1:
             System.out.println("星期一");
             break;
         case 2:
             System.out.println("星期二");
             break;
         case 3:
             System.out.println("星期三");
             break;
         case 4:
             System.out.println("星期四");
             break;
         case 5:
             System.out.println("星期五");
             break;
         case 6:
             System.out.println("星期六");
             break;
         case 0:
             System.out.println("星期日");
             break;
         default:
             System.out.println("输入有误");
     }
 }

2.2 case的穿透性

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。




3.循环语句

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。

3.1 循环语句 for

  • 格式:
for(初始化表达式①; 布尔表达式②; 步进表达式④){ 
	循环体③ 
}

for循环执行流程

  • 执行流程
    • 执行顺序:①②③④>②③④>②③④…②不满足为止。
    • ①负责完成循环变量初始化
    • ②负责判断是否满足循环条件,不满足则跳出循环
    • ③具体执行的语句
    • ④循环后,循环条件所涉及变量的变化情况

分别输出5次 helloWorld 进行对比,发现代码量减少许多,并且程序的可读性大大提高,减少代码冗余

 public static void main(String[] args) {
      System.out.println("helloWorld");
      System.out.println("helloWorld");
      System.out.println("helloWorld");
      System.out.println("helloWorld");
      System.out.println("helloWorld");

      System.out.println("--------------------");
      for(int i=0;i<5;i++){
          System.out.println("helloWorld");
      }
  }

循环练习:使用循环,计算1-100之间的偶数和

public static void main(String[] args) {
   int sum = 0;//统计和
     for (int i = 1;i<=100;i++){
         if (i%2==0){
             sum+=i;
             //System.out.print(i + " ");//验证输出的是否是偶数
         }
     }
     System.out.println(sum);
 }

3.2 for循环练习题

  1. 判断101-200之间有多少个素数,并输出所有素数。(素数:只能被1或自身整除)
   public static void main(String[] args) {
       int sum = 0;//统计素数个数
       for (int i=101;i<=200;i++){
           boolean flag = true;//默认为真
           for (int j=2;j<i;j++){
               if (i%j==0){
                   flag = false;//如果为假则说明当前i不为素数
               }
           }
           if (flag){
               System.out.print(i+" ");
               sum++;
           }
       }
       System.out.println();
       System.out.println("素数的个数为: "+sum);
   }
  1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
    程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
 public static void main(String[] args) {
     for (int i = 100; i < 999; i++) {
         int a = i/100;//百位
         int b = (i - a*100)/10;//十位
         int c = i%10;//百位
         if ( i == a*a*a + b*b*b + c*c*c){
             System.out.println(i);
         }
     }
 }

注:答案不唯一,仅提供一种解决思路。


3.3 循环语句 while

格式:

初始化表达式① 
while(布尔表达式②){ 
	循环体③ 步进表达式④ 
}

while语句执行流程

  • 执行流程
    • 执行顺序:①②③④>②③④>②③④…②不满足为止。
    • ①负责完成循环变量初始化。
    • ②负责判断是否满足循环条件,不满足则跳出循环。
    • ③具体执行的语句。
    • ④循环后,循环变量的变化情况。

while循环输出10次HelloWorld

  public static void main(String[] args) {
      int i = 0;
      while (i<10){
          System.out.println("HelloWorld "+i);
          i++;
      }
  }

while循环计算1-100之间的和

 public static void main(String[] args) {
     int sum = 0;//统计和
     int i = 1;//循环次数
     while (i<=100){
         sum+=i;
         i++;
     }
     System.out.println(sum);
 }

3.4 do…while

格式:
do...while执行流程

初始化表达式① 
	do{ 
		循环体③ 
		步进表达式④ 
}while(布尔表达式②);

特点: do…while循环的特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的 循环具有一定的风险性,因此初学者不建议使用do…while循环。

例:输出10次HelloWorld

  public static void main(String[] args) {
      int i = 0;
      do{
          System.out.println("HelloWorld " + i);
          i++;
      }while (i<10);
  }

3.5 循环语句的区别

forwhile的小区别:
控制条件语句所控制的变量,也就是在for循环条件声明的变量,在for循环结束后,就不能再被访问到了。而while循环结束还可以继续使用,如果想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

3.6 跳出语句

break:终止switch或者循环
continue:结束本次循环,继续下一次的循环

4.循环扩展

4.1死循环

也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。

4.2 嵌套循环

习题练习:打印三角形等……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值