IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java运算符 -> 正文阅读

[Java知识库]java运算符

目录

1.Java运算符

2. 算数运算符

3.赋值运算符

4.关系运算符

5.逻辑运算符

6.字符串拼接符

7.三目运算符

8.位运算符


1.Java运算符

????????算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。

2. 算数运算符

符号:+、-、*、/、%、++、--

注:%是取余 例如“10%3”的结果是1,即余数为1

++:自身加一 ? ++a和a++的区别 ? ++a是先自增再使用 ? a++是先使用再自增?

符号“--”的使用方法同上

总结:

  1. byte类型做运算会先向上转型成int类型,再做运算。

    原因:CPU每次去获取32位的数据,所以没有32位就向上补成32位。

  2. short类型做运算会先向上转型成int类型,再做运算。 原因:CPU每次去获取32位的数据,所以没有32位就向上补成32位。

  3. byte和short做运算会向上转型成int类型(补成32位)。

  4. 除了byte和short一起做运算,其余的数值型按照取值范围大的类型进行类型提升。

  5. char类型可以做运算,将字符转换为ASCII表中的数值。

  6. ++num; 和 num++; 没有区别。原因:表示一行执行语句的结束,不管先加还是后加,都自增1。

3.赋值运算符

符号:=、+=、-=、*=、/=、%=

注:+=可理解为将右边的值与左边的值相加再赋值给左边 如:a+=1;即为a=a+1;

4.关系运算符

符号:==、!=、>、<、>=、<= 注意: = 赋值号 == 判断两个值是否相等 != 判断两个值是否不相等 总结:关系运算符的结果都是boolean类型

5.逻辑运算符

符号:& 与 &&短路与 | 或 ||短路或 ^ 异或 ! 非

  1. &与:两侧都是boolean,两侧都成立(true),结果才为true。

  2. &&短路与:两侧都是boolean,两侧都成立(true),结果才为true。

    & 与 &&区别: &:判断前者为false后,还会判断后者 &&:判断前者为false后,不会判断后者,效率更高

  3. |或:两侧都是boolean,两侧有一侧成立(true),结果就为true。

  4. || 短路或:两侧都是boolean,两侧有一侧成立(true),结果就为true。

    | 与 ||区别: |:判断前者为true,还会判断后者 ||:判断前者为true,不会判断后者,效率更高

  5. ^ 异或:两侧都是boolean,两侧不一样,结果为true

  6. ! 非:置反

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

6.字符串拼接符

符号:+ 注: +号两侧都是数值,此符号为算数运算符 +号一侧是字符串或者两侧都是字符串,此符号为字符串拼接符

System.out.println(1+2+"abc"+"def"+1+2);
    //              3 +"abc"+"def"+1+2
    //               "3abc" +"def"+1+2
    //                  "3abcdef" +1+2
    //                    "3abcdef1"+2
    //                      "3abcdef12"
?

7.三目运算符

举例: 1+2 算数表达式? ?1>2 关系表达式

  1. 三目运算符

    语法结构: 数据类型 变量 = (表达式)?值1:值2; 理解: 表达式的结果必须是boolean类型 true -将值1赋值给变量 false-将值2赋值给变量

  2. 三目运算符的返回值规则:

    1. 值1和值2都是常量的情况:按照取值范围大的类型进行转型

    2. 值1和值2都是变量的情况:按照取值范围大的类型进行转型

    3. 值1和值2一个是常量一个是变量的情况:

      如果值1在值2类型的取值范围内:就按照值2的类型进行返回数据

      如果值1不在值2类型的取值范围内:就按照值1的类型进行返回数据

案例:在控制台输入三个数字,由小到大输出(1<2<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);
?

8.位运算符

含义:把十进制转化为二进制进行运算。

符号:&、|、^、>>、<<、<<<

  1. &:同位比较,两者为1,结果才为1。

  2. |:同位比较,两者有1,结果就为1。

  3. ^:同位比较,两者不同,结果就为1。

????????&、|、^:两侧都是数值,该符号为位运算符。

????????&、|、^:两侧都是boolean值,该符号为逻辑运算符。

?????4.<<左移:整体向左移动n位,就用n个0补位。

? ? ?5.>>右移:整体向右移动n位,就用n个最高位(符号位)补位。

? ? ?6.<<<无符号位右移:整体向右移动n位,就用n个0补位。

注:正整数>>或>>>没有区别,区别在于负数。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 13:51:00  更:2022-01-08 13:53:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:01:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码