分类
java的数据类型分为两大类,分别是基本数据类型和引用数据类型。
基本数据类型
其中基本数据类型又有数值型(整型:byte,short,int,long,浮点型:float,double),字符型(char),布尔型(boolean)。
取值范围
其中byte的取值范围在-128~127之间;short的取值范围在-2^15~(2^15)-1之间;int的取值范围在-2^31~(2^31)-1之间;long的取值范围在-2^63~(2^63)-1之间;float的取值范围在-3.403E38~3.403E38之间;double的取值范围在-1.798E308~1.798E308之间;而char则表示一个字符;boolean只有false和ture两个值;整型的默认类型是int,浮点型的默认类型是double,char的默认值是空字符(\u0000),boolean的默认值是false;
基本数据类型的赋值和运算符
赋值:
1.用=可以为任意一种基本类型赋值;
2.赋值时不要超过每种基本类型的取值范围,否者会报错;
3.char类型赋值可以用单个字母赋值,也可以用非负整数赋值;
运算符:
1.比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)<=(小于等于)、>=(大于等于)
2.数学运算符:+,-,*,/,%(求余)其中+还可以连接字符;
3.位运算符
4.逻辑运算符:短路逻辑运算符:&&(与)、||(或);非短路逻辑运算符:&、|;!、^(异或:相同为false,相反为ture);
引用类型
在Java中,除了8中基本数据类型,其他类型都是引用类型。任何一个对象都是引用类型
引用类型的赋值和比较运算
1.和基本类型一样,都是用=赋值;
2.除了String,包装器类(8个)外,都需要使用new关键字;
3.引用类型可以使用==和!=比较,但是比较的是引用类型的地址而不是内容;
4.引用类型不能用>,<,<=,>=进行比较;
5.当只声明了引用类型变量而没用为其赋值,则此时的变量为null;
Java语言中的8个包装器
Byte,Short,Integer,Long,Float,Double,Charcater,Boolean;
自动拆装箱:
装箱:Integer i=Integer.valueOf(int);
拆箱:i.intValue();
String
1.final 不可被继承,不能有子类;
2.不可变性。即一旦创建,内容不可变;
3.常量池 用=创建的字符会存在常量池中,new创建的不会;
StringBuilder和StringBuffer
String 不可变,而StringBuilder和StringBuffer可变。创建之后可以改变;
其中StringBuilder和StringBuffer的区别为安全性;StringBuffer 线程安全但效率低
StringBuilder 线程不安全但效率高;
若有错误清指正,谢谢!;