JAVA逻辑运算符精文详解----&、|、!、&&、||、……

知识梳理:(& 与       、 && 短路与、     | 或     、   || 短路、  ^ 异或、  ! 非)

       //&与:前后两侧接boolean值,两侧都为true,结果才为true

      //&&短路与:前后两侧接boolean值,两侧都为true,结果才为true

      //&与:判断前者为false后,还会判断后者
        //&&短路与:判断前者为false后,不会判断后者,效率更高

//|或:前后两侧接boolean值,两侧有一侧为true,结果就为true

 //||短路或:前后两侧接boolean值,两侧有一侧为true,结果就为true

//|或:判断前者为true后,还会判断后者
//||短路或:判断前者为true后,不会判断后者,效率更高

//^异或:前后两侧接boolean值,两侧不同为true,相同为false

//!非:置反

注意:
            1.逻辑运算符运行结果都是boolean类型
            2.&、&&、|、||、^ 两侧都是boolean类型数据

import java.util.Scanner;
public class Test07{
   
        
   
        /*
        练习题:在dos窗口输入一个数字,判断是否在50~100的区间内
    */
    public static void main(String[] args){
        
        //1.创建Scanner的对象
        Scanner scan = new Scanner(System.in);
        
        //2.输入数据
        System.out.println("请输入一个数字:");
        int num = scan.nextInt();
        
        //3.判断是否在50~100的区间内
        boolean bool = num>50 && num<100;
        System.out.println("该数字是否在50~100的区间内:" + bool);
        
    }
}

        2.知识点:字符串拼接符
        符号:+
        
        注意:
            +两侧都是数值,此符号为算数运算符
            +两侧有一侧是字符串 或 两侧都是字符串,此符号为字符串拼接符

public class Test05{
 
    public static void main(String[] args){
        
        System.out.println(1 + 2 + "abc" + "def" + 1 + 2);
        //                     3   + "abc" + "def" + 1 + 2
        //                      "3abc"     + "def" + 1 + 2
        //                        "3abcdef"        + 1 + 2
        //                         "3abcdef1"          + 2
        //                            "3abcdef12" 
        
    }
}

知识点:Scanner类
        理解:Java给我们提供的专门在控制台输入数据到程序里的类

//导包
import java.util.Scanner;

public class Test06{
    /**
        知识点:Scanner类
        理解:Java给我们提供的专门在控制台输入数据到程序里的类
        
        //创建Scanner类的对象
        
        Scanner scan = new Scanner(System.in);
        
        System.out.println("请输入int值:");
        int i = scan.nextInt();
        
        System.out.println("请输入double值:");
        double d = scan.nextDouble();
        
        System.out.println("请输入字符串:");
        String str = scan.next();
        
        System.out.println(i);
        System.out.println(d);
        System.out.println(str);
        
        需求:从控制台输入两个int值,求和
            Scanner scan = new Scanner(System.in);
        
            System.out.println("请输入第一个数字:");
            int a = scan.nextInt();
            System.out.println("请输入第二个数字:");
            int b = scan.nextInt();
            
            int result = a+b;
            System.out.println("两个数字之和为:" + result);
            
        小结:
            1.创建Scanner类的对象 - Scanner scan = new Scanner(System.in);
            2.导包 - import java.util.Scanner;
            3.调用功能
                int i = scan.nextInt(); 输入int值并赋值给变量i
                double d = scan.nextDouble();输入double值并赋值给变量d
                String str = scan.next();输入字符串值并赋值给变量str
    */
    public static void main(String[] args){
        
        
    }
}

知识点:表达式
            5+6 算数表达式
            5>6 关系表达式
    
        知识点:三目运算符/三元运算符
        
        语法结构:
            变量 = (表达式)?值1:值2;
        
        理解:表达式的结构必须是boolean类型
            true - 将值1赋值给变量
            false- 将值2赋值给变量

import java.util.Scanner;
public class Test08{
    /**
        知识点:表达式
            5+6 算数表达式
            5>6 关系表达式
    
        知识点:三目运算符/三元运算符
        
        语法结构:
            变量 = (表达式)?值1:值2;
        
        理解:表达式的结构必须是boolean类型
            true - 将值1赋值给变量
            false- 将值2赋值给变量
            
        做实验:
            int num = (false)?10:20;
            System.out.println(num);
            
        需求1:在控制台输入两个数字,输出最大值
            Scanner scan = new Scanner(System.in);
        
            System.out.println("请输入第一个数字:");
            int a = scan.nextInt();
            System.out.println("请输入第二个数字:");
            int b = scan.nextInt();
            
            int max = (a>b)?a:b;
            System.out.println("最大值为:" + max);
            
        需求2:在控制台输入三个数字,输出最大值
            Scanner scan = new Scanner(System.in);
        
            System.out.println("请输入第一个数字:");
            int a = scan.nextInt();
            System.out.println("请输入第二个数字:");
            int b = scan.nextInt();
            System.out.println("请输入第三个数字:");
            int c = scan.nextInt();
            
            int max = (a>b)?sa:b;
            max = (max>c)?max:c;
            System.out.println("最大值为:" + max);
            
        需求3:在控制台输入三个数字,从小到大输出
            Scanner scan = new Scanner(System.in);
        
            System.out.println("请输入第一个数字:");
            int a = scan.nextInt();
            System.out.println("请输入第二个数字:");
            int b = scan.nextInt();
            System.out.println("请输入第三个数字:");
            int c = scan.nextInt();
            
            //获取最大值
            int max = (a>b)?a:b;
            max = (max>c)?max:c;
            
            //获取最小值
            int min = (a<b)?a:b;
            min = (min<c)?min:c;
            
            //获取中间值
            int mid = a+b+c-max-min;
            
            System.out.println(min + "<" + mid + "<" + max);
            
        经典面试题一:
            System.out.println((false)?10.9:9);//9.0
            
        经典面试题二:
            char x = 'x';//Unicode - 120
            int i = 10;
            System.out.println(false?i:x);//120
        
        经典面试题三:
            char x = 'x';//Unicode - 120
            System.out.println(false?100:x);//x
            System.out.println(false?100000:x);//120
        
        扩展 - 常量:在程序执行过程中不可发生改变的量
        ps:数字字面量就是常量的一种
        
        
        三目运算符返回值规则:
            1.值1和值2都是常量的情况下,按照取值范围大的类型返回数据
            2.值1和值2都是变量的情况下,按照取值范围大的类型返回数据
            3.值1和值2一个是常量一个是变量的情况,判断常量是否在变量所属类型的取值范围里
                在   - 按照变量类型返回数据
                不在 - 按照常量类型返回数据
        
    */
    public static void main(String[] args){
        
        
        
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值