欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java分支执行结构以及循环结构

程序员文章站 2022-06-26 08:02:37
...

1、分支结构

 if条件语句  (主要是四种格式)
  •     if(条件语句){…} 
    
  •     if (条件语句){…}else{…} 
    
  •     if (条件语句){…}else if(条件语句){…} 
    
  •    if (条件语句){…}else if(条件语句){…}else{…}
    
 switch语句有关规则
  •   表达式的返回值必须是下述几种类型之一:int, byte, char, short,String; 
    
  •   case 子句中的取值必须是常量,且所有 case 子句中的取值应是不同的; 
    
  •   default 子句是可选的; 
    
  • break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果 case 后面没有写 break 则直接往下面执行!

  • Case 后面的执行体可写{ }也可以不写{ }

2、循环执行结构

 while循环

    符合条件,循环继续执行;否则,循环退出 

    特点:先判断,再执行

    使用情况:已知循环条件,不知道循环次数

语法:

  while(条件表达式){

             //语句块;

   }

 使用while循环的步骤
  1. 分析循环条件和循环操作
    
  2. 套用while语法写出代码
    
  3.  检查循环是否能够退出
    

    do-while循环

    先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出

    特点:先执行,再判断。不伦循环条件是否成立,肯定要执行第一次

    使用情况:肯定要运行一次才觉得是否循环,而且不知道要循环多少次

    语法:

    do{

          循环操作;
    

}while(条件表达式)

   while 循环和 do-while 循环的区别? 
  •           while:先判断条件,如果条件满足,再执行循环操作 
    
  •           do while:先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。
    

    for循环:

     使用情况:已知次数的循环,使用for
    
     语法:
    
         for(初始化参数;判断条件;更新循环变量){
    
                             循环体;
    
             }
    

    嵌套循环中 外层循环控制的是行数,内层循环控制的是列数

    关键字:

  • break 不加标签,跳出一层循环; 加标签,跳到指定位置(不推荐)

  • continue 跳过当前循环后面的所有代码,直接执行下一次循环,不打破循环,略过一次循环

小练习:
1、根据《国家电网销售电价表》,居民生活用电按 3 个梯度收费:月用电量 150 千瓦时及以下部分, 每千瓦时 0.43 元,151—400 千瓦时部分为 0.45 元,401 千瓦时以上部分为 0.52 元,请编写程序,当输入 用户的用电量时,计算出所需付的费用

package src;

import java.util.Scanner;

public class Demo4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(“本月用电量为:”);
double w = input.nextDouble();
if(w<=150){
double cost = 0.43w;
System.out.println(“本月电费为:”+cost);
}
else if (w>150 & w<=400){
double cost = 0.43
150 + (w-150)0.45;
System.out.println(“本月电费为:”+cost);
}
else {
double cost = 0.43
150 + 0.45*250 + (w-400)*0.52;
System.out.println(“本月电费为:”+cost);
}

}

}

2、计算该年该月天数 一年中有 12 个月,而每个月的天数是不一样的。其中大月 31 天,分别为 1,3,5,7,8,10,12 月,小月 30 天,分别 为 4,6,9,11 月。还有二月比较特殊,平 年的二月只有 28 天,而闰年的二月有 29 天,由用户在控制台输入年份和月份, 程序计算该年该月的天数。

代码:
package src;

import java.util.Scanner;

public class Demo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入你查询的年份:”);
int year = sc.nextInt();
System.out.println(“请输入你查询的月份:”);
int month = sc.nextInt();
int day;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {//判断是否为闰年
day = 29;//平 年的二月只有 29 天,
} else {
day = 28;//润年的二月只有 28 天,
}
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: //每年的1 、3、5、7、8、10、12月有31天
System.out.println(year + “年” + month + “月有31天”);
break;
case 4:
case 6:
case 9:
case 11: //每年的4、6、9、11月有30天
System.out.println(year + “年” + month + “月有30天”);
break;
case 2:
System.out.println(year + “年” + month + “月有” + day + “天”);

    }

}

}

3、打印三位数中的所有水仙花数 所谓“水仙花数”即一个整数满足其值等于各个数位的立方和。 如: 153 是一个水仙花数,因为 153= 1³+5³+3³

package src;

import java.util.Scanner;

public class Demo7 {
    public static void main(String[] args) {
        /*
          要求输出三位数以内的所有水仙花数
          我是直接将一个三位数分开分别是百位数、十位数、个位数
          分别取一个范围,用三个for循环,即是所有三位数
         */
        for (int i = 1; i <= 9; i++) {  //百位数的范围是1到9
            for (int j = 0; j <= 9; j++) { //十位数的范围是0到9
                for (int k = 0; k <= 9; k++) { //个位数的范围是0到9
                    if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k) {
                        //水仙花数的条件
                        System.out.println(i*100+j*10+k);
                    }
                }
            }
        }
    }
}


相关标签: java