Java第一二章 13个容易犯错的地方。希望大家能补充。
1.
没有写main或者写错为mian。如此运行的时候就不会运行当前代码,而是运行其他有主方法的类。“main”不是java的关键字,但被JVM(Java虚拟机)识别。
2.
同上,public static 漏写 void顺序错误,String S小写。等等。都会出现运行错误。所以初期最好记事本多谢一段时间程序。
3.
英文大小写。尽量除了输入汉字之外都切换为英文输入法。
4.
分号;断句,大括号,小括号。成对出现。
5.
.变量只能是字母,$,_开头,接下来的第二个可以是,数字
6.
不能重复声明变量,特别是类型。全局变量声明过之后,局部不用再加类型了。而且必须还要赋值后才能使用。这叫做变量初始化。而且只有初始化的变量才能赋值给其他变量。
Java在方法中定义的变量不会自动初始化,必须要我们给它初始化后才能使用它。在类中定义的变量会自动初始化。
7.
同样数据类型基本不变,但是会出现自动转化与强制转换。强制转换的还好说,会有报错,自动转换的却不会报错,但是运行结果就可能完全不对。就比如:int count = 1;
count++;
double sum = 0;
sum = count/10;
Sum的结果永远为0。
因为count是int 类型,所以除以10,得到0.1,,0.2,0.9等等都要转化为int类型,不足1,转化为0.所以sum永远为零。要么把count申明为double类型。要么除以10变为除以10.0.才能得到不足1的小数。
double count = 1;
sum = count/10.0;
8.
=不是数学的等于号,是编程的赋值。==也不等同于数学的等号,是数值型的两个数据相比较的真假。只要出现equals,其比较对象必然是字符串类型,不能是数值类型,也不能是,字符类型。
9
.注意””和()‘’以及前后顺序
System.out.println(1+2+”3″);//33
System.out.println(“1″+2+3);//123
System.out.println(“1″+(2+3));//15
System.err.println(“1″+(2+’3′));//红色153
10.
用记事本编写程序,运行代码的时候一定要看看是否有编译后的class文件,没有的话,就不出现不知名的报错。
11.
int i=0;int j=0;
j++;
i=i++;
System.out.println(“i的值为:”+i);//i为0 System.out.println(“j的值为:”+j);//j为1
i++绝不等同于i=i++。
12.
byte a=10;
byte b=a+10;//报错,必须强制转化.如下:
。
byte b=(byte) (a+10);
13.
byte a1=1;
byte b1=2;
byte c=a1+b1;//再次报错。还是要强制装换。如下
byte c=(byte) (a1+b1);
14.
输出结果不同。同一个程序运行多次结果不一样。
System.err.println();
System.out.println();
因为err,红色输出。导致输出结果显示排序不同,结果不同。
System.in,System.out,System.err,由JVM自动创建。