Java编程的初学者常常会遇到各种各样的问题。对于自学的读者来说,则是需要花费更多的时间、精力来解决这些问题,而且一旦遇到的问题几天都得不到解决,往往会带来很大的挫败感。
所以本节介绍一些初学者经常出现的错误,以便减少读者在学习中的障碍。
-
大小写问题
例如,有的读者编写的 Java 程序的类是 HelloJava,但当他运行 Java 程序时,运行的则是 java hellojava 这种形式,这种错误的形式没有严格按 Java 程序中编写的来写,可能引起系统提示如图 1 所示的错误。
因此这里必须提醒大家,在 Java 程序里,HelloJava 和 hellojava 是完全不同的,必须严格注意 Java 程序里的大小写问题。
不仅如此,读者按照教程中示例编写 Java 程序时,必须严格注意 Java 程序中每个单词的大小写,不要随意编写。例如 class 和 Class 是不同的两个词,class 是正确的,但是如果写成 Class,则程序无法编译通过。
实际上,Java 程序中的关键字全部是小写的,无需大写任何字母。
-
路径里包含空格的问题
这是一个更容易引起错误的问题。由于 Windows 系统的很多路径都包含了空格,典型的例如 Program Files 文件夹,而且这个文件夹是 JDK 的默认安装路径。
如果 CLASSPATH 环境变量里包含的路径中存在空格,则可能引发错误。因此,推荐大家安装 JDK 以及 Java 相关程序、工具时,不要安装在包含空格的路径下,否则可能引发错误。
-
main 方法的问题
定义 main 方法时,不要写成 Main 方法,如果不小心把方法名的首字母写成了大写,编译时不会出现任何问题,但运行该程序时将给出如图 2 的错误提示:
这个错误提示找不到 main 方法,因为 Java 虚拟机只会选择从 main 方法开始执行。对于 Main 方法,Java 虚拟机会把该方法当成一个普通方法,而不是程序的入口。
main 方法里可以放置程序员需要执行的可执行性语句,例如 System.out.println("Hello Java!"),这行语句是 Java 里的输出语句,用于向控制台输岀“Hello Java!”这个字符串内容,输出结束后还输出一个换行符。
在 Java 程序里执行输岀有两种简单的方式:System.out.print(需要输出的内容) 和 System.out.println (需要输出的内容),其中前者在输出结束后不会换行,而后者在输出结束后会换行。
-
变量命名与类型
变量命名:
-
规则:变量名应以字母、下划线_、美元符号$开头,后跟字母、数字、下划线或美元符号。不能使用Java关键字作为变量名。推荐使用驼峰命名法(camelCase)。
-
实例:正确的变量名如userName、age;错误的变量名如1stName(以数字开头)、class(Java关键字)。
类型选择:
-
基本类型:包括int、float、double、char等。
-
实例:错误示例:int score = 92.5;// 这将导致编译错误,因为int不能存储小数。
-
int age = 25;// 整数类型
-
float height = 5.9f;// 浮点数类型,注意f或F后缀
-
double weight = 65.5;// 双精度浮点数类型
2. 控制流语句
条件语句:
-
if-else:根据条件执行不同的代码块。
-
实例:
java复制代码
intscore=85; if(score >=60) { System.out.println("及格"); }else{ System.out.println("不及格"); }
循环语句:
-
for:常用于已知循环次数的场景。
-
实例:
java复制代码
for(inti=0; i <5; i++) { System.out.println("i的值是:"+ i); }
3. 数组与集合
数组:
-
定义与初始化:可以静态初始化或动态初始化。
-
实例:
java复制代码
int[] numbers = {1,2,3,4,5};// 静态初始化 int[] anotherNumbers =newint[5];// 动态初始化,但未赋值 for(inti=0; i < anotherNumbers.length; i++) { anotherNumbers[i] = i *2; } 注意:数组索引越界异常(ArrayIndexOutOfBoundsException),如System.out.println(numbers[5]);// 数组索引从0开始,最大为4。
集合:
-
List:动态数组,允许重复元素。
-
实例:
java复制代码
importjava.util.ArrayList; importjava.util.List; List<String> fruits =newArrayList<>(); fruits.add("Apple"); fruits.add("Banana"); System.out.println(fruits);// 输出:[Apple, Banana]
4. 异常处理
try-catch:
-
基本结构:将可能抛出异常的代码放在try块中,用catch块捕获并处理异常。
-
实例:
java复制代码
try{ intresult=10/0;// 尝试除以0,将抛出ArithmeticException }catch(ArithmeticException e) { System.out.println("除数不能为0"); }
自定义异常:
-
实例:
java复制代码
classMyExceptionextendsException{ publicMyException(String message){ super(message); } } publicvoidtestException()throwsMyException { thrownewMyException("这是一个自定义异常"); }
5. 类与对象
类的定义:
-
基本结构:包含成员变量(属性)和方法。
-
实例:
java复制代码
publicclassPerson{ String name; intage; publicvoidintroduce(){ System.out.println("我叫"+ name +",今年"+ age +"岁。"); } }
对象的创建与使用:
-
实例:
java复制代码
Personperson=newPerson(); person.name ="张三"; person.age =30; person.introduce();//
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/3612.html