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

学习java的第四天

程序员文章站 2022-06-03 10:15:38
...

01. if双分支和三元表达式的相互转换

  • 代码实现

    public class Demo01_If {
    
    	public static void main(String[] args) {
    		int num1 = 2;
    		int num2 = 5;
    		int max;//最大值
    		if(num1>num2) {
    			max = num1;
    		}else {
    			max = num2;
    		}
    		System.out.println(max);
    		System.out.println("---------------");
    		max = num1 > num2 ? num1 : num2;
    		System.out.println(max);
    		}
    }
    
    

02. if多分支

  • 概述

    • 处理多种情况
  • 语法

    if(比较表达式1) {
    	语句体1;
    }else if(比较表达式2) {
    	语句体2;
    }else if(比较表达式3) {
    	语句体3;
    }
    ...
    else {
    	语句体n+1;
    }
    
  • 执行流程

    • 首先计算比较表达式1看其返回值是true还是false,
    • 如果是true,就执行语句体1,if语句结束。
    • 如果是false,接着计算比较表达式2看其返回值是true还是false,
    • 如果是true,就执行语句体2,if语句结束。
    • 如果是false,接着计算比较表达式3看其返回值是true还是false,
    • 如果都是false,就执行语句体n+1。
  • 代码实现

    
    

03. if语句的嵌套使用

  • 需求

    • 获取三个数中的最大值
  • 代码实现

    public class Demo04_If {
    
    	public static void main(String[] args) {
    		int num1 = 6;
    		int num2 = 7;
    		int num3 = 3;
    		int max;
    		if(num1>num2) {
    			if(num1>num3) {
    				max = num1;
    			}else {
    				max = num3;
    				}
    			}else {
    				if(num2 > num3) {
    					max = num2;
    					}else {
    						max = num3;
    						}
    				}
    		System.out.println("最大值:"+max);
    	}
    }
    

04. switch的概述和练习

  • 语法

    switch(表达式){
        case1:
            语句体1;
            break;
            ...
    
                default:
            语句体;
            break;
    }
    
    • 表达式
      • 自动类型提升为int的类型数据(byte、short、char、int)
      • String (java7.0)
      • 枚举
  • 代码实现

    public class Demo05_Switch {
    	/*
    	 * 需求:需求:输入星期几,显示今天的减肥活动
    		星期一:跑步
    		星期二:游泳
    		星期三:跑步
    		星期四:游泳
    		星期五:拳击
    		星期六:爬山
    		星期日:好好吃一顿
    	 */
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		System.out.println("今天是星期几:");
    		String str = input.next();
    		switch(str) {
    		case "一":
    			System.out.println("跑步");
    			break;
    		case "二":
    			System.out.println("游泳");
    			break;
    		case "三":
    			System.out.println("跑步");
    			break;
    		case "四":
    			System.out.println("游泳");
    			break;
    		case "五":
    			System.out.println("拳击");
    			break;
    		case "六":
    			System.out.println("爬山");
    			break;
    		case "日":
    			System.out.println("好好吃一顿");
    			break;
    		default :
    			System.out.println("火星时间???");
    			break;
    		}
    		input.close();
    		 
    	}
    
    }
    
    

05. switch语句注意事项

  • case后面的表达式只能是常量表达式
  • default可以省略,但是不建议
  • default可以放到任何位置,但是建议放到最后
  • break可以省略,但是会造成case穿透,一般情况,不省略break
  • switch语句结束条件
    • 遇到break
    • 遇到右大括号

06. 循环结构语句及for循环

  • 语法

    for(初始表达式;条件表达式;操作表达式){
        语句体;
    }
    
    • 初始表达式
      • 定义开始
    • 条件表达式
      • 定义结束
    • 操作表达式
      • 如何从开始到结束
    • 语句体
      • 重复做的事
  • 执行流程

    • 学习java的第四天
  • 需求

    • 在控制台输出10次"helloworld"
  • 代码实现

    public class Demo06_For {
    
    	public static void main(String[] args) {
    		for(int i=0;i<10;i++) {
    			System.out.println("Hello World");
    			
    		}
    
    	}
    
    }
    

07. for循环练习之求和

  • 需求

    • 求出1-100之间数据之和
    • 求出1-100之间偶数和
    • 求出1-100之间奇数和
  • 代码实现

    public class Demo09_For {
    
    	public static void main(String[] args) {
    		int sum1 = 0,sum2 = 0,sum3 = 0;
    		for(int i = 1;i <= 100; i++) {
    			//判断是否为偶数
    			if(i%2==0) {
    				sum1 += i;
    			} else {
    				sum2 += i;
    			}
    				sum3 += i;
    		}
    		System.out.println("偶数和:"+sum1);
    		System.out.println("奇数和:"+sum2);
    		System.out.println("总数和:"+sum3);
    	}
    }
    

08. for循环练习之水仙花

  • 水仙花数

    • 三位数
    • 百位数的立方+十位数的立方+个位数的立方 = 原值
  • 代码实现

    public class Demo08_For {
    
    	public static void main(String[] args) {
    		int geWei = 0,shiWei = 0,baiWei = 0;
    		for(int i = 100;i <= 999; i++) {
    			baiWei = i / 100 % 10;
    			shiWei = i / 10 % 10;
    			geWei = i % 10;
    			if((geWei * geWei *geWei +shiWei * shiWei *shiWei + baiWei * baiWei * baiWei)==i) {
    				System.out.println(i);
    			}
    		}
    		
    	}
    }
    
    

09. while循环

  • 语法

    初始表达式;
    while(条件表达式){
        语句体;
        操作表达式;
    }
    
  • 代码实现

    /**
     * while循环的练习
     * 需求:	需求:求出1-100之间偶数和
         	需求:求出1-100之间奇数和
         	需求:求出1-100之间总数和
     * @author 海锋
     *
     */
    public class Demo10_While {
    	public static void main(String[] args) {
    		int sum1 = 0,sum2 = 0,sum3 = 0;
    		int i = 1;
    		while(i <= 100) {
    			if(i % 2 ==0) {
    				sum1 += i;
    			}else {
    				sum2 += i;
    			}
    				sum3 += i;
    				i++;
    		}
    		System.out.println("偶数和:"+sum1);
    		System.out.println("奇数和:"+sum2);
    		System.out.println("总数和:"+sum3);
    		}
    	}
    

10. do…while循环

  • 语法

    初始表达式;
    do{
        语句体;
        操作表达式;
    } while(条件表达式);
    
  • 代码实现

int num = 1;
do {
    System.out.println(num);
    num++;
} while(num <= 10);

11. 三种循环的区别

  • do…while循环
    • 不管怎么样,至少执行一次循环体
    • 循环中的变量,在循环外也有效
  • while循环
    • 是否执行循环体,由条件表达式决定
    • 循环中的变量,在循环外也有效
  • for循环
    • 是否执行循环体,由条件表达式决定
    • 循环中的变量,只在循环内有效
  • 总结
    • 如果,在程序执行过程中,在循环外并不会使用到该变量时,那么推荐使用for循环,因为for循环的变量生命周期仅限于循环,循环结束,变量回收!

12. 循环结构之死循环

  • 代码实现

    while(true) {
        System.out.println(1);
    }
    
for(;;) {
    System.out.println(1);
}

13.死循环的应用

  • 需求

    • 使用死循环改造三个和尚的案例
  • 代码实现

    Scanner scanner = new Scanner(System.in);
    while(true) {
        System.out.println("请输入第一个和尚的身高");
        int height1 = scanner.nextInt();
        System.out.println("请输入第二个和尚的身高");
        int height2 = scanner.nextInt();
        System.out.println("请输入第三个和尚的身高");
        int height3 = scanner.nextInt();
        int max = ( height1 > height2 ? height1 : height2 ) > height3 ? ( height1 > height2 ? height1 : height2 ) : height3;
        System.out.println("max : " + max);
    }
    

14. 循环的嵌套使用

  • 代码实现

    for (int i = 1; i <= 5; i++) {
        //内循环的次数和行数相同
        for (int j = 1; j <= i; j++) {
            System.out.print("*");
        }
        System.out.println();
    
    }
    

15. 循环控制语句之break、continue、return

  • 区别
    • break
      • 只能作用在switch、循环中
      • 中止循环、switch
    • continue
      • 只能作用在循环中
      • 中止本次循环,继续下次循环
    • return
      • 任何地方都可以使用
        System.out.println("max : " + max);
        }
    
    
    
    

14. 循环的嵌套使用

  • 代码实现

    for (int i = 1; i <= 5; i++) {
        //内循环的次数和行数相同
        for (int j = 1; j <= i; j++) {
            System.out.print("*");
        }
        System.out.println();
    
    }
    

15. 循环控制语句之break、continue、return

  • 区别
    • break
      • 只能作用在switch、循环中
      • 中止循环、switch
    • continue
      • 只能作用在循环中
      • 中止本次循环,继续下次循环
    • return
      • 任何地方都可以使用
      • 中止方法,并返回结果
相关标签: java