JAVA中为什么int型变量不能赋给char型变量?

来源:百度知道 编辑:UC知道 时间:2024/05/09 05:57:11
public class A
{ public static void main(String args[])
int x=100;
char a=x;(这句为什么出错?)
System.out.println(a);
}
还有不是说static方法中不能操作实例变量吗?为什么还能用int x;为什么不是static int x;
那为什么把char a=x;这句换成char a=97;就对了!

int是32位,char是16位,怎么赋啊?

静态方法的确不能操作实例变量,可你的x变量也不是实例变量啊,它是写在main方法里面的,当然main方法可以访问它了。

不然,你吧x写在main外面,看看,就不能访问了。

char a=97;为什么对?是因为,给char变量赋值,一般是这样的:char a = '',

但如果把整数付给char变量,则意思是把ASCII码为那个整数的字符付给char变量。
比如:char a=97,打印a变量的值就是'a'。

类型不匹配, char是16位的,int是32位的.转换出错.

强制转化啊 改成char a=(char)x;

main(String args[]){}
大括号少了。。

char a = (char)x;//试试能不能强转