栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java操作符和基本数据类型转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java操作符和基本数据类型转换

Java的操作符看似凌乱,大致分为四类。

  1. 算术操作符
  2. 逻辑相关的
  3. 位相关的
  4. 类型转换操作符
算术操作符

包括+,-,*,/,%。

  • 字符串操作符
    加减运算可值得讨论的不多。唯一需要注意的是当+的操作数中出现了字符串时,+就会具有字符串拼接的功能,这类似于c++的操作符重载机制,即一个操作符具有两种功能。

    它具有以下几个性质:当一个+的其中一个操作数是字符串时,就会把+的左右两个操作数都看成字符串,并把两个字符串拼接成一个字符串。若是连续的+表达式,则从那个具有字符串操作数的+操作符开始,后面所有的操作数都会被看作字符串。(记得给栗子)

  • 整数乘法和除法
    与乘法除法相关操作符是*,/,%。整数乘法值得说的不多,重点是整数除法。
    /的作用是得到除法商(只保留商的整数部分),%的作用是返回除法运算的余数。要注意的是0不允许作为除数。

  • 乘法和除法数系的扩充
    *,/,%也支持负数和浮点运算。支持负数意味着除数,被除数和商都可以是负数。当这三个操作符的其中一个或两个操作数是浮点类型时,这个表达式就允许浮点运算了。(给例子)

逻辑相关的操作符

这些操作符有一个共同的特性:返回值是布尔类型。

关系操作符

(==,!=,>,<,>=,<=)

  • 操作数:==适用于所有数据类型,其他的关系操作符适用于除boolean外的所有基本数据类型。
  • 返回值:,根据表达式的真假,返回对应的boolean值
逻辑操作符

(&&,||,!)

  • 操作数:boolean
逻辑与&&

当操作符左右都是true时,返回true,否则返回false。

逻辑或||

当操作符左右至少有一个true时,返回true,只有两边都是false时,才返回false。

逻辑非!

当操作符是true时,返回false。当操作符是false,返回true。

短路求值:

当逻辑与&&和逻辑或||表达式的结果已经确定时,剩余的操作数将不会继续运算,目的是提高运算效率。

三元操作符
  • 语法: boolean表达式?表达式1?表达式2;
  • 返回值:当boolean表达式为true,返回表达式1,否则返回表达式2
    与分支语句if-else的比较:
  • 优点:代码精简。
  • 缺点:频繁使用可能会影响代码可读性。
位运算相关操作符
  • 特点:对操作数的单个二进制位进行操作
按位操作符

(&,|,^,~)

  • 操作数:除~不可对boolean进行操作外,均可对整数和boolean进行操作
  • 返回值:
    操作数为boolean时:结果等同于不会短路求值的关系运算符
    操作数为整数时:对操作数的每个二进制为进行操作。
按位与&:

只有两个操作数的对应的二进制位都是1,返回值的对应二进制才为1,否则为0。

按位或|:

对应的二进制至少有一个1,结果就为1。

按位异或^:

只有对应的二进制不同时,结果为1,相同则为0。

按位取反~:

一元操作符。若操作数的对应二进制为1,则返回值的对应二进制位为0;反之,若操作数为1,则返回值为0;

移位操作符

(<<,>>,>>>)

  • 操作数类型:整数
  • 语法:操作数 移位操作符 要移位操作的次数(不小于0的整数);
  • 返回值:
    <<左移:最高位去除,最低位补0
    >>右移:最低位去除,最高位补符号位
    >>>无符号右移:最低位去除,最高位补0
类型转换操作符和Java的基本数据类型转换体系 类型转换操作符
  • 语法:(数据类型)变量;
  • 作用:指定某个变量的类型。
基本数据类型转换体系

类型转换的发生时机:在变量使用操作符进行运算前。

扩展转换(隐式转换)

又分为整形提升和算术转换,因为其会自行发生,因此也称为隐式转换。

  • 整形提升:当变量的字节小于四个字节时,会提升为四个字节再进行运算。
  • 算术转换:当二元操作符的某个操作数大于4个字节,另一个操作数的大小小于四个字节,或者一个操作数是整数,一个操作数是浮点数据时。相对小的操作数会进行算术提升,把自己的类型转换为另一个的类型。
注意点:

1boolean不能和其他基础数据类型相互转换。
2当整数和浮点数运算前,整数会提升为浮点数。
3扩展转换发生在运算前而不是运算后。

窄化转换

大转小 必须使用强制操作符,否则会编译错误

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324777.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号