1.逻辑类型:boolean
-
常量:true false
-
boolean类型的值只有true和false两种逻辑值
-
用boolean声明逻辑变量,声明时可以赋给初值
列如:
boolean male=true,on=true,off=false,isTriangle; isTriangle=true; if(isTriangle==false) { System.out.println("小哥哥"); } else { System.out.println("小姐姐"); } System.out.println(male); System.out.println(on); System.out.println(off); 运行结果: 小姐姐 true true false
2.整数类型(int byte short long)
a.int型
-
分配4个字节,因此,取值范围是:-231~231-1。
-
用int声明int型变量,声明时可以赋给初值;声明的值可以改变,在int前加final后不能改变,因为加final后是个常量了不能改变。
列如:
int i=100,j=200; System.out.println(i); System.out.println(j); i=1; System.out.println(i); System.out.println(j); 运行结果: 100 200 1 200
b.byte型
-
分配1个字节,因此,取值范围是:-27~27-1。如果声明一个byte型变量大于127,则127后面是-128,-127·····,形成-128~127的周期循环
列如:
byte a=(byte)128;//由于128大于取值范围则需要加上byte进行转换
System.out.println(a);
结果:
-128
-
java中不存在byte型常量的表示法(不是说不能加final),但可以把一定范围的int型常量赋值给byte型常量。
c.short型
-
分配2个字节,取值范围:-215~215-1。
-
java中不存在short型常量的表示法(不是说不能加final),但可以把一定范围的int型常量赋值给short型常量。
d.long型
分配8个字节,取值范围:-263~263-1
long型常量用后缀L来表示。
3.数据类型:char
-
分配2个字节,取值范围:0~65535。没有负数的char
-
对于 char x='a'; 内存x中存储的是97,97是字符a在Unicode表中的位置。
点击了解char
char x='b',y=67; System.out.println(x); System.out.println(y); 结果: b C
3.特殊符号,需要通过转译。
列如:
char x='\',y='"';
System.out.println(x);
System.out.println(y);
结果:
"
4.十六进制转译 需要u做前缀 格式为 :‘u····’
列如:0041(十六进制数)=65(二进制) 65在Unicode中对应A
char x='u0041',y='u0061';
System.out.println(x);
System.out.println(y);
结果:
A
a
char举例
public class Hello2 {
public static void main(String[] args) {
char chinaWord='好',japanWord='あ';
char you ='u4F60';
int position=20320;
System.out.println("汉字:"+chinaWord+" 的位置:"+(int)chinaWord);
System.out.println("日文:"+japanWord+" 的位置:"+(int)japanWord);
System.out.println(position+" 位置上的字符是:"+(char)position);
position=21319;
System.out.println(position+" 位置上的字符是:"+(char)position);
System.out.println("you: "+you);
}
}
4.浮点类型:float double
a.float(单精度)
-
常量后面必须要有后缀 f 或 F 例如:12.123f
-
分配4个字节
-
float 变量在存储float型数据时保留8位有效数字(相对double型保留的的有效数字,称之为单精度)。例如,将常量12345.123456789f 赋值给float 变量x :x=12345.123456789f。那么,x存储的实际值是:12345.123046875(8位有效数字,加粗的是有效数字)。
b.double(双精度)
-
常量后面有后缀d或D,可以省略
-
分配8个字节
-
double 变量在存储double型数据时保留16位有效数字(相对double型保留的的有效数字,称之为双精度)
float与double
public class Hello {
public static void main(String[] args) {
float x=12345.1234567890f;
double y=12345.102030405060708090;
System.out.println(x);
System.out.println(y);
}
}
结果:
12345.123
12345.10203040506
注:float x=0.4f double y=0.4 x!=y



