Java 基本数据类型

基本类型

包装类

字节数

位数

最大值

最小值

boolean

Boolean

1byte

8bit

true

fasle

byte

Byte

1byte

8bit

2^7 - 1

-2^7

short

Short

2byte

16bit

2^15 - 1

-2^15

int

Integer

4byte

32bit

2^31 - 1

-2^31

long

Long

8byte

64bit

2^63 - 1

-2^63

float

Float

4byte

32bit

3.4028235E38

1.4E - 45

double

Double

8byte

64bit

1.7976931348623157E308

4.9E - 324

char

Character

2byte

16bit

2^16 - 1

0


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类型。

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

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

 

逻辑运算符的真值表

A

B

A && B

A || B

!A

A ^ B

A & B

A | B

true

true

true

true

false

false

true

true

false

false

false

false

true

false

false

false

true

false

false

true

false

true

false

true

false

true

false

true

true

true

false

true

  • 两种逻辑与(&& 和 &)的运算规则基本相同,两种逻辑或(|| 和 |)的运算规则也基本相同。
  • & 和 | 运算是把逻辑表达式全部计算完,而&&和||运算具有短路计算功能。
  • 对于 & 来说,如果左侧条件为 false,也会计算右侧条件的值。
  • 对于 && 来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。