4分支语句

84 阅读6分钟
if【重点之重点:应用】
循环结构【重点之重点:应用】
(1)for循环: 重点中的重点
(2)while循环: 重点
(2)switch语句:非重点
(3)do-while循环: 非重点
if语句的第一种格式:
if(布尔表达式){
)if后面()中的表达式,不管多么简单或者多么复杂,结果必须是布尔类型,要么是true,要么是false
        语句体;
    }  
    其它语句
if(布尔表达式){ ### 判断大小  ### 获取最大值### 判断奇偶数
)if后面()中的表达式,不管多么简单或者多么复杂,结果必须是布尔类型,要么是true,要么是false
        语句体;
    } else {
        语句体2;
    }
    其它语句
    需求:
    获取键盘录入的两个整数数字(int),计算出两个整数数字的最大值,并输出最大值
实现步骤:
	1.创建键盘录入Scanner类的对象
	2.获取键盘录入的两个整数数字,保存到两个int变量a和b中
	3.使用if-else语句获取a和b的最大值,保存到int变量max中
	4.输出max的值
    import java.util.Scanner;
public class Demo03IfElse {
    public static void main(String[] args) {
        //1.创建键盘录入Scanner类的对象
        Scanner sc = new Scanner(System.in);
        
        //2.获取键盘录入的两个整数数字,保存到两个int变量a和b中
        System.out.println("请输入第一个整数数字: ");
        int a = sc.nextInt();
        
        System.out.println("请输入第二个整数数字: ");
        int b = sc.nextInt();
        
        //3.使用if-else语句获取a和b的最大值,保存到int变量max中
        int max;//定义int变量max,用来保存最大值
        if(a>b){
            max = a;
        } else {
            max = b;
        }
        //4.输出max的值
        System.out.println("数字: "+a+" 和 "+b+" 的最大值是: "+max);
    }
}
##### if语句的第三种格式介绍
.if语句的第三种格式:
	if(布尔表达式1){
        语句体1;
    } else if(布尔表达式2){
    	语句体2;
    }
	...
    else if(布尔表达式n){
    	语句体n;
    } else {
    如果没有任何布尔表达式为true,就执行语句体n+1	
    最后一个else后面是没有条件的,是用来兜底的,如果前面的所有条件都不成立,执行最后一个else中的代码
        语句体n+1;
    }
	其它语句;
 不能直接在else后面写条件,只能在if后面()中写条件
		有if就可以写条件,没有if就不能写条件
                
### if语句的第三种格式练习根据成绩进行奖励
 数学中[95,100]: 95=<score<=100
        java中[95,100]: score>=95 && score<=100
        
  ## 循环结构
  重复执行某些固定的功能,当条件不成立时,结束循环
  
  1.循环的组成(手写100遍HelloWorld案例): 
	(1)【初始化表达式1】准备工作:笔墨伺候,最优先唯一执行一次的操作定义循环变量
	(2)【循环条件2】条件判断布尔表达式:每次书写前,判断一下,要不要写 
	(3)【循环体3】循环所要进行的操作:手写一个HelloWorld案例 
	(4)【步进表达式4】扫尾的工作:每写一次HelloWorld,计数(+1)一步一步修改循环变量的值导致循环变量为false结束循环
        
2.执行流程:	
	1,2(true),3,4 --> 2(true),3,4 --> ... --> 2(false),结束循环 
### **for循环语句**
1.for循环格式:	
	for (初始化表达式1;布尔表达式2;步进表达式4) {
        循环体3;
    }
	其它语句;

2.执行流程:
	1,2(循环条件:true),3,4 --> 2(循环条件:true),3,4 --> 
        ... --> 直到2(循环条件:false)为false时,结束for循环,执行后面的其它语句
3.注意:
	(1)for和(),以及()和{}之间是没有分号的
	(2)()中有3个表达式,之间用2个分号(缺一不可)隔开,第三个表达式后面没有分号
	(3)第二个表达式一定是布尔类型,结果只能是truefalse
	(4)循环体就是一条/多条语句 
4.总结
	对于求和,计数的需求,解决方案:
	(1)循环的前面定义求和/计数变量
	(2)循环的内部完成求和/计数功能的实现
	(3)循环的后面打印求和/计数变量的结果数据
  需求: 求1-5之间的数据和,并把求和结果在控制台输出 
实现步骤:
	1.定义int变量sum,初始值0,用来累加求和
	2.使用for循环获取15之间的数字,循环变量int类型的num
	3.把num中的数字,累加到求和变量sum中
	4.打印sum的值
        public class Demo03ForSum5 {
    public static void main(String[] args) {
        //1.定义int变量sum,初始值0,用来累加求和
        int sum = 0;
                  for (int count = 1; count <= 5; count++)  
             for (int times = 0; times < 5; times++)  
        //在控制台输出5-1
        for (int j = 5; j >= 1; j--)  
        /*
            
         */
        //2.使用for循环获取1到5之间的数字,循环变量int类型的num
        for(int num = 1;num<=5;num++) {
            //3.把num中的数字,累加到求和变量sum中
            sum = sum + num;
        }
        //4.打印sum的值
        System.out.println("1到5的数字之和: "+sum);
    }
}
求1-100之间的偶数和
        for (int num = 1; num <= 100; num++) {
            //2.1 判断num中的数字如果是偶数
            if (num % 2 == 0) {
                //2.2 把num中的偶数数字累加到求和变量sum中
                sum += num;
            }
        }
  需求: 有个int变量num,内部存储了一个三位数字,获取num中三位数字的个位,十位,百位,并输出
  实现步骤:
	1.定义int变量num,并初始化
    2.计算num中数字的个位,十位,百位,分别保存到3int变量ge,shi,bai中
    3.打印结果数据
总结:
	int变量num
	个位: num%10
    十位: num/10%10
    百位: num/100%10
    千位: num/1000%10
  
需求: 在控制台输出所有的“水仙花数”及总个数
水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
	例如 153 3*3*3 + 5*5*5 + 1*1*1 = 27 + 125 + 1 = 153
public class Demo06ForSXH {
    public static void main(String[] args) {
      //0.定义int变量count,初始值0,用来统计水仙花数字的个数
        int count = 0;
        //1.使用for循环获取所有的三位数字,循环变量int类型num
        for (int num = 100; num <= 999; num++) {
            //1.1 计算num中数字的个位,十位,百位,分别保存到int变量ge,shi,bai中
            int ge = num%10;//个位
            int shi = num/10%10;//十位
            int bai = num/100%10;//百位

            //1.2 计算个位,十位,百位的立方和,保存到int变量sum中
            int sum = ge*ge*ge + shi*shi*shi + bai*bai*bai;

            //1.3 判断如果num等于sum,说明是水仙花数字
            if (sum == num) {
                //1.4 打印num中的水仙花数字
                   count++;
                System.out.println(num);
            }
        }
         System.out.println("以上水仙花数字总共有: " + count + " 个");
    }
}