学习java遇到的问题(四)类型转换
错误代码:
public class Test01{
public static void main(String[] args){
byte b = 3;
b = b + 4;
System.out.println("b="+b);
}
}
报错:
Test01.java:7: 错误: 不是语句
Java中byte使用算术运算符,b会提升到int类型,默认产生的结果是int型.
^
Test01.java:7: 错误: 需要';'
Java中byte使用算术运算符,b会提升到int类型,默认产生的结果是int型.
^
Test01.java:7: 错误: 不是语句
Java中byte使用算术运算符,b会提升到int类型,默认产生的结果是int型.
^
Test01.java:7: 错误: 需要';'
Java中byte使用算术运算符,b会提升到int类型,默认产生的结果是int型.
^
4 个错误
纠正:
public class Test01{
public static void main(String[] args){
byte b = 3;
b = (byte)(b + 4);
System.out.println("b="+b);
}
}
1. 这里是因为byte型的b和Java默认的整形int型数字4的相加运算,结果是int型并赋值给b,所以需要强制转换;
2. 两个同类型的byte类型相加,依旧需要强制类型转换;
3. Java中byte使用算术运算符,b会提升到int类型,默认产生的结果是int型.
输出结果:
b=7