大数据必学Java基础(十八):条件运算符和位运算符

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据必学Java基础(十八):条件运算符和位运算符相关的知识,希望对你有一定的参考价值。

文章目录

条件运算符和位运算符

一、条件运算符

1、格式

2、代码

3、练习

二、位运算符(了解)

1、<<   左移 

2、>> 有符号右移

3、>>> 无符号右移 

4、& 与

5、| 或

6、^ 异或

7、~ 反 


条件运算符和位运算符

一、条件运算符

又称三元运算符/三目运算符

1、格式

a?b:c

其中a是一个布尔类型的表达式,返回结果要么是true要么false,通过a的结果决定最终表达式的结果:

如果a的结果是true,那么表达式最终结果为b

如果a的结果是false,那么表达式最终结果为c

2、代码

public class TestOpe11
        public static void main(String[] args)
                int num = (5>7)?6:9 ;
                System.out.println(num);
                
                String str = (4==4)?"你好":"你不好" ;
                System.out.println(str);
                
                System.out.println((4==4)?"你好":"你不好");
        

3、练习

import java.util.*;//*代表所有
public class TestOpe12
        public static void main(String[] args)
                //实现功能:男孩女孩选择晚饭吃什么,如果意见一致,听男生的,如果意见不一致,听女生的
                
                //1.要让男孩女孩选择晚饭吃什么:
                Scanner sc = new Scanner(System.in);
                System.out.println("请选择今晚吃什么:1.火锅 2.烧烤 3.麻辣烫 4.西餐");
                System.out.println("请男孩选择:");
                int boyChoice = sc.nextInt();
                System.out.println("请女孩选择:");
                int girlChoice = sc.nextInt();
                //2.判断:
                System.out.println(boyChoice==girlChoice?"听男孩的":"听女孩的");
        

PS:三目运算符可以代替后续我们要学习的if-else

二、位运算符(了解)

位运算符:&,|,^,~ , >>,<<,>>>

如何区分逻辑运算符和位运算符:

逻辑运算符:左右连接的是布尔类型的操作数

位运算符:左右连接的是具体的数值

1、<<   左移 

  3<<2 = 12

 面试题: 4乘以8最快的方式:  4<<3 

2、>> 有符号右移

6>>2 = 1 

-6>>2 = -2  

 

3、>>> 无符号右移 

6>>>2  = 1 

4、& 与

6&3 = 2

5、| 或

6|3=7

6、^ 异或

6^3 = 5

7、~ 反 

~6  = -7

PS:

byte类型的表数范围的 -128是怎么算出来的 

127: 01111111

-128:  10000000

一看就是个负数

减1:    01111111

取反:   10000000  ---》2^7  = 128

加负号:  -128


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨ 

以上是关于大数据必学Java基础(十八):条件运算符和位运算符的主要内容,如果未能解决你的问题,请参考以下文章

大数据必学Java基础(十七):关系运算符和逻辑运算符

大数据必学Java基础(十九):运算符总结

大数据必学Java基础(十六):赋值运算符

大数据必学Java基础(七十八):线程安全问题

大数据必学Java基础(五十八):Map接口讲解

大数据必学Java基础(九十八):JDBC API总结