Java二级考试重点:final, finally解析与错误实例分析

需积分: 0 1 下载量 111 浏览量 更新于2024-09-28 收藏 123KB PDF 举报
"计算机等级考试二级Java初级练习" 在计算机等级考试二级Java部分,考生需要对Java编程语言的基础概念有深入的理解。以下是基于题目提供的内容所涵盖的一些关键知识点: 1. **浮点型变量的赋值**:在Java中,浮点型变量包括`float`和`double`。如果要给`float`类型的变量赋值,数值后面必须跟上`f`或`F`,例如`float f = 3.4f`。否则,3.4会被解析为`double`类型,导致编译错误。 2. **参数传递方式**:Java采用的是**值传递**,但对对象的引用传递是值传递的一种表现。当一个对象作为参数传递给方法时,方法得到的是对象引用的副本,而不是实际对象的副本。因此,方法内对对象的修改会影响到原始对象,但这并不意味着Java有真正的引用传递。 3. **final关键字**:`final`关键字用于声明不可变的类、变量或方法。当一个类被声明为`final`,意味着它不能被继承。同样,`final`变量一旦赋值后就不能再改变,`final`方法也不能被重写。 4. **Error与Exception的区别**:`Error`通常表示系统级别的错误,如内存不足或硬件故障,这类错误一般程序无法恢复,程序会终止运行。而`Exception`是程序设计中可预见的异常情况,需要程序员通过`try-catch`块来捕获并处理。 5. **finally块**:在异常处理中,`finally`块用于确保某些代码无论是否发生异常都会执行。它常用于关闭文件流、网络连接等资源释放操作。即使在`try`或`catch`块中有`return`语句,`finally`块的代码仍然会被执行。 6. **String对象的创建**:`Strings = new String("xyz");`这行代码创建了两个对象,一个是在常量池中的"xyz"字符串,另一个是在堆中由`new`操作符创建的新`String`对象。`String`对象是不可变的,每次对`String`的修改都会创建新的对象。 7. **短整型变量的运算**:`short s1 = 1; s1 = s1 + 1;`和`s1 += 1;`两行代码在没有显式类型转换的情况下都会报错,因为`1`被视为`int`类型,`short`与`int`相加的结果是`int`,需要进行类型转换(`s1 = (short)(s1 + 1)`)才能避免编译错误。 8. **数组与String的length属性**:数组具有`length`属性,可以获取数组元素的数量,如`int[] arr = new int[5]; System.out.println(arr.length);`。而`String`类有一个`length()`方法,用来获取字符串的字符数量,如`String str = "abc"; System.out.println(str.length());`。需要注意的是,`length()`是一个方法,需要通过括号调用,而`length`是数组的一个属性,直接访问即可。