java if-else 学习笔记

/*
程序的流程控制

流程控制语句是用来控制程序中各种语句的执行顺序,可以把语句组合成可以完成一定功能的小逻辑模块

流程控制方式采用结构化程序设计中规定的第三种基本流程结构

1,顺序结构
程序从上到下逐行执行,中间没有任何判断和跳转
2,分支结构
根据条件,选择性的执行某段代码
有if-else与switch-case两种分支语句
3,循环结构
根据循环的条件,重复性的执行某段代码
有while,do-while,for三种循环语句
JDK1.5提供了foreach循环,方便的遍历集合,数组元素

If语句的三种格式(if也叫条件判断结构)

1,if(条件表达式){执行代码块}
当条件表达式结果为true时执行大括号内的代码,当为false时不执行
2,if(条件表达式){代码块1}else{代码块2}
二选一当条件表达式为true时执行代码块1,当为false时执行代码块2
3,if(条件表达式1){代码块1}else if(条件表达式2){代码块2}else{代码块3}
三选一,条件表达式1为true时执行代码块1,条件表达式1为false,条件表达式2为true时执行代码块2,
条件表达式1与条件表达式2都为false时执行代码块3
4,if可以n选一
if(条件1){代码1}else if(条件2){代码2}else if(条件3){代码3}…else{代码n}
5,if可以嵌套运行 if(){if(){}else{}}else{}

if-else 使用说明
1,条件表达式必须是布尔表达式(关系表达式或逻辑表达式),布尔变量
2,语句块只有一条执行语句时,一对{}可以省略,但建议保留
3,if-else语句结构。根据需要可以嵌套使用。
4,当if-else语句是多选一时,最后的else是可选的,根据需要可以省略
5,当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
当多个条件是“包含”关系时,“小上大下/子上父下”。
说明 1,esle 可以被注释掉,是可选项。编译可以通过,if 的情况都不满足时,程序不执行
2,如果多个条件表达式之间是互斥关系(没有交集的关系),哪个判断和执行语句声明在上面还是下面无所谓
3,如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面
4,如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面,否则范围小的就没有机会执行
5,if-else可以嵌套使用,但在开发中很少超过3层,因为很容易乱套,可以尝试别的方式
6,如果if-else中的执行代码只有一行,那么大括号可以省略,编译可以通过,但不建议省略,容易出错
if(num1 >= num2){ //有多行代码,大括号不能省
if(num3 >= num1) //单行输出代码,可以省略
System.out.println(num2 + “,” + num1 + “,” + num3);
else if(num3 <= num2)
System.out.println(num3 + “,” + num2 + “,” + num1);
else
System.out.println(num2 + “,” + num3 + “,” + num1);

  }else{
	if(num3 >= num2)
		System.out.println(num1 + "," + num2 + "," + num3);
	else if(num3 <= num1){
		System.out.println(num3 + "," + num1 + "," + num2);
	else
		System.out.println(num1 + "," + num3 + "," + num2);
	
 }

*/



import java.util.Scanner;
class IfTest{

	public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       
       int heartBeats = 55;	   
	   if(heartBeats < 60 || heartBeats >= 120){
	   System.out.println("数值不正常,需要进一步检查");
	   }
	   System.out.println("检查结束");


	   int age1 = 12;
	   if(age1 <= 18){
	   System.out.println("年纪太小");
	   }else{
	   System.out.println("成年人");
	   }

       int age = 130;
	   if(age < 0){
	   System.out.println("数据非法");
	   }else if(age < 18){
	   System.out.println("少年");
	   }else if(age < 30){
	   System.out.println("青年");
	   }else if(age < 45){
	   System.out.println("青壮年");
	   }else if(age < 60){
	   System.out.println("中年");
	   }else if(age < 80){
	   System.out.println("老年");
	   }else if(age < 120){
	   System.out.println("古稀");
	   }else{
	   System.out.println("成仙");
	   }



	   int credit = 99;
	   if(credit < 0 || credit > 100){
	   System.out.println("数据非法");
	   }else if(credit < 60){
	   System.out.println("不及格");
	   }else if(credit < 81){
	   System.out.println("及格");
	   }else if(credit < 100){
	   System.out.println("优秀");
	   }else if(credit == 100){
	   System.out.println("满分");
	   }
	   
       System.out.println("请输入考试得分");
	   int score = scan.nextInt();
	   if(score < 0 || score > 100){
	   System.out.println("数据非法");
	   }else if(score == 100){
		System.out.println("满分");
	   }else if(score > 80 && score <= 99){
		System.out.println("优秀");
	   }else if(score >=60 && score <= 80){
		System.out.println("及格");
	   }else{
		System.out.println("不及格");
	   }
 
      //由键盘输入三个整数,对它们进行排序,从小到大输出
	  System.out.println("请输入第一个整数");
	  int num1 = scan.nextInt();
	  System.out.println("请输入第二个整数");
	  int num2 = scan.nextInt();
	  System.out.println("请输入第三个整数");
	  int num3 = scan.nextInt();
      int min,max,median;
	  if (num1 >=num2 && num1 >= num3){
      max = num1;
	  }else if (num2 >= num1 && num2 >= num3){
      max = num2;
	  }else {
	  max = num3;
	  }

      if (num1 <=num2 && num1 <= num3){
      min = num1;
	  }else if (num2 <= num1 && num2 <= num3){
      min = num2;
	  }else {
	  min = num3;
	  }

	 
      median = (num1 + num2 + num3) - (min + max);
	 
      System.out.println("max = " + max);
	  System.out.println("medain = " + median);
	  System.out.println("min = " + min);
	  System.out.println("" + min + "\t" + median + "\t" + max);
		
     //第二种方法 使用if-else嵌套

	 if(num1 >= num2){
		 if(num3 >= num1){
			System.out.println(num2 + "," + num1 + "," + num3);
		 }else if(num3 <= num2){
			System.out.println(num3 + "," + num2 + "," + num1);
		 }else{
			System.out.println(num2 + "," + num3 + "," + num1);
		 }	
	 }else{
		if(num3 >= num2){
			System.out.println(num1 + "," + num2 + "," + num3);
		}else if(num3 <= num1){
			System.out.println(num3 + "," + num1 + "," + num2);
		}else{
			System.out.println(num1 + "," + num3 + "," + num2);
		}
	 }

	  //if-else 练习
	     
		 int x = 4;
		 int y = 1;
		 if(x > 2){
         if(y > 2)//没有大括号,默认管下一行
			System.out.println(x + y);//if没有大括号,默认管理此单行
			System.out.println("KO"); //此行语句与大括号内的if并列,if条件为假后输出此行
		 
		 }else
			 System.out.println("x =" + x);

         //以下省略形式也可以编译
		 if(x > 2) //没有大括号默认管下一行
         if(y > 2) //没有大括号默认管下一行
			System.out.println(x + y);		
		 else//else从属哪个if语句采用就近原则
			 System.out.println("x =" + x);//输出此行
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值