新手程序中的错误
程序中的错误
第一类:语法错误——就像是英语表达中的语法错误一样;
第二类:逻辑错误——程序执行后的结果并不是预期的结果,答案出错;
第三类:运行时错误——程序运行过程过程中出错,系统会阻止其继续运行;
第一类:语法错误
1、文件名和主类名不一致:public class后紧跟的类名和程序源文件名不是一致的;
//文件名Hello.java
public class HelloWorld { //public class后跟的类名是主类,也就是在执行时是先从这个类开始的。
……
}
2、单词拼写错误:Java语言是区分大小写的(就如同Linux一样)
System.out.prin("hello"); //print
system.out.print("hello"); //System
3、缺少必要组件:写类时忘写类名、写方法时忘写方法名或关键字、写语句时忘写分号、写字符串时忘写双引号;
public Hello { //出错
public void (String[] args) { //出错
System.out.println("hello,world.) //出错
}
}
第二类:逻辑错误
这是由于你的编程思想考虑不全面所导致的错误,比如:
在计算1.1加2.2时,你用的是int型变量存储;
第三类:运行时错误
示例:
public class RuntimeError {
public static void main(String[] args) {
oops();
}
public static void oops() {
System.out.println("Go. Go. Go.");
oops();
}
}
输出结果:
//输出结果:
Go. Go. Go.
Go. Go. Go.
……
Go. Go. Go.
Exception in thread "main" java.lang.StackOverflowError
at java.base/sun.nio.cs.UTF_8$Encoder.encodeLoop(Unknown Source)
at java.base/java.nio.charset.CharsetEncoder.encode(Unknown Source)
at java.base/sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
at java.base/sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
at java.base/sun.nio.cs.StreamEncoder.write(Unknown Source)
at java.base/java.io.OutputStreamWriter.write(Unknown Source)
at java.base/java.io.BufferedWriter.flushBuffer(Unknown Source)
at java.base/java.io.PrintStream.write(Unknown Source)
at java.base/java.io.PrintStream.print(Unknown Source)
at java.base/java.io.PrintStream.println(Unknown Source)
at kyle.HelloWorld.oops(HelloWorld.java:28)
at kyle.HelloWorld.oops(HelloWorld.java:29)
……