Java 基本数据类型/运算符

Java 基本数据类型

基本类型包装类字节数位数最大值最小值
booleanBoolean1byte8bittruefasle
byteByte1byte8bit2^7 - 1-2^7
shortShort2byte16bit2^15 - 1-2^15
intInteger4byte32bit2^31 - 1-2^31
longLong8byte64bit2^63 - 1-2^63
floatFloat4byte32bit3.4028235E381.4E - 45
doubleDouble8byte64bit1.7976931348623157E3084.9E - 324
charCharacter2byte16bit2^16 - 10

Java 运算符 分为四类:

  • 算数运算符(9):+  -  *  /  %  ++  --
  • 关系运算符(6):==  !=  >  >=  <  <=
  • 逻辑运算符(6):&&  ||  !  ^  &  |
  • 位运算符(7):&  |  ~  ^  >>  <<  >>>

一、算数运算符

算数运算符操作数必须是数值类型,分为一元运算符和二元运算符:

  • 一元运算符,只有一个操作数。
  • 二元运算符有两个操作数,运算符在两个操作数之间。

 

一元运算符:正 ‘+’负 ‘-’自加 ‘++’自减 ‘--’

  • ”++“和”--“运算符,只允许用于数值类型的变量,不允许用于表达式中。
  • "++"和”--“可以用于数值变量之前或者之后。

两处使用差别:

    ++ 和 -- 用于数值变量之前,在赋值操作中,先对被 ++ 或 -- 操作变量值先加1或者先减1,然后在进行其他的操作。

    ++ 和 -- 用于数值变量之后,在赋值操作中,先用被 ++ 或 -- 操作变量值先进行其他的操作,然后在加1或者先减1。

 

二元运算符:加 '+'减 '-'乘 '*'除 '/'求余 '%'

  • 在算数运算符中,+ - * / 完成加减乘除四则运算,%是求两个操作数相除后的余数。
  • 运算规则和数学运算基本相同,在算数运算中,计算时按照从左向右的顺序计算。
  • 乘除和求余优先于加减,不同的是,程序中的乘运算符不可省略,在数学中可写为 y=2x 而程序中必须写为 y=2*x 。
  • 当二元运算的两个操作数的数据类型不同时,运算结果的数据类型和参与运算的操作数的数据类型中精度较高(或位数较长)一致。

转换原则:

    从 低 精度向 高 精度转换byte 、short、int、long、float、double

    低精度到高精度会自动转换,而 精度到 精度则要类型 强制 转换。

 

计算机的数据长度:

    位:一个二进制数据0或1,是1bit(位) 。

    字节:存储空间的计量单位,是1byte = 8bit 。

 

注意:

    1. 数值计算中语法现象 晋升 即:byte、short和char(低于int的数据类型)进行算术运算后,结果会自动提升成int类型。

    2. char与任意类型运算时,也会先自动转换为int型的,再做其它类型的自动转换。

    3. 算数运算可以加入小括号"()"提高优先级,优先小括号内运算,再其他运算符运算。

    4. 算数运算前操作数变量必须赋值,反之,报语法错误。


 二、关系运算符

关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型(boolean布尔类型)的数值。

等于 '=='  不等于 '!='  大于 '>'  大于等于 '>='  小于 '<'  小于等于 '<='

 

注: boolean类型只能比较相等和不相等,不能比较大小;

     1. >=的意思是大于或等于,两者成立一个即可,结果为true,<=亦如此;

     2. 判断相等的符号是两个等号,而不是一个等号,这个需要特别小心。

     3. 实际代码中,数值、变量以及运算结果都可以直接参与比较。

     4. 但是是程序中为了增强可读性,有些时候需要将比较分开进行书写。

 

比较运算符是程序设计中实现数据比较的基础,也是很多逻辑实现的基础,在程序逻辑中,经常通过比较一定的条件,来判断后续的程序该如何执行。


三、逻辑运算符

逻辑运算符要求操作数的数据类型为逻辑型,其运算结果也是逻辑型值。

逻辑运算的数据和逻辑运算符的运算结果是boolean类型。

在程序设计时使用&&和||运算符,不建议使用 & 和 | 运算符。

逻辑与 '&&'   逻辑或 '||'   逻辑非 '!'   逻辑异或 '^'   逻辑与 '&'   逻辑或'|'

 

逻辑运算符的真值表
ABA && BA || B!AA ^ BA & BA | B
truetruetruetruefalsefalsetruetrue
falsefalsefalsefalsetruefalsefalsefalse
truefalsefalsetruefalsetruefalsetrue
falsetruefalsetruetruetruefalsetrue
  • 两种逻辑与(&& 和 &)的运算规则基本相同,两种逻辑或(|| 和 |)的运算规则也基本相同。
  • & 和 | 运算是把逻辑表达式全部计算完,而&&和||运算具有短路计算功能。
  • 对于 & 来说,如果左侧条件为 false,也会计算右侧条件的值。
  • 对于 && 来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值