数据类型:
(1)基本数据类型:8种关键字修饰定义 结构简单
整数:byte short int long
浮点:float double
字符:char
布尔型:boolean
-
byte(1字节)short(2字节)int(4字节)long(8字节)
-
float (4字节) double(8字节)char(2字节一个字符)
System.out.printfln(Integer.MAX_VALUE);
long的字面常量是整数默认为int,超出int加l或者L;
float的字面常量是默认double,常量后加f或者F;
boolean的赋值只能为逻辑值true或者false;
char可以表示中文字符并且可以参加运算,用Unicode编码中十进制编号;
0 b开头为二进制数 0 x为十六进制 0为八进制;
数据转换
● 在Java程序中,不同的基本数据类型(只有7种,不包含boolean类型)变量的
值经常需要进行相互转换。
● 转换分为默认转换和强制转换
● 规则:将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)
的类型 。
● 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造
成精 度降低或溢出;使用时要格外注意。
● 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的
那一 种数据类型,然后再进行计算。
强制转换 int a= 127; byte b=(byte)a; 可能会出现精度溢出
String
● String不是基本数据类型,属于引用数据类型
● 使用一对""来表示一个字符串,内部可以包含0个、1个或多个字符。
● 声明方式 :
例如:String str = “abcd”;
String name = “张三”;
String是java类库中提供的一个类,用类来当做字符串变量类型.
运算规则
1.任意八种基本数据类型的数据与String类型只能进行连接“+”运算,且结果一定
也是String类型
2.String类型不能转为其他的基本类型
运算符
算术运算符:+、—、*、、、%、++、--
赋值运算符:=、+=、—=、*=、\=、%=
比较(或关系)运算符:<、>=、<、<=、==、!=
逻辑运算符:&、|、^、!、&&、||
位运算符:&、|、^、~、<<、>>、>>>
条件运算符:(条件表达式)?结果1:结果2
1.基本数据类型转换规则是什么,强制类型转换会出现什么问题?
-
1. 8种基本数据类型除boolean类型之外都可以相互转换. 2. 小容量向大容量转换叫做自动类型转换: byte<short<int<long<float<double char< 3. byte,short,char做混合运算的时候,各自都先转换成int在做运算 4.大容量向小容量转换是强制类型转换,需要加强制转换符, 编译虽然通过,运行期可能损失精度。谨慎使用。 5.如果整数没有超出byte,short,char的取值范围,可以直接将这个整数赋值给byte,short,char 6. 多种数据类型做混合运算,先转换成容量最大的那种再做运算。
(2)可能会出现溢出(装不下)和精度丢失(浮点转整数)
2.常用的运算符有哪几大类,分别是什么?
算术运算符:+、—、*、、、%、++、-- 赋值运算符:=、+=、—=、*=、\=、%= 比较(或关系)运算符:<、>=、<、<=、==、!= 逻辑运算符:&、|、^、!、&&、|| 位运算符:&、|、^、~、<<、>>、>>> 条件运算符:(条件表达式)?结果1:结果2
3.“+” 运算符有哪几种用法,需要注意什么?
1.加法 2.连接 3.正数 当把+号作为加法和字符串连接符一起使用的时候,注意把运算的地方()起来。
4.“++”运算符在使用时需要注意什么?
单独使用 :不和其他任何操作混合,自己独立成为一个步骤 混合使用 ;和其他操作混合,例如与赋值混合,或者与打印操作混合,等 在单独使用的时候,前++和后++没有任何区别。也就是两是完全一样的效果。 在混合使用时,有很大的区别【注意】 A:如果时【前++】,那么变量【立刻+1】,然后拿着结果进行使用。【先加后用】 B:如果时【后++】,那么首先使用本来的值,【然后再让变量+1】. 【先用后加】 注意事项: 只有变量才能使用自增、自减运算符。常量不可以发生改变,所以不能用。
5.& 与 && 的区别?
与“&&” 有短路效果:如果根据左边已经可以判断得到最终结果,那么后面则不在执行,从而节省一定的效能