JAVA的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:28:23
将一个二进制数-1转换成16进制数是:FFFFFFFF,我的问题是在JAVA里:
class twst
{
public stalic viod main(string[] agrs)
{
int i=0xffffffff;
int c=i<<2;
system.out.println(i);
system.out.println(c);
}
}
这段代码里,将I取值为-1,但为什么要在FFFFFFFF前面加上0X呢?
那要是这里不用0XFFFFFFFF直接用I=-1不行吗?

FFFFFFFF是一个整型常量,用于给整型变量(如问题中的i)赋值.在java中十六进制的整型常量用0x开头,如果没有这个开头,即int i=ffffffff.在编译时编译器会报错,原因是无法将一个字符常量赋值给一个整型变量.

顺便说一下:java对大小写敏感,问题中的system应写为
System

呵呵 ,兄弟多努力啊
ox开头代表16进制数
0开头代表8进制数

这个程序错误很多:
static void String System

1.可以使用i=-1,只要不超过int的范围就ok了
2.oX表示十六进制数,使用十六进制是为了位运算更容易表示
3.你的程序里错误不少啊

那是代表是十六进制