Java-Day04 Scanner/if-else/switch-case/for

2022/10/9

一、Scanner:从键盘获取数据

1.要使用Scanner首先需要导入包:

  import java.util.Scanner;

2.使用方法:

  Scanner 变量名 = new Scanner(System.in);

  //也可以指定数据类型,需要在输入后,格式如下

  数据类型 变量名 = scan.next数据类型();

  例如:int age = scan.nextInt();

     double weight = scan.nextDouble();

        boolean isMiss = scan.nextBoolean();、

     //对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串,但也可以强行操作,如下:

        System.out.println("请输入你的性别:(男/女)");

        String gender = scan.next();//"男","女"
        char genderChar = gender.charAt(0);//获取索引为0位置上的字符
        System.out.println(genderChar);

二、分支结构其一:if-else(条件结构判断)

1.三种结构

 

  ①if(条件表达式){

    执行表达式;

    }

  ②if(条件表达式){

    执行表达式1;

      }else{

    执行表达式2;

   }

  ③if(条件表达式1){

    执行表达式1;

   }else if(条件表达式2){

    执行表达式2;

   }else if(条件表达式3){

    执行表达式3;

   }......

   else{

    执行表达式n;

   }

2.例题:

  成绩100分 奖励BMW;
  成绩(80,99]时候,奖励一台iPhone 14 ProMax
  成绩[60,80]时候,奖励一台iPad
  其他成绩,啥都没有

  import java.util.Scanner;
  class IfTest{
    public static void main(String[] args){

      Scanner scan = new Scanner(System.in);

      System.out.println("请输入成绩:(0-100)");
      int score = scan.nextInt();

      if(score == 100){
        System.out.println("奖励一台BMW");
      }else if (score > 80 && score <= 90){
        System.out.println("奖励一台iPhone 14 ProMax");
      }else if (score >= 60 && score <= 80){
        System.out.println("奖励一台iPad");
      }else{
        System.out.println("啥也没有");
      }
    }
  }

3.说明:

①.if-else结构是可以嵌套的

②.if-else执行语句如果只有一行那么 if-else的{}可以去掉

③.else结构是可选的。

④.针对于条件表达式:
  如果多个条件表达式是“互斥”关系(无交集),顺序无所谓
  如果多个条件表达式是有交集的,需要根据实际情况考虑清楚顺序。
  如果多个条件表达式有包含关系,通常情况下,将范围小的写在范围大的上面。

三、switch-case

1.结构

switch(表达式){
case 常量1:
  执行语句1;
  执行语句n;
  //break;不是必须
case 常量2;
  执行语句2;
  执行语句n;
  //break;
...
default:
  执行语句m;
  //break;
}

2.说明

  ①根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case中的执行语句中,调用执行语句。

   当调用完执行语句后仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或switch-case结构为止。
  ②break可以用在switch-case中,表示一旦遇到此关键字,就跳出switch-case结构
  ③swtich结构中的表达式,只能是如下六种数据类型之一:byte\short\char\int\枚举类型(JDK5.0)\Strint(JDK7.0)
  ④case 之后只能声明常量。不能声明范围。
  ⑤break关键字可选
  ⑥default:相当于if-else结构中的else

3.栗子:

  boolean isHandsome = true;
  switch(isHandsome){
    case true:
      System.out.println("我好帅啊");
      break;
    case false:
      System.out.println("我好丑啊");
    default:
      System.out.println("输入有误");
  }

四、for

1.结构:

for(①初始化条件;②循环条件 -->是boolean类型;④迭代条件){

 ④迭代条件

}

执行过程:① - ② - ③ - ④ - ② - ③ - ... - ②

2.例题

//例题:遍历100以内得偶数,输出所有偶数得和,输出偶数个数
  int count = 0;
  int sum = 0;
  for(int i = 1;i <= 100;i++){
    if (i % 2 ==0)
      {System.out.println(i);
      sum += i;
      count++;
     }
  }
  System.out.println("总和为: " + sum);
  System.out.println("偶数个数为: " + count);

 

posted @ 2022-10-10 11:39  MinyX  阅读(32)  评论(1编辑  收藏  举报