java基础选择判断

一、扫描仪
        在java中,如果要动态接收数据,给变量赋值,我们需要使用一个对象:scanner

Scanner:扫描器
作用:动态接收数据

        创建扫描器的语法:
        Scanner sc = new Scanner(System.in);

二、顺序结构
        代码的执行会从上到下,从左到右按照顺序执行

三、判断结构
        if语句有三种结构

1.单if语句
if(条件表达式){
 
执行语句;
 
}
基础知识: 

        选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个(true、false),所以产生选择,按照不同的选择执行不同的代码。

        也就是当if()小括号中的表达式结果如果为true,则执行if(){}大括号内的代码,否则不执行。

PS:1.if()小括号中的表达式结果只能是boolean类型。

     2.如果if语句控制的代码块是一条语句,大括号可以省略。其余情况都必须携带大括号。

运行顺序:

import java.util.Scanner;
 
public class Demo1_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入a的值");
        int a = scanner.nextInt();
        System.out.println("请输入b的值");
        int b = scanner.nextInt();
        if (a > b){
            System.out.println(a+">"+b);
        }
    }
}
2.双分支 if else语句
if(条件表达式){
 
执行语句;
 
}else{
 
执行语句;
 
}
基础知识:

        选择结构的第二种写法。增加了一种情况,属于条件分支,类似于Y字路口。功能与三目运算相同。但不能如同三目运算一样直接将结果进行赋值操作,if没有结果反馈,三目运算始终有结果反馈。

        首先判断if()小括号中的表达式结果,如果是true,则执行if(){}大括号内的代码;如果是false,则执行else{}大括号内的代码。必然会也只会执行一个大括号内的代码。

运行顺序:

import java.util.Scanner;
 
public class Demo1_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入a的值");
        int a = scanner.nextInt();
        System.out.println("请输入b的值");
        int b = scanner.nextInt();
        if (a > b){
            System.out.println(a+">"+b);
        }else {
            System.out.println(a+"<"+b);
        }
    }
}

3.多分支if else语句
if(条件表达式){
 
    执行语句;
 
else if(条件表达式){
 
    执行语句;
 
}else{
    执行语句;
}
基础知识:

        选择结构的第三种写法。增加了一种情况,属于条件分支,类似于Y字路口。功能与三目运算相同。但不能如同三目运算一样直接将结果进行赋值操作,if没有结果反馈,三目运算始终有结果反馈。

        首先判断if()小括号中的表达式结果,如果是true,则执行if(){}大括号内的代码;如果是false,则执行else{}大括号内的代码。必然会也只会执行一个大括号内的代码。

运行顺序:

Scanner scanner = new Scanner(System.in);
System.out.println("请输入a的值");
int a = scanner.nextInt();
System.out.println("请输入b的值");
int b = scanner.nextInt();
        if (a > b){
            System.out.println("a确实比b大");
        }else if(a == b){
            System.out.println("你怎么知道他俩相等");
        }else{
            System.out.println("b比a大");
        }
4.嵌套if
if(条件表达式){
    if(条件表达式2){
        }else{
        执行语句;
    }
}else{
    执行语句;
}
基础知识:

        选择结构的第四种写法。其实不只是if结构,无论任何结构,只要是在{}大括号内,我们可以编写任何逻辑代码。

        需要先进行完成判断,在进行内层判断。

运行顺序:

import java.util.Scanner;
 
public class Demo1_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("写了一份述职报告,老板喜欢吗");
        String talk = scanner.next();
        if ("老板很看好你".equals(talk)){
            System.out.println("恭喜你,拥有了接下来的竞争机会");
            String agree = scanner.next();
            if ("能胜任".equals(agree)){
                System.out.println("出任项目经理");
            }else{
                System.out.println("还是差了一点");
            }
        }else{
            System.out.println("请继续努力");
        }
     }
 }

四、选择结构
switch(表达式) {
 
        case 值1:
 
             语句体1;
 
              break;
 
        case 值2:
 
              语句体2;
 
               break;
 
               …
 
        default: 
 
               语句体n+1;
 
               break;
 
    }
基础知识:

        使用switch解决类似问题,switch会将case后的值写入栈中,表达式的结果会直接在栈中进行查询并选择,效率更高。 

语法说明:

1.表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String。

2.case后面跟的是要和表达式进行比较的值。

3.break表示中断,结束的意思,可以结束switch语句。

4.default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

      

       defaul

使用switch的注意事项:

1.case后面只能是常量,不能是变量,而且,多个case后面的值不能相同。

2.default可以省略。但一般不建议,除非结果是可以预计且不会发生变化的。

3.break可以省略,一般不建议。

4.default的位置可以出现在switch语句任意位置。

5.switch语句的结束条件必定是遇到break或已经执行到最末尾。

System.out.println("对你即将拥有的进行选择\n1.升职\n2.加薪\n3.买车");
        int choose =scanner.nextInt();
        switch (choose){
            case 1:
                System.out.println("升职");
                break;
            case 2:
                System.out.println("加薪");
                break;
            case 3:
                System.out.println("买车");
                break;
            default:
                System.out.println("选择出错");
                break;
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值