一.字符类型转换、
字符类型转换分别有隐式转换和强制类型转换。
1.隐式转换,在类型表示范围大小从小到大的转换,是可以直接转换的。
byte i=12;、
int j=i;
System.out.println("j = " + j);
long a=j;
System.out.println("a = " + a);
double n=a;
System.out.println("n = " + n);
2.强制转换,如果需要把表示范围大的字符类型转换为范围小的字符类型就需要用到强制转换、
double c=129747l;
int x=n;//转换失败, 类型从大到小,需要强制转换。
int x=(int)c ;//强制转换将double类型转换为int类型、
System.out.println("x = " + x);
char t='赢';
int k=(int) t;
System.out.println("k = " + k);
在字符类型转换里容易马虎犯的错
int java = 90;
int html = 89;
int sql = 60;
double ageScroe = (java + html + sql) / 3;
System.out.println("ageScroe = " + ageScroe);
这里我定义了一个double 类型的变量ageScroe求三个数的平均值,运行出的理想值应该是ageScroe = 79.66666666666667,但是输出的是ageScroe = 79.0,这里的原因是第四行代码等号右边是以int类型来计算的,计算出int类型的ageScroe再隐式转换为double类型的。解决方案应该是,
double java = 90.0;
double html = 89.0;
double sql = 60.0;
double ageScroe = (java + html + sql) / 3;
System.out.println("ageScroe = " + ageScroe);
虽然是很简单的问题。
二、==与.equals()的区别。
1、==比较的是两个数值,比较的是值,比较引用类型时,比较的是物理地址。
2、.equals()用来比较两个字符串是否相等,比较的是值。
.equals 使用方式: 第一个字符串.equals(第二个字符串)
String str1="java";
String str2="java";
System.out.println(str1==str2);//true
String str3 =new String("java");
System.out.println(str1==str3);//false
System.out.println(str2.equals(str3));//true