一、题型与分值分布
1、填空题(10小题,10分)
2、单项选择题(15小题,30分) 3、简答题(2小题,10分)
4、程序填空题(7小题,40分) 5、程序设计题(1小题,10分)
二、知识点 1、使用main方法的参数args,接收用户的输入。
【例题】设有如下代码:
public class Test{
public static void main(String args[]) { System.out.println(args[2]越界)
}
}
在命令行输入命令“java Test hello world”,则运行过程中出现异常 “java.lang.ArrayIndexOutOfBoundsException: 2”
2、按位运算符:|
【例题】执行下面语句,输出结果将为多少?
byte b = 10; // 00001010 二进制
byte c = 15; // 00001111二进制 System.out.println(b | c); 15
3、for语句、switch?case语句、if语句的工作原理。 【例题】有如下代码段: switch ( x ){
case 1:System.out.println(\ case 2:
case 3:System.out.println(\ default:System.out.println(\}
变量x的取值为多少时,能使程序输出\ ? ( 2,3 )
4、当字符串与其他类型的数据进行“+”运算,得到的结果是字符串型的数据。
【例题】请分析下列语句的输出结果。
System.out.println(\,3
System.out.println(2 + 3); 5 System.out.println(2 + 3 +\ System.out.println(2 + \,3
5、两个int型的数据相除的结果是int型。 【例题】请分析下列语句的输出结果。
System.out.println(5/2); 2
System.out.println(5/2.0); 2.5
System.out.println((double)(5/2));2.0
6、容量小的数据赋值给容量大的变量,将发生数据类型的隐式转换。容量大的数据类型转换为容量小的数据类型,需要进行强制转换。
【例题】设有如下变量声明
byte myByte;
int myInt; long myLong; char myChar;
则:语句myInt = myByte;过程中发生了隐式转换
语句myInt = myLong;编译将出错。需要强制转换
7、包与访问限定词。
【例题】在同一目录编译和运行以下两文件结果如何? //文件 P1.java
package MyPackage1; public class P1{
protected void afancymethod(){
System.out.println(\ }
}
//文件 P2.java
package MyPackage2; import MyPackage1.*;
class P2 extends P1{
public static void main(String argv[]){ new P1().afancymethod(); } }
8、异常处理机制。
【例题】设有如下代码,当传入的参数为2和0的时候,输出的结果为?
public static void divide(int a, int b) {
}
try { int c = a / b; } catch (Exception e) {
System.out.print(\return;
} finally { System.out.println(\}
9、常见的异常类型:(1)空指针异常;(2)下标越界异常 【例1】在下面代码中,哪条语句将发生异常? class Test { public static void main(String [] args) { int [] a = new int[3]; }
}
a = null;
a[3] = 2;出错
【例2】 在下面代码中,哪条语句将发生异常?
String s = null;
if ( s != null & s.length() > 0)
System.out.println(\
10、 父类的引用可以指向子类对象。但是,通过父类的引用不能访问子类对象新增加的成员。
【例题】设有如下代码,请分析下列代码编译出错的原因。 class A1 { String name = \
void sleep() { System.out.println(\
} }
class B1 extends A1{ B1() {
}
name=\
}
class Test { public static void main(String [] args) { }
}
Object a = new A1(); a.sleep();
11、常见的整数表示法:十进制、八进制和十六进制。
【例题】请分析下面代码的输出结果。
System.out.println(0X12)十六进制 System.out.println(012)八进制
12、将一个整数左移n位,相当于将这个数乘以2的n次方。
【例题】请分析下面代码的输出结果。 System.out.println(-32<<2); 乘以2的2次方 System.out.println(-32>>2); 除以2的2次方
13、在java中使用构造方法初始化一个对象。(1)构造方法必须与类同名,且不能有任何
的返回类型。(2)在构造方法中,this()或者super()语句必须位于第一行。 【例1】请分析下面代码编译是否会出错。 class Test { }
int a = 0; void Test() { }
public Test(int a) { }
public static void main(String [] args) { }
Test t = new Test(); Test t1 = new Test(3); this.a = a;
【例2】下列哪一个是类Student的构造方法( )。 A.void Student(){} B.Student Student (){} C.Student(int i){} D.Student {} 【例3】设有类定义如下: ( ) class Base { public void Base(int i){}不是构造函数 }
class Sub extends Base{
Sub(int i){}
Sub(String s, int i){ }
this(i); //Here
}
以下哪条语句可以安排在//Here处 ?
A.super(); B. Base b = new Base(); C. Base b = new Base(10); D. this();
14、方法与参数传递。
【例1】请分析下面程序的输出结果。 class Invoke {
void change(int x) { x = 3;
}
public static void main(String [] args) { int x = 5;
Invoke e1 = new Invoke();