前言
Java基本类型共有八种,基本类型可以分为三类,
字符类型char
布尔类型boolean
数值类型byte、short、int、long、float、double
数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。
一、八种基本数据类型
各类型的特点
四种整型的特点
最大值:高位为 0 表示正数,其余 7 个位为 1 ,十进制为 127 。
最小值:高位为 1 表示负数,其余 7 个位为 0 ,十进制为 -128 。
所有的负数都是以补码的方式存储的。
以一个字节的 -6 为例:
原码: 1000 0110 反码: 1111 1001 补码: 1111 1010
计算机中常见的进制
二进制( Binary ): Java 中,二进制数使用 0b 或 0B 开始 ,如 0B110 表示十进制的 6
八进制( Octal ): Java 中,八进制数使用 0 开始 ,如 014 表示十进制的 12
十进制( Decimal ): Java 中,默认使用 10 进制
十六进制( Hexadecimal ): Java 中,二进制数使用 0x 或 0X 开始
浮点类型
•Java 语言浮点型字面值常量默认为 double 型,表示 float 型字面值常量需要在字面值常量后面加上 f 或 F,例如:float floatNum = 3.14F;
布尔类型
•Java 中的布尔型(boolean)可以表示真或假,只允许取值 true 或 false(不可以用 0 或非 0 的整数替代 true 或 false,这点和 C 语言不同),例如:boolean flag = true;
二、字符串类型
字符串不属于基本数据类型
字符串变量 通过 String 来声明 ,字符串字面值常量则需要用 半角双引号 将内容包裹。字符串字面值常量的长度,可以是 0 ,也可以是任意数量的。
例如:
String str1 = "";
String str2 = "Hello World" ;
三、基本数据类型的转换
容量小的类型可自动转换成容量大的数据类型,如下图所示。
byte 、 short 、 char 参与运算时会被自动转换为 int 类型。
容量大的数据类型转换成容量小的数据类型时,需要加上强制转换符,但可能造成精度降低或溢出,使用时需要格外注意。
有多种类型的数据混合运算时,系统首先自动地将参与运算的变量或字面值常量转换成容量最大的数据类型,然后再进行计算。
四、Java中的运算符
Java 语言支持如下运算符(重点)
算术运算符:+、-、*、/、%、++、--、三目运算符
关系运算符:>、<、>=、<=、==、!=
赋值运算符:=、+=、-=、*=、/= 等
逻辑运算符:!、&&、|| 等
位运算符:~、&、|、^、>>、<<、>>>(无符号右移)
算术运算符
•从参与运算的因子的数量,可以将算术运算符分为以下 3 类。
•单目运算符:+(取正)、-(取负)、++(自增 1)、--(自减 1)。
•双目运算符:+、-、*、/、%(取余)。
•三目运算符:(表达式 1)?(表达式 2):(表达式 3),当表达式 1 的结果为真时,整个运算的结果为表达式 2,否则为表达式 3,该运算符是 Java 语言唯一一个三目运算符,常被使用,需要掌握。
赋值运算符
•赋值运算符 = 和关系运算符 == 看起来比较类似,但含义完全不同,== 用于判断两边是否相等,而 = 是将右边的值赋给左边。
• +=、-= 等是扩展的赋值运算符,x += y 等价于 x = x + y,程序员在实际的编程过程中,为了方便阅读,尽量不要使用这种扩展的赋值运算符
逻辑运算符
逻辑运算符有三种,它们是逻辑非(用符号“!”表示)、逻辑与(用符号“&&”表示)和逻辑或(用符号“||”表示)
逻辑非表示取反,其逻辑关系值表如下图所示
逻辑与的运算规则为:有一个运算数为假,其值为假,两个运算数都为真,其值为真。逻辑与的关系值表如下图所示
逻辑或的运算规则为:有一个运算数为真,其值为真,两个运算数都为假,其值为假。逻辑或的关系值表如下图所示。