java程序设计期末复习,java程序设计期末复习资料

一、题型与分值分布

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();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值