JAVA易错点详解(数据类型转换、字符串与运算符)
前言
文章讲解一些易错题,小伙伴们有任何看不懂的可以评论或私信我,若文章错误,也希望大家能够指出。
一.数据类型转换
1.小类型转换为大类型
2.整数转换为小数,会有误差。
3.字符型会提升为整型在参与计算。
例如byte和short在计算时,会转换为int在参与计算,那么为什么吗?
原来计算机通常把低于四个字节的类型提升为int,再参与计算。
byte a = 10; byte b = 20; byte c = (byte)(a+b);//byte型的a与b参与计算后变为8个字节 //byte型的c只能有一个字节,所以发生了强制类型转换 System.out.println(c);//30
易错:从int转换到byte可能有损失
二、字符串
再java中的类库中提供了一个预定义类,String。
使用方法如下:
String str = "abcd"; 或者 String str; str = "abcd";
易错题
1.字符串的拼接
int a = 10; int b = 20; System.out.println("a = "+a +"b = "+b);//a = 10b = 20 System.out.println(a+b);
2.字符串拼接其他为字符串
System.out.println("a + b = "+a+b);//a + b = 1020 System.out.println(a+b+"a + b ");//30a + b
三、运算符
1、算术运算符中的 /与%
System.out.println(10%0);//编译错误 System.out.println(11.5%5);//1.5 System.out.println(10/-2);//-5 System.out.println(-10/2);//-5 System.out.println(-10/-2);//5
2.自增运算符
int a =10; a =a++; System.out.println(a);//输出结果为10
3.赋值运算符
int a = 4; double d = 5.0; a += d; //+=操作符来说,会自动转换 System.out.println(a);
4.关系运算符
在JAVA中的 逻辑非!后面只能跟true或false
int a = 10; System.out.println(!a);//错误 System.out.println(!false); System.out.println(!true);