java学习积累——选择结构

目录

一、关系运算符和逻辑运算符

1、关系运算符

2、逻辑运算符

二、选择结构

1、基本if选择结构

2、if-else选择结构

3、三元一次运算符

4、else if 认识

5、嵌套if选择结构

三、switch选择结构

1、概念解释

2、语法规则

3、switch支持的数据类型

4、补充

四、Scanner输入验证


一、关系运算符和逻辑运算符

1、关系运算符

关系运算符包括 > < >= <= != ==

关系运算符比较的结果是一个boolean值

>是数学运算里的大于号,<是数学里的小于号,>=是数学里的大于等于,<=是数学里的小于等于,==是数学里的等于,!=是数学里的不等于。

2、逻辑运算符

逻辑运算符包括:

逻辑与&&  逻辑或||  逻辑非!

逻辑与&&:用来衔接多个条件,这些条件必须全部满足时才为真,否则为假

逻辑或||:用来衔接多个条件,这些条件必须要同时不满足时才为假,否则为真

逻辑非!:主要用于单个条件的取反

一般涉及上述逻辑预算符的变量定义使用,变量类型要为boolean

&&使用例子:

public class exmple2{
    public static void main(String[] args) {
        int a=5;
        boolean result1=5>4&&(++a>4);
        System.out.println(a);//a的显示结果为6
        boolean result2=5<4&&(++a>4);
        System.out.println(a);//a的显示结果为6
        //当&&逻辑运算符执行时,第一次出现false结果后,后面的关系判断部分不会进行
    }
}

||使用例子:

public class exmple2{
    public static void main(String[] args) {
        int a=5;
        boolean result1=5>4||(++a>4);
        System.out.println(a);//a的输出结果是5
        boolean result2=5<4||(++a>4);
        System.out.println(a);//a的输出结果是6
        //在||逻辑运算符的使用中,当第一次出现true结果时,后面的代码不会执行
    }
}

!使用例子:

public class exmple2{
    public static void main(String[] args) {
        int a=5;
        boolean result1=5>4||(++a>4);
        System.out.println(result1);//输出结果是true
        System.out.println(!result1);//输出结果是false
        //  !的作用在这是取反
    }
}

二、选择结构

1、基本if选择结构

语法

  if(条件){ //如果条件满足,就会进入该代码块执行代码

     //代码块

}

例子:

public class exmple2{
    public static void main(String[] args) {
        int a=5;
        int b=6;
        if(a<b){
            System.out.println("a<b成立");
        }
        if(a>b){
            System.out.println("a>b成立");
        }
    }
}
//代码运行结果是a<b成立

2、if-else选择结构

语法

  if(条件){  //如果条件成立,则会执行代码块1

   //代码块1

} else {  //否则执行代码块2

   //代码块2

}

例子:

public class exmple2{
    public static void main(String[] args) {
        int a=7;
        int b=6;
        if(a<b){
            System.out.println("执行if的代码块");
        }
        else{
            System.out.println("执行else的代码块");
        }
    }
}
//输出结果是:执行else的代码块

3、三元一次运算符

语法

(条件 ? 表达式1 : 表达式2)

?表示判断前面的条件是否满足,如果满足,那么使用表达式1,如果不满足,那么执行表达式2。

三元一次运算符执行效率相较于if-else选择结构较为低下,不建议去习惯使用它。

4、else if 认识

基础语法

  if(条件1){ //如果条件1满足,则执行代码块1

  //代码块1

} else if(条件2) { /*如果上面条件不成立,且满足条件2,则执行代码块2,这样的结构可以有多个*/

  //代码块2

}

5、嵌套if选择结构

解释:在 if if-else else if的结构中可以加入这些结构的使用。

基本语法例子:

  if(条件1){ //如果条件1成立,则执行其大括号中的代码块

      if(条件2){ //在满足条件1,且满足条件2时,执行条件2的代码块

                //代码块

        } else { /*条件1成立,条件1不成立时,执行这部分的代码块,注意else的内容可加可不加*/

         //代码块

       }

}

三、switch选择结构

1、概念解释

switch选择结构通过对变量进行判断选择,进入相应的代码块执行。

2、语法规则

  switch(表达式){ //作用在表达式的结果上

      case  常量1: //如果表达式结果为常量1,那么会执行代码块1

          //代码块1

          break;  //表示代码块1执行结束,退出switch选择结构

      case   常量2: //如果表达式结果为常量2,那么会执行代码块2

          //代码块2

          break;  //表示代码块2执行结束,退出switch选择结构

        //上面的 csae 样式可无限添加

       default:  //如果表达式结果不在常量1、常量2或其他常量上,那么执行代码块de

          //代码块de

          break;  //表示退出程序

}

3、switch支持的数据类型

byte  short  int  char  Enum  String

switch选择结构从JDK1.7开始支持String类型

4、补充

public class exmple2{
    public static void main(String[] args) {
        int a=5;
        switch (a){
            case 5:System.out.println("number1"); /*由于此case后面没有break,程序执行完这行后会继续执行后面的代码块,直到遇到break为止*/
            case 6:System.out.println("number2");
            break;
            case 7:System.out.println("number3");
            break;
        }
    }
}
//输出结果为:
number1
number2

四、Scanner输入验证

例子:

import java.util.Scanner;

public class exmple2{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a;
        System.out.println("请输入一个整数:");
        /*校验Scanner存储的数据中是否有下一个整数,如果Scanner中没有数据,
        则让用户用户输入,用户输入后再判断是否为整数
         */
        if(sc.hasNextInt()){  //也可用sc.hasNextDouble(),这类作用是验证输入是否满足类型要求
            a=sc.nextInt();
            System.out.println(a);
        } else {
            System.out.println("输入类型错误");
        }
    }
}

Scanner里的sc.hasNextInt()、sc.hasNextDouble()、sc.hasNextLong()等可作为输入验证的一大工具。

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值