byte b;
b=3;
b=b*3;
//possible loss of precision
//found : int
//required: byte
b=b*3
当字节类型byte
的变量,参与运算时,java
中做了自动数据类型提升,为了保证运算的精度,将byte
转换成了int
类型后进行运算。
改正:
b=(byte)(b*3);
float f;
f=1.3;
//possible loss of precision
//found : double
//required : float f=1.3;
java
中,小数的常量被认为是double
类型的
改正:
f=1.3f;
if(1){ }
//incompatible types
//found : int
//required : Boolean if(1)
在C
语言中,非0
值即可代表真true
作为判断条件,但是在java
中,要做条件判断时,只能用true/false
来判断
int num[3];
数组在定义的时候,是不能够分配空间的,即变量后的中括号内不能写空间大小
只能在定义之后,再分配大小。
int [ ] num;
num=new int[3];
或者:int [ ] num=new int[3];
int [ ] num;
num={1,2,3};
//illegal start of expression
数组的初始化只能在定义的时候,即 int[ ] num={1,2,3};