有个关于数据类型的问题没想明白,希望那位大侠给讲没明白点。先谢啦~~
代码1:
public class 实验{
public static void main(String[] args){
char letter1='A';
letter1+=1;
System.out.println(letter1);
}
}
代码2:
public class 实验{
public static void main(String[] args){
char letter1='A';
letter1=letter1+1;
System.out.println(letter1);
}
}代码1可以通过编译,并运行后显示B。但是如果将代码一改为代码2,就无法通过编译了。能解释下代码1用“+=”为什么能通过,而代码2用“letter1+1”为什么不能通过么?在线等1小时~~~~~
代码1:
public class 实验{
public static void main(String[] args){
char letter1='A';
letter1+=1;
System.out.println(letter1);
}
}
代码2:
public class 实验{
public static void main(String[] args){
char letter1='A';
letter1=letter1+1;
System.out.println(letter1);
}
}代码1可以通过编译,并运行后显示B。但是如果将代码一改为代码2,就无法通过编译了。能解释下代码1用“+=”为什么能通过,而代码2用“letter1+1”为什么不能通过么?在线等1小时~~~~~
相当于letter=(char)(letter+1),编译器保证这点;
你的理解是正确的.
代码2类型不兼容.