小白学习java第四天

1. if双分支和三目运算符的相互转换

public class Demo01_If {
	public static void main(String[] args) {
		int num1 = 5;
		int num2 = 8;
		int max = 0;
		
		if (num1 > num2){
			max = num1;			
		}else {
			max = num2;
		}
		System.out.println(max);
		int max1 = num1 > num2 ? num1 : num2;
		System.out.println(max1);
	}
}

2. 选择结构if语句多分支及其使用

//键盘输入一个数 判断该数在 0-5 6-11 12-20 之间,如果不在 则输出不在范围内 
public class Demo02_If {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个数");
		double num1 = input.nextDouble();
		if(num1>=0 && num1 <=5){
			System.out.println("我在0-5之间");
		}else if(num1>=6 && num1 <=11){
			System.out.println("我在6-11之间");
		}else if(num1>=12 && num1 <=20){
			System.out.println("我在12-20之间");
		}else {
			System.out.println("我不在范围内");
		}
	}
}

3. 选择结构if语句多分支练习

//小白的成绩
public class Demo02_If {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		System.out.println("请输入小白的分数");
		int score = input.nextInt();
		
		if(score >= 95 && score <= 100) {
			System.out.println("奖励儿童单车");
		}else if(score >= 90 && score <= 94) {
			System.out.println("奖励儿童沙堡");
		}else if(score >= 80 && score <= 89) {
			System.out.println("奖励变形金刚");
		}else if(score >= 70 && score <= 79) {
			System.out.println("奖励妈妈单打");
		}else if(score >= 60 && score <= 69) {
			System.out.println("奖励爸爸单打");
		}else if(score >= 0 && score <= 59) {
			System.out.println("奖励混合双打");
		}else {
			System.out.println("请重新输入正确的分数");
		}
		
	}
}

4. if语句的嵌套使用

//输出3个数中最大的数  用if嵌套语句完成 
public class Demo04_If {
	public static void main(String[] args) {
		int num1 = 15;
		int num2 = 117;
		int num3 = 15;
		int max = 0;
		if (num1 > num2) {
			max = num1;
			if (max > num3) {
				max = max;
			} else {
				max = num3;
			}
		} else {
			max = num2;
			if (max > num3) {
				max = max;
			} else {
				max = num3;
			}
		}
		System.out.println(max);
	}
}

5. 选择结构switch语句

  • 语法

    switch(表达式){
    	case 表达式 语句
    	break;
    	case 表达式 语句
    	break;
    	default:
    	语句
    }
    
  • 表达式

    • 自动类型提升为int的数据(byte short char int)
    • String (7.0以上)
    • 枚举
  • 实现

    import java.util.Scanner;
    
    public class Demo05_Switch {
    	public static void main(String[] args) {
    		Scanner input =new Scanner(System.in);
    		int num1 = input.nextInt();
    		switch(num1) {
    		case 1:
    			System.out.println("1111");
    			break;
    		case 2:
    			System.out.println("2222");
    			break;
    		case 3:
    			System.out.println("3333");
    			break;
    		default :
    			System.out.println("匹配不上");
    		}
    	}
    	
    }
    
    

6. switch语句练习

import java.util.Scanner;

public class Demo06_Switch {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		System.out.println("请输入星期数 1-7");
		int num1 = input.nextInt();
		switch(num1) {
		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 7:
			System.out.println("今天是星期日");
			break;
		default :
			System.out.println("匹配不上");
		}
	}
	
}

7. switch使用的注意事项

  • case后面的表达式只能是常量表达式
  • default可以省略 但是不建议
  • default 可以放在任何位置 推荐放到最后
  • break可以省略 但是会造成case穿透
  • 结束条件
    • switch的括回括号
    • break;

8. switch练习

import java.util.Scanner;
/**
	减肥计划
*/
public class Demo07_Switch {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		System.out.println("请输入今天星期几");
		String num1 = input.nextLine();
		switch(num1) {
		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("该醒醒了");
		}
	}
	
}

9. 循环结构

  • 分类

    • for
    • while
    • do…while…
  • for语句

    • 语法

      • for(初始表达式;条件表达式;操作表达式){

        ​ 语句体

    • 初始表达式:开始

    • 条件表达式:结束

    • 操作表达式:如何从开始到结束

    • 语句体:重复的事

  • 需求

    • 使用循环语句打印10次helloworld

      public class Demo09_For {
      	public static void main(String[] args) {
      		for(double i = 1; i <= 10; i++) {
      			System.out.println("helloworld");
      		}
      	}	
      }
      

10 . for循环之获取数据

//获取1-10 和10-1的每一个数
public class Demo10_For {
	public static void main(String[] args) {
		for(int i = 1; i <= 10; i++) {
			System.out.print(i + " ");
		}
		System.out.println();
		for(int j = 10; j>0; j--) {
			System.out.print(j + " ");
		}	
	}
}

11. for循环练习


public class Demo11_For {
	public static void main(String[] args) {
		int sum1 = 0;
		int sum2 = 0;
		int sum3 = 0;
		for(int i = 1; i <= 100; i++) {
			sum1 +=i;
			if(i % 2 ==0) {
				sum2 += i;
		}
			if(i % 2 !=0) {
				sum3 += i;
			}
	}
		System.out.println("1-100的和为:" + sum1);
		
		System.out.println("1-100的偶数和为" + sum2);
		
		System.out.println("1-100的奇数和为" + sum3);
}
}

12. for循环练习之水仙花数

  • 水仙花数

    • 三位数

    • 个位十位百位立方和等于它本身

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

12. while循环

  • 语法

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

    //用while循环打印1-10
    public class Demo13_While {
    	public static void main(String[] args) {
    		int i = 1;
    		while (i <= 10) {
    			System.out.print(i + " ");
    			i++;
    		}
    }
    	
    }
    

13. while循环练习

public class Demo14_While {
	public static void main(String[] args) {
		int i = 1;
		int sum1 = 0;
		int sum2 = 0;
		int sum3 = 0;
		while (i <= 100) {
			sum1 += i;
			if(i % 2 == 0) {
				sum2 += i;
			}else {
				sum3 += i;
			}
			i++;
		}
		System.out.println("1-100的和为" + sum1);
		System.out.println("1-100的偶数和为" + sum2);
		System.out.println("1-100的奇数和为" + sum3);
}
	
}

14. do…while循环

  • 语法

    do{
     循环体
     操作表达式
    }while(条件表达式)
    

15. 三种循环的区别

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

16. 循环语句之死循环

  • while死循环

    while(1){
    
    }
    
  • for死循环

    for(;;){
    
    }
    

17. 死循环改造三个和尚

import java.util.Scanner;

public class Demo15_cycle {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		while (true) {
			System.out.println("请输入第一个和尚的身高");
			int monk1 = input.nextInt();
			System.out.println("请输入第二个和尚的身高");
			int monk2 = input.nextInt();
			System.out.println("请输入第三个和尚的身高");
			int monk3 = input.nextInt();
			
			int min = monk1 <monk2 ? monk1 : monk2 <monk3 ? monk1 <monk2 ? monk1 : monk2 : monk3; 
			System.out.println("最矮的和尚的身高为");
			System.out.println(min);
		}
}
}

18. 循环打印小图案

/*
打印
*
**
***
****
*****
*/
public class Demo15_cycle {
	public static void main(String[] args) {
		for(int i = 1; i <= 5; i++) {
			
			for(int j = 1; j <= i; j++)
				System.out.print("*");
				System.out.println();
		}
		
		
}
	
}

有没有大佬能解释一下下面这个图怎么打印出来

    *
   **
  ***
 ****
***** 

19. 循环控制语句之 break,continue,return

  • 区别
    • break 只能作用在switch和循环中 终止循环
    • continue 只能作用在循环中 终止本次循环 继续下次循环
    • return 任何地方可以用 同时返回一个值

你可能感兴趣的:(小白学习java,小白学java,java)