第1单元 初始Java

1.1 Java语言概述随堂测验

1、以下对Java语言不正确的描述是
    A、Java语言是一个完全面向对象的语言
    B、Java是结构中立与平台无关的语言
    C、Java是一种编译性语言
    D、Java是一种解释性语言

2、适用于桌面系统应用程序的开发的Java版本是
    A、J2ME
    B、J2SE
    C、J2EE
    D、JAVA2

3、Java语言的诞生起源于( )语言
    A、OAK
    B、BASIC
    C、C
    D、C#

4、以下说法正确的是
    A、Java程序文件名必须和程序文件中定义的类名一致
    B、Java程序文件名可以和程序文件中定义的类名不一致
    C、Java源程序文件的扩展名必须是.java
    D、以上A、C说法正确,B说法不正确

5、Java语言实现了“一次编写,到处运行。”

1.2 搭建Java开发环境随堂测验

1、Eclipse可以通过( )插件进行可视化界面开发。
    A、windowbuilder
    B、scenebuilder
    C、AmaterasUML
    D、EasySQL

2、目前主流的开源免费的Java开发工具是( )
    A、JDK
    B、JavaSE
    C、JBuilder
    D、Eclipse

3、JDK安装完成后就可以编写代码了,无需配置环境变量。

4、eclipse是一款免安装的软件,只需解压出来就可以直接使用。

5、在下载JDK时一定要根据自己电脑的操作系统的版本选择适合的JDK安装包。

1.3 开启Java之旅随堂测验

1、在Java程序中,类的关键字是( )
    A、string
    B、class
    C、main
    D、bool

2、以下关于Java源文件说法错误的是
    A、一个Java源文件有且仅有一个main()方法
    B、Java源文件的文件名必须与类名一致;
    C、Java源文件的扩展名为.class;
    D、一个Java源文件若由一个以上类组成,最多只能有一个类带public修饰符;

3、Java中解释命令是
    A、javac
    B、java
    C、javadoc
    D、javaw

4、Java中编译命令是
    A、javac
    B、java
    C、javadoc
    D、javaw

5、以下关于main()方法的说法错误的是
    A、每个应用程序有且仅有一个main()方法;
    B、应用程序从main()方法开始执行,直到main()方法结束;
    C、main()方法必须加修饰符public static void;
    D、main()方法不需要写在类中;

第1单元测验

1、当初Sun公司发展Java的原因是
    A、要发展航空仿真软件
    B、要发展人工智能软件
    C、要发展消费性电子产品
    D、要开发数据库软件

2、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名()
    A、.java
    B、.class
    C、.html
    D、.exe

3、main()方法是Java Application程序执行的入口点,关于main()方法的方法首部,以下正确的是( )
    A、public static void main()
    B、public static void main(String args[])
    C、public static void main(String arg[])
    D、public static void main(String []arg)

4、Java是从哪种语言改进并重新设计( )
    A、Ade
    B、C++
    C、Pascal
    D、Dephi

5、java语言是1995年由( A )公司发布的
    A、Sun
    B、Microsoft
    C、Borland
    D、Fox Software

6、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点。( )
    A、安全性
    B、多线性
    C、跨平台
    D、可移植

7、Java程序的执行过程中用到一套JDK工具,其中javac.exe指( )
    A、java语言编译器
    B、java字节码解释器
    C、java文档生成器
    D、java类分解器

8、一个可以独立运行的Java应用程序( )
    A、可以有一个或多个main方法
    B、最多只能有两个main方法
    C、可以有一个或零个main方法
    D、只能有一个main方法

9、下面的不是Java语言特点的是()
    A、动态性
    B、面向对象
    C、编辑型
    D、多线程

10、保证Java语言可移植性的特征是()
    A、面向对象
    B、安全性
    C、分布式计算
    D、可跨平台

11、编译java的指令是( )
    A、java
    B、javac
    C、javadoc
    D、jar

12、字节码文件是与平台无关的什么文件( )
    A、ASCII码
    B、二进制码
    C、BSD码
    D、Unicode码

13、java的源代码文件的后缀是()
    A、.exe
    B、.java
    C、.jar
    D、.class

14、计算机只能识别执行的指令是( )
    A、程序指令
    B、代码指令
    C、机器指令
    D、源文件

15、Java源文件经编译产生的文件称为( )
    A、.obj文件
    B、.exe文件
    C、java文件
    D、字节码文件

16、Java语言是在C++语言之前问世的。

17、Java程序中出现的输出方法println()和print()是完全一致的。

18、Java语言具有较好的安全性和可移植性及与平台无关性。

19、Java语言的源程序不是编译型的,而是编译解释性的。

20、用Javac编译Java源文件后得到代码叫字节码。

21、通过屏幕输出的语句为_______________。

22、Java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以______。

23、在java语言中,为将源代码翻译成__________文件时产生的错误称为编译错误,而将程序运行时产生的错误称为运行错误

24、若Java中JDK的安装路径为D:\Java\JDK1.8, 则ClassPath环境变量的值为____________

25、__________环境变量用来存储Java的编译和运行工具所在的路径。

26、_______________环境变量则用来保存Java虚拟机要运行的“.class”文件路径。

第1单元作业

1、Java语言的版本有几个版本,请说明?

2、简述Java的运行机制?

第2单元 Java基础语法

2.1 确定变量随堂测验

1、下列标识符中,合法的是( )
    A、_abc
    B、2count
    C、int
    D、boolean

2、下列哪项不是有效的标识符( )
    A、userName
    B、6test
    C、$change
    D、_password

3、关键字是Java语言已经使用的,已有特定含义的,不能在程序中使用的单词。

4、程序运行过程中,其值一直不变的量就是常量。

5、变量在使用之前可以不用定义。

2.2 选择数据类型随堂测验

1、下列表示换行的转义字符是()
    A、\t
    B、\n
    C、\b
    D、\r

2、布尔型数据只有两个值true和false。

3、两个short相加后结果类型为了int。

4、布尔型数据只能参与逻辑运算和关系运算。

5、0.553默认的数据类型为float型。

2.3 执行运算随堂测验

1、int i=3,执行int j=i++后,i和j的值分别是( )
    A、i=3,j=3
    B、i=4,j=3
    C、i=3,j=4
    D、i=4,j=4

2、int i=3,执行int j=++i后,i和j的值分别是()
    A、i=3,j=3
    B、i=4,j=3
    C、i=3,j=4
    D、i=4,j=4

3、int n=5%2后,n的值是()
    A、0
    B、1
    C、0.5
    D、-0.5

4、表达式(2<3) && (5>1)的值是()
    A、true
    B、false
    C、0
    D、1

5、表达式4>3?1:0的值是( )
    A、true
    B、false
    C、0
    D、1

第2单元测验

1、下列标识符中,非法标识符是( )
    A、www_$12
    B、$32
    C、_abc
    D、3d

2、不是Java关键字的是( )
    A、class
    B、byte
    C、goto
    D、import

3、java的标识符命名错误的是( )
    A、_name
    B、标志
    C、2name
    D、i

4、字符常量需要使用的符号()
    A、双引号
    B、单引号
    C、括号
    D、无符号

5、把字符变量c设置为一个空格字符的方法是()
    A、c=" "
    B、c=0
    C、c='\u0020'
    D、c='\u0000'

6、Java的int型变量占内存的字节是()
    A、1
    B、4
    C、2
    D、与机器有关

7、下列表示转义换行字符的是()
    A、n
    B、\n
    C、'n'
    D、"n"

8、下列表示转义回车字符的是( )
    A、"r"
    B、\r
    C、'r'
    D、r

9、下面哪一个语句是正确的( )
    A、short myshort = 99S
    B、int t = "abc".length()
    C、float z = 1.0
    D、char c = 17c

10、若有定义int a = 2;则执行完语句a += a -= a * a;后,a的值是( )
    A、0
    B、4
    C、8
    D、-4

11、运算符 ?: 属于( )
    A、一元运算符
    B、二元运算符
    C、三元运算符
    D、四元运算符

12、下面的逻辑表达式中合法的是()
    A、(1+2)&&(6-4)
    B、(2*3)||(3*5)
    C、(6>2) && 7<10
    D、(9%4) && (8*3)

13、现有一变量声明为boolean aa;下面赋值语句中正确的是( )
    A、aa=false;
    B、aa=False;
    C、aa="true";
    D、aa=0

14、分析下面的代码行 float f=3.2; int i=f; ,不正确地的答案是( )
    A、代码不能编译
    B、代码编译,i被设置为3
    C、第二行若改为 int i=(byte)f 则可编译
    D、第一行若改为 float f=3.2f 则可编译

15、下列哪些语句是错误的
    A、int x=120;
    B、byte b=120;
    C、b=x;
    D、bool b1=true;

16、下列哪些语句是错误的。( )
    A、float x=12.0f;
    B、float y=12; 
    C、double d=12;
    D、loat y=12;double d=12;y=d;

17、在Java语言中,运算符&&实现( )
    A、逻辑与
    B、逻辑或
    C、逻辑非
    D、逻辑相等

18、下列赋值语句中,错误的是( )
    A、float f=11.1;
    B、double d=5.3E12;
    C、double d=3.14159;
    D、double d=3.14d;

19、main()方法的返回值类型是( )
    A、int;
    B、void;
    C、boolean;
    D、static;

20、下列哪一项不能作为标识符的开始的是( )
    A、字符;
    B、下划线;
    C、美元符号;
    D、数字;

21、下列代码的执行结果是( ) public class B { public static void main(String[] args) { System.out.println(5/2); } }
    A、2.5
    B、2.0
    C、2.50
    D、2

22、假设x和y为double类型,则表达式x=2,y=x+3/2的值是( )
    A、3.5
    B、3
    C、2.0
    D、3.0

23、byte变量的取值范围是( )
    A、0~65535
    B、-128~127
    C、-256~255
    D、0~32767

24、下列哪个不属于Java语言的数据类型( )
    A、指针类型
    B、类
    C、数组
    D、浮点类型

25、下列选项中,哪项不属于Java语言的简单数据类型( )
    A、整数类型
    B、字符型
    C、数组
    D、浮点类型

第2单元作业

1、某电影院的成人票是25元一张,儿童票是10元一张,买2张成人票和一张儿童票共多少钱?

2、某汽车销售点,一辆汽车25万元,要缴纳税费1.6万元,买一辆汽车共需要多少元?

3、某班要采购体育器材,一个篮球58元,一个足球64元,现在要购买3个篮球和5个足够共需要多少元?

第3单元 流程控制语句

3.1 流程控制语句概述随堂测验

1、以下不属于Java中的流程控制结构的是( )
    A、顺序结构
    B、循环结构
    C、选择结构
    D、跳转结构

2、以下顺序结构语句的运行结果是:( ) int a; a=6; System.out.print(a); System.out.print(a++); System.out.print(a);
    A、666
    B、667
    C、677
    D、676

3、以下顺序结构语句的运行结果是:( ) int a; a=6; System.out.print(a); System.out.print(++a); System.out.print(a);
    A、666
    B、667
    C、677
    D、676

3.2 分支结构语句—IF语句随堂测验

1、读程序,分析程序执行完成后c的值为( )。 int a=1,b=2,c=3; if(a>c) b=a; a=c; c=b;
    A、1
    B、2
    C、3
    D、不一定

2、下列程序的输出结果是( ) int a=5,b=2,k; if(a<b) k=a%b; else k=b%a; System.out.println(k);
    A、5
    B、1
    C、2
    D、0

3、在Java的if语句中,可用作判断的表达式是( )
    A、赋值表达式
    B、逻辑表达式
    C、算术表达式
    D、字符表达式

4、以下是if语句的基本形式: if(表达式) 语句; 其中“表达式”( )
    A、必须是逻辑表达式
    B、必须是关系表达式
    C、必须是逻辑表达式或关系表达式
    D、可以是任意合法的表达式

5、若x为整型变量,则执行x=7;x+=x-=x+x;后x的值为( )
    A、14
    B、7
    C、1
    D、0

3.3 分支结构语句——SWITCH语句随堂测验

1、下列程序的输出结果是( )。 int x=1,y=0,a=0,b=0; switch(x){ case 1:switch(y){ case 0:a++;break; case 1:b++;break; } System.out.println(“a=”+a+”,b=”+b); }
    A、a=1,b=0
    B、a=2,b=1
    C、a=1,b=1
    D、a=2,b=2

2、下列程序运行后i的值是( )。 int i=10; switch(i+1){ case 10:i++;break; case 11:++i; case 12:++i;break; default:i=i+1; }
    A、12
    B、11
    C、13
    D、10

3、关于switch语句下列说法正确的是( )
    A、switch语句中不加break语句没有什么不同
    B、switch语句中必须加break语句才可以正确执行
    C、switch语句中若不加break语句可能会造成程序运行不正确
    D、switch语句中若不加break语句一定会造成程序运行不正确

3.4 循环结构语句随堂测验

1、下列输出结果是() int a=0; while(a< 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } System.out.print (a) ;
    A、0
    B、5
    C、10
    D、其他

2、以下不可以作为循环条件的表达式是( )
    A、i++;
    B、i>5;
    C、bEqual=str.equals("q");
    D、count==i;

3、下列循环语句合法的是( )
    A、while(int i<7){ System.out.println(“i is ”+i); i++; }
    B、int i=1; while(i){ System.out.println(“i is ”+i); }
    C、int i=0; for(int i=0;i<7;i++){ System.out.println(“i is ”+i); }
    D、int i=0; do{ System.out.println(“i is ”+i++); if(i==3) continue; }while(i<7);

第3单元测验

1、下列语句序列执行后,i的值是( )。 int i = 10, j = 16; if(i+1>j) i--; else j--;
    A、15
    B、16
    C、9
    D、10

2、下列语句序列执行后,ch1的值是( )。 char ch1='A', ch2='W'; if(ch1 + 2 < ch2) ++ch1;
    A、'A'
    B、'B'
    C、A
    D、B

3、假设a是int类型的变量,并初始化为1,则下列合法的条件语句是( )
    A、if(a){}
    B、if(a<<=3){}
    C、if(a=2){}
    D、if(true){}

4、给出下列代码片段: if ( x > 0 ) { System.out.println(“Hello.”); } else if ( x >-3 ) { System.out.pirntln (“ I am Tom. ”); } else { System.out.println (“How are you?”); } 请问将打印字符串“How are you ?”的x的范围是( )
    A、x >0
    B、x > -3
    C、x <= -3
    D、x <=0 & x >-3

5、下列不属于条件控制语句的是( )
    A、for语句
    B、if语句
    C、if....else语句
    D、if语句的扩充形式

6、若a的值为3时,下列程序段被执行后,c的值是多少?( ) if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
    A、1
    B、2
    C、3
    D、4

7、switch语句中表达式的值必须是( )
    A、整数型或小数型
    B、整数型或逻辑型
    C、整数型或字符型
    D、循环型或整数型

8、下列说法中,不正确的一个是( )
    A、switch语句的功能可以由 if…else?if语句来实现
    B、若用于比较的数据类型为double型,则不可以用switch语句来实现
    C、if…else if语句的执行效率总是比switch语句高
    D、case子句中可以有多个语句,并且不需要大括号{}括起来

9、下面的方法,当输入为2的时候返回值是多少?( ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; }
    A、0
    B、2
    C、4
    D、10

10、已知如下代码: switch(m){ case0:System.out.println("A"); case1:System.out.println("B"); case2:System.out.println("C"); case3:System.out.println("D");break; default:System.out.println("E"); } 当m的值为_____时,输出“C”。( )
    A、2
    B、0、1
    C、0、1、2
    D、0、1、2、3

11、在JAVA中,( )关键字用来终止循环语句。
    A、return
    B、continue
    C、break
    D、exit

12、下列循环语句的循环次数是()。 int i = 5; do { System.out.println(i--); i--; }while(i!=0)
    A、5
    B、无限
    C、0
    D、1

13、下列哪种循环条件在条件表达式被计算之前至少执行循环体语句一次?
    A、do-while循环
    B、for 循环
    C、while循环
    D、以上都不对

14、else总是与离它最近的if语句匹配。

15、switch语句中可以没有break语句。

16、for循环中不可以嵌套while循环。

17、while循环和do…while循环没有区别。

18、switch语句中必须要有default子句。

19、下面程序能否正确编译? for(;;){ System.out.print("inside the loop"); }

20、以下程序的输出结果是 _________ 。 int m=5; if(m++>5) System.out.println(m); else System.out.println(m--);

21、能正确表示a和b同时为正或同时为负的逻辑表达式为 _____________.

22、以下程序的输出结果是___________ 。 int a=2,b=-1,c=2; if(a>0) if(b<0) c=0; else c++; System.out.println(c);

23、以下程序的输出结果是_______________ 。 int a=1,b=3,c=5,d=4,x=0; if(a<b) if(c<d) x=0; else if(a<c) if(b<d) x=2; else x=3; else x=7; System.out.println(x);

第3单元作业

1、从控制台输入一批学生成绩,以-1作为结束标记。 (1)统计这批学生中不及格、及格、中等、良好、优秀的人数。 (2)求这批学生的平均分。

2、编写一个程序,用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是不是回文数。 回文数是指将该数字逆序排列后得到的数和原数相同,如12121、3223都是回文数。

第4单元 数组

4.1 一维数组随堂测验

1、下列关于Java语言的数组描述中,错误的是( )
    A、数组的长度通常用length属性获得
    B、数组下标从0开始
    C、数组元素是按顺序存放在内存中
    D、数组空间大小可以任意扩充

2、引用数组元素时, 数组的下标类型可以是()
    A、整型常量
    B、整型变量
    C、整型表达式
    D、以上均可

3、定义一个数组String[] a={"ab","abc","abcd","abcde"};,数组中的a[1]指的是( )
    A、ab
    B、abc
    C、abcd
    D、abcde

4、下列关于数组的静态初始化语句,正确的是( )
    A、int [] score =new int[]{1,2,3,4,5};
    B、int [] score=new int[5]{1,2,3,4,5};
    C、int [5] score=new int[]{1,2,3,4,5};
    D、int [5] score=new int[5]{1,2,3,4,5};

5、定义了一个大小为10整型一维数组a后,下面错误的引用是( )
    A、a[0]=1;
    B、a[0]=5*2;
    C、a[10]=2;
    D、a[2]=a[1]+a[0];

4.2 二维数组随堂测验

1、下列能正确定义二维浮点数数组的是( )
    A、dounle f[7,7] = new double[][];
    B、double f[][] = new double[7,7];
    C、double f[][] = new double[7][7];
    D、double f[7][ ] = new double[][7];

2、下列给整型二维数组进行赋值的语句中,错误的是( )
    A、int arr[2][2] = {{1,2}, {3, 4}};
    B、int arr[][] = {{0}, {1,2}, {3, 4}};
    C、int arr[][] = {{1,2}, {3, 4}};
    D、int arr[][] = {{0}, {1,2, 3, 4}};

3、下列数组int a[][]={{1,2,3},{4,5,6}};,t.length等于( )
    A、2
    B、3
    C、4
    D、5

4、定义一个二维数组:int arr[][] = {{0}, {1,2},{ 3, 4,5}};,数组元素a[1][1]的值是( )
    A、5
    B、4
    C、3
    D、2

5、定义一个二维数组:int arr[][] = {{0}, {1,2, 3, 4}};,t[1].length等于
    A、1
    B、2
    C、3
    D、4

第4单元测验

1、设定义数组语句“int a[]={11,22,33};”,则以下语句叙述错误的是( )
    A、定义一个名为a的一维数组
    B、a数组有三个元素
    C、a数组的下标为1,2,3
    D、数组中的每个元素为整数

2、若已定义语句“int a[]={0,1,2,3,4,5,6,7,8,9};”则对a数组元素正确引用的是( )
    A、a[-3]
    B、a[9]
    C、a[10]
    D、a(0)

3、下面哪一个表达式是声明一个含有10个Sring对象的数组( )
    A、char str[];
    B、char str[10];
    C、String str[ ];
    D、Sting str [10];

4、下列给整型二维数组进行赋值的语句中,错误的是( )
    A、int arr[][] = {{0}, {1,2}, {3, 4}};
    B、int arr[][] = {{0}, {1,2, 3, 4}};
    C、int arr[2][2] = {{1,2}, {3, 4}};
    D、int arr[][] = {{1,2}, {3, 4}};

5、关于数组默认值,错误的是( )
    A、int—0
    B、float--0.0f
    C、boolean--true
    D、char--'"u0000'

6、下列程序运行结果是( ) public class demo { public static void main(String[] args) { int x=30; int[] numbers=new int[x]; x=60; System.out.println(numbers.length); } }
    A、60
    B、50
    C、30
    D、20

7、下列程序运行后,s的值是( ) public class demo { public static void main(String[] args) { int[] a = {1,2,3,4,5}; int s = 0; for(int i = 0 ; i < 5 ; i++) { if( i % 2 ==0) s += a[i]; } System.out.println(s); } }
    A、0
    B、6
    C、15
    D、9

8、顺序执行下面两个语句,输出的结果是( ) public class demo { public static void main(String[] args) { String s="Hello!"; System.out.println(s.length()); } }
    A、6
    B、7
    C、8
    D、5

9、下列程序运行后,sum的结果是( ) public class demo { public static void main(String[] args) { int a[][]= {{1,2,3},{4,5,6},{1,2,3}}; double sum=0.0; for(int i=0;i<a.length;i++) { for(int j=0;j<a[i].length;j++) { if(i%2==0&&j%2==0) sum +=a[i][j]; } } System.out.println(sum); } }
    A、8
    B、12
    C、18
    D、20

10、当访问无效的数组下标时,会发生( )
    A、中止程序
    B、抛出异常
    C、系统崩溃
    D、直接跳过

11、下列关于Java语言的数组描述中,错误的是( )
    A、数组的长度通常用length属性获得
    B、数组下标从0开始
    C、数组元素是按顺序存放在内存中
    D、数组空间大小可以任意扩充

12、引用数组元素时, 数组的下标类型可以是( )
    A、整型常量
    B、整型变量
    C、整型表达式
    D、以上均可

13、下列关于数组的静态初始化语句,正确的是( )
    A、int [] score =new int[]{1,2,3,4,5};
    B、int [] score=new int[5]{1,2,3,4,5};
    C、int [5] score=new int[]{1,2,3,4,5};
    D、int [5] score=new int[5]{1,2,3,4,5};

14、一个数组可以存放许多不同类型的数值。

15、数组下标通常是float型。

16、数组有具有一个名字和相同类型的一组连续内存单元构成。

17、java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

18、数组中有length()这个方法,如array.length()表示数组array中元素的个数。

19、数组声明后其大小还可以变化。

20、设有整型数组的定义:int a[]=new int[8];则a.length的值为7。

21、用任何方式创建数组时,都必须指定数组的长度。

22、Java数组数据类型可以是基本数据类型,也可以是引用数据类型。

23、设有整型数组的定义:int a[]=new int[8];则a.length的值为7。

24、数组score 下标的范围是从0到score.length。

25、数组都是引用类型。

第4单元作业

1、1.编写程序,实现Fibonacci数列(要求用数组实现)前30项。提示:Fibonacci数列以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

2、2.编写程序,打印出杨辉三角形(8层),如下所示效果。 ---------- 杨辉三角形 ----------- 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1

第5单元 类与对象

5.1 面向对象程序设计概述随堂测验

1、Java语言属于( )种语言
    A、面向机器的语言
    B、面向对象的语言
    C、面向过程的语言
    D、面向操作系统的语言

2、下列不属于面向对象程序设计语言特征的是()
    A、封装性
    B、继承性
    C、完整性
    D、多态性

5.2 类的定义随堂测验

1、在Java编程中,最基本的单元是()
    A、对象
    B、类
    C、包
    D、接口

2、写类的目的是为了描述一类事物共有的()
    A、属性
    B、数量
    C、范围
    D、源文件

3、java类可以作为()
    A、类型定义机制
    B、数据封装机制
    C、类型定义机制和数据封装机制
    D、上述都不对

5.3 对象的创建与使用随堂测验

1、创建一个类的对象包括3个步骤,以下不在步骤中的是( )
    A、声明对象
    B、建立对象
    C、修改对象的方法
    D、初始化对象

2、下列说法中,Java中对象描述最正确的是( )
    A、对象是通过import命令引入到程序中的所有事情
    B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值
    C、对象是一种数据结构,它具有操作数据的方法
    D、对象是一组具有共同的结构和行为的类

3、在创建对象时必须( )
    A、先声明对象,然后才能使用对象
    B、先声明对象,为对象分配内存空间,然后才能使用对象
    C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
    D、以上说法都对

5.4 构造方法和方法重载随堂测验

1、一个类的构造方法被自动调用时机是( )
    A、类定义时
    B、使用对象的属性时
    C、使用对象方法时
    D、一个类的实例对象刚产生时

2、类中构造函数的作用是( )
    A、保护成员变量
    B、读取类的成员变量
    C、描述类的特征
    D、初始化成员变量

5.4 构造方法和方法重载随堂测验

1、下列不是重载方法的特征的是()
    A、参数个数不同
    B、参数名相同而类型不同
    C、参数类型不同
    D、参数名相同且类型相同

2、在某个类中存在一个方法: void getSort(int x); 以下能作为这个方法的重载的声明的是()
    A、publie getsort(float x)
    B、int getsort(int y)
    C、double getSort (int x,int y)
    D、void get(int x,int y)

3、在某个类中存在一个方法: void sort(int x)以下不能作为这个方法的重载的声明的是( )
    A、publc float sort(float x)
    B、int sort(int y)
    C、double sort(int x,int y)
    D、void sort(double y)

5.5 this关键字随堂测验

1、关于java中this关键字的说法正确的是()
    A、this关键字是在对象内部指代自身的引用
    B、this关键字可以在类中的任何位置使用
    C、this关键字和类关联,而不是和特定的对象关联
    D、同一个类的不同对象共用一个this

2、this关键字可以指代当前对象

3、this不能用于static方法

5.6 static关键字随堂测验

1、为Demo类的一个无形式参数无返回值的method书写方法头,使得使用类名Demo作为前缀就可以调用的方法是()
    A、static void method()
    B、public void method()
    C、final void method()
    D、abstract void method()

2、下列说法正确的是( ) 1.public class Demo 2.{ 3. static int x=10; 4. static {x +=5;} 5. public static void main(String args[]) 6. { 7. System.out.println("x="+x); 8. } 9. static {x/=3;} 10.}
    A、4行与9行不能通过编译,因为缺少方法名于返回类型
    B、9行不能通过编译,因为只能有一个静态初始化器
    C、编译通过,执行结果为:x=5
    D、编译通过,执行结果为:x=3

5.7 包与访问限定随堂测验

1、java中的打包关键字是()
    A、import
    B、export
    C、package
    D、out

2、下列关于import语句的说法中,错误的是( )
    A、import语句用于引入程序要使用的Java类
    B、所有程序都至少需要一个import语句
    C、程序中可以包括多个import语句
    D、Import语句必须写在所有类的定义之前

3、java.lang包中的类,该类的实例用来封装对象运行时的状态的是()
    A、Class
    B、Object
    C、Math
    D、Date

5.7 包与访问限定随堂测验

1、下列修饰符与访问控制无关的是()
    A、public
    B、protected
    C、final
    D、private

2、不是修饰符的是()
    A、public
    B、private
    C、protected
    D、class

第5单元测试

1、类的定义必须包含有( )符合之间
    A、方括号[ ]
    B、花括号{ }
    C、双引号” ”
    D、圆括号( )

2、下面类的声明中正确的是( )
    A、public void HH{…}
    B、public class Move(){…}
    C、public class void number{…}
    D、public class Car {…}

3、在()情况下,构造方法会被调用。
    A、类定义时
    B、创建对象时
    C、调用对象方法时
    D、使用对象的变量时

4、下面构造方法的描述中,不正确的是( )
    A、方法名必须与类名相同
    B、方法名的前面没有返回值类型的声明
    C、在方法中不能使用return语句返回一个值
    D、当定义了带参数构造方法,系统默认的不带参数的构造方法依然存在

5、下面可以使用static关键字修饰的是
    A、成员变量
    B、局部变量
    C、成员方法
    D、成员内部类

6、下面关于封装性的描述中,错误的是( )
    A、封装体包含属性和行为
    B、被封装的某些信息在外不可见
    C、封装提高了可重用性
    D、封装体中的属性和行为的访问权限相同

7、下列关于类方法的描述错误的是()
    A、说明类方法使用关键字static
    B、类方法和实例方法一样均占用对象内存空间
    C、类方法能用实例和类名调用
    D、类方法只能出来类变量或调用类方法

8、下面关于包的描述中,错误的是( )
    A、包是若干对象的集合
    B、使用package语句创建包
    C、使用import语句引入包
    D、包分为有名包和无名包两种

9、下列哪种类成员修饰符的变量只能在本类中被访问( )
    A、proteced
    B、public
    C、default
    D、private

10、下面关于类的说法,不正确的是( )
    A、类是同种对象的集合和抽象
    B、类属于java语言中的复合数据类型
    C、类就是对象
    D、对象是java语言中的基本结构单位

11、定义外部类时不能用到的关键字是( )
    A、final
    B、public
    C、protected
    D、abstract

12、在java语言中,哪一个包中的类是自动导入的。( )
    A、java.lang
    B、java.awt
    C、java.io
    D、java.applet

13、为了区分类中重载的同名的不同方法,要求()
    A、采用不同的形式参数列表
    B、返回值类型不同
    C、调用时用类名或对象名做前提
    D、参数名不同

14、类是一种类型,也是对象的模板。

15、类中说明的方法可以定义在类体外。

16、实例方法中不能引用类变量。

17、创建对象时系统将调用适当的构造方法给对象初始化。

18、类是一种类型,也是对象的模板。

19、对象可作方法参数,对象数组不能作方法参数。

20、class是定义类的惟一关键字。

第5单元作业

1、定义一个类Triangle表示三角形,包含下列方法: public static boolean isVaild(double side1,double side2,double side3),如果任何两边之和大于第三边返回true, public static double getArea(doublie side1,double side2,double side3),求三角形的面积。 求面积方法为: s=(side1+side2+side3)/2; area=Math.sqrt(s*(s-side1)*(s-side2)*(s-side3)); 创建Triangle的对象,依次用无效值和有效值调用这两个方法。

2、编写一个Java程序,描写一个矩形类,并输出某个矩形的长、宽、周长和面积。具体要求如下: (1)定义Rectangle类,声明两个成员变量分别描述矩形的长和宽。 (2)声明两个方法分别计算矩形的周长和面积。 (3)创建Rectangle对象,输出某个矩形的长、宽、周长和面积。

第6单元 继承与多态

6.1 类的继承随堂测验

1、以下哪个类是所有类的根父类()
    A、Object
    B、Exception
    C、System
    D、Class

2、Java语言的类间的继承关系是()
    A、多重的
    B、单重的
    C、线程的
    D、不能继承

6.2 方法重写随堂测验

1、在Java语言中,关于多态性体现方式的描述正确的是()
    A、由方法重载所实现的动态多态性
    B、由方法覆盖所实现的编译时多态
    C、由方法覆盖所实现的运行时多态
    D、由方法覆盖所实现的静态多态性

2、下面对扩展性重写的描述错误的是()
    A、会保留父类方法原有内容
    B、在子类中使用this调用父类方法
    C、在子类中使用super调用父类方法
    D、在子类中增加新的内容

6.3 多态随堂测验

1、Java的多态主要表现在()
    A、方法重载
    B、方法覆盖
    C、变量覆盖
    D、以上都是

2、下来对多态性的描述中错误的是( )
    A、java语言允许方法重载和方法覆盖
    B、java语言允许运算符重载
    C、java语言允许变量覆盖
    D、多态性提高了程序的抽象性和简洁性

第6单元测试

1、下列关于类的继承的描述错误的是()
    A、继承是在已有的基础上生成新类的一种方法
    B、java语言要求一个子类只有一个父类
    C、父类中成员的访问权限在子类中将被改变
    D、子类继承父类的所有成员,但不包括私有成员方法

2、下列关于子类继承父类的成员描述中,错误的是()
    A、当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法
    B、方法重载是编译时处理的,而方法覆盖式运行时处理的
    C、子类中继承父类的所有成员都可以访问
    D、子类中定义有父类同名变量时,在子类继承父类的操作中,使用继承父类的变量,子类执行自己的操作中,使用自己定义的变量

3、下列叙述错误的是()
    A、子类继承父类
    B、子类能替代父类
    C、父类包含子类
    D、父类不能替代子类

4、区分类中重载方法的依据是()
    A、形参列表的类型和顺序
    B、不同的形参名称
    C、返回值的类型不同
    D、访问权限不同

5、如何定义一个不能有子类的类Key()
    A、class Key{ }
    B、final class Key{ }
    C、public class Key{ }
    D、class Key{ final int i; }

6、下列哪个选项可以作为以下方法的覆盖方法( ) public void add(int a){...}
    A、public void add(int a){...}
    B、void add(int a){...}
    C、public int add(int a){...}
    D、public void add(float a){...}

7、在子类构造方法的哪个位置可以调用超类的构造方法()
    A、任何位置
    B、构造方法的第一条语句
    C、构造方法的最后一条语句
    D、不能在子类构造方法中调用超类的构造方法

8、在Java中()
    A、一个子类可以有多个父类,一个父类也可以有多个子类
    B、一个子类可以有多个父类,但一个父类只可以有一个子类
    C、一个子类只可以有一个父类,但一个父类可以有多个子类
    D、上述说法都不对

9、在Java语言中,关于多态性体现方式的描述正确的是()
    A、由方法重载所实现的动态多态性
    B、由方法覆盖所实现的编译时多态
    C、由方法覆盖所实现的运行时多态
    D、由方法覆盖所实现的静态多态性

10、所谓覆盖,也称为重写,是指子类中定义了一个与父类某一方法具有相同型构的方法,这里所说的相同型构所指的不是()
    A、同方法实现功能
    B、同方法的返回类型
    C、同方法名
    D、同方法参数列表

11、子类对象在实例化时,调用构造方法的描述正确的是()
    A、只调用父类的构造方法
    B、只调用子类的构造方法
    C、先调用父类的构造方法,再调用子类自身的构造方法
    D、先调用子类自身的构造方法,再调用父类的构造方法

12、子类对象不能否直接向其父类赋值

13、父类对象不能向其子类赋值

14、Java语言中,构造方法是不可以继承的

15、子类杜成义变量和成员方法的数目一定大于父类的成员变量和成员方法的数目。

第6单元作业

1、根据下列要求编写程序: (1)设计一个类Shape(图形类)包含求面积的area()方法、求周长的perimeter()方法,以及设置颜色的setColor()方法。 (2)利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。 (3)每个类都有覆盖toString()方法, (4)分别创建Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类的对象,计算半径为2.5的圆形面积和周长,计算长为5、宽为3的矩形面积和周长,计算三边均为5的三角形面积和周长。

第7单元 抽象类与接口

7.1 抽象类随堂测验

1、下列的说法错误的是()
    A、抽象类必须被子类继承
    B、对象向上转型以后,拥有相同名字的普通成员变量(静态变量)时,访问的是子类里面的
    C、super的主要功能是完成子类的调用父类的内容,并且只能放在子类构造方法的第一行
    D、接口的方法必须定义为public权限,并且只能是抽象方法

2、在JAVA中关于抽象类的描述正确的是( )
    A、抽象类可以被实例化
    B、如果一个类中有一个方法被声明为抽象的这个类必须是抽象类
    C、抽象类的方法必须是抽象的
    D、声明抽象类必须带有abstract关键字

3、以下说法不正确的有( )
    A、拥有抽象方法的类为抽象类
    B、抽象类的方法时抽象方法
    C、继承抽象类的子类为抽象类
    D、实现接口的类为抽象类

7.2 接口随堂测验

1、一个类实现接口的情况是()
    A、一次可以实现多个接口
    B、一次只能实现一个接口
    C、不能实现接口
    D、以上都不正确

2、定义一个接口时,下列哪个关键字用不到()
    A、public
    B、extends
    C、interface
    D、class

3、定义接口使用的关键字是()
    A、abstract
    B、final
    C、interface
    D、class

第7单元测试

1、以下说法正确的是( )
    A、java语言中允许一个类实现多个接口
    B、java语言中不允许一个类继承多个类
    C、java语言中允许一个类同时继承一个接口
    D、java语言中允许一个接口继承一个接口

2、接口中的方法被默认修饰符是什么的( )
    A、private
    B、public
    C、protected
    D、package

3、下列有关接口的叙述错误的是( )
    A、接口中只能包含抽象方法和常量
    B、一个类可以实现多个接口
    C、类实现接口时必须实现其中的方法
    D、接口不能被继承

4、下面说法不正确的是( )
    A、抽象类既可以做父类,也可以做子类
    B、abstract和final能同时修饰一个类
    C、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口
    D、声明为final类型的方法不能在其子类中重新定义

5、下列关于抽象类的描述中,错误的是( )
    A、抽象类是用修饰符abstract说明的
    B、抽象类是不可以定义对象的
    C、抽象类是不可以有构造方法的
    D、抽象类通常要有它的子类

6、以下哪个接口的定义是正确的( )
    A、interface B{ void print(){};}
    B、abstract inerface B { void print(){};}
    C、abstract interface B extends A1,A2 { abstract void print(){} ;}
    D、interface B { void print();}

7、Java中能实现多重继承功能的方式是( )
    A、接口
    B、同步
    C、抽象类
    D、父类

8、下面说法正确得是(B)
    A、不能和abstract一起使用的修饰符有static final public final
    B、抽象类之间是继承关系,接口之间也是。
    C、接口不能存在普通方法和常量
    D、接口不可以直接实例化,抽象类可以

9、抽象方法是一种只有说明而无具体实现的方法

10、实现接口的类不能是抽象类。

11、一个类通过使用关键字______________声明自己使用一个或多个接口

12、接口中定义的方法必须是______________.

13、使用关键字_______________来定义接口

第7单元作业

1、根据抽象类的知识,完成下列程序。 创建一个类家族,其中抽象类几何图形类GeometricObject为父类,圆类Circle和矩形类Rectangle为子类。 (1) 几何图形类GeometricObject中定义受保护型字符串变量color,表示圆形的颜色;该类具备构造方法和两个抽象方法,抽象方法getArea()求图形面积,抽象方法getPerimeter()求图形周长。 (2) Circle类和Rectangle类是GeometricObject类的子类,其中应实现父类的抽象方法。 (3) 定义测试类,测试类程序主方法中创建两个几何对象:一个圆形和一个矩形,并用GeometricObject类的引用变量引用它们,调用抽象方法。

2、根据接口的至少,完成下列程序。 (1)创建一个圆形类Circle和圆柱体类Cylinder,其中Circle类是父类,Cylinder类是子类。 (2)创建接口Comparable,其中包含一个抽象方法compareTo(),用来比较对象的大小,抽象方法compareTo()的形式如下: public int compareTo(Object o); (3)创建类ComparableCircle,该类为Circle类的子类,并实现Comparable接口; (4)创建类ComparableCylinder,该类为Cylinder类的子类,并实现Comparable接口; (5)创建通用类Max,其中包含通用方法max,只要类实现了Comparable接口,就可以使用max方法返回两个对象中较大的一个。max()方法的方法形式如下: public static Comparable max(Comparable o1,Comparable o2) (6)程序的主方法中分别创建两个ComparableCircle类对象和两个ComparableCylinder类对象,并分别以它们为参数调用max方法,返回两个对象中面积较大的一个。

第8单元 异常处理

8.1 异常的概念随堂测验

1、关于异常的含义,下列描述中最正确的一个是()
    A、程序编译错误
    B、程序语法错误
    C、程序自定义的异常事件
    D、程序编译或运行时发生的异常事件

2、下列java语言的常用异常类中,属于检测异常的是()
    A、ArithmeticException
    B、FileNotFoundException
    C、NullPointerException
    D、IOException

3、异常一般分为Checked异常和________两大类

8.2 异常处理机制随堂测验

1、使用catch(Exception e)的好处是()
    A、只会捕获个别类型的异常
    B、捕获try语句块中产生的所有类型的异常
    C、忽略一些异常
    D、执行一些程序

2、编译并运行如下Java程序,将输出( )。 public static void main(String[] args) { try { int num1 = 2; int num2 = 0; int result = num1 / num2; System.out.println(result); throw new NumberFormatException( ); } catch (ArrayIndexOutOfBoundsException e) { System.out.print("1"); } catch (NumberFormatException e) { System.out.print("2"); } catch (Exception e) { System.out.print("3"); } finally { System.out.print("4"); } System.out.print("5"); }
    A、134
    B、2345
    C、1345
    D、345

3、抛出异常、生成异常对象都可以通过____________语句实现

第8单元测试

1、所有异常类皆继承的类是()
    A、java.lang.Throwable
    B、java.lang.Exception
    C、java.lang.Error
    D、java.io.Exception

2、可以抛出异常的关键字是()
    A、transient
    B、throw
    C、finally
    D、catch

3、对于已经被定义过可能抛出异常的语句,在编程时应该()
    A、必须使用try/catch语句处理异常,或用throw将其抛出
    B、如果程序错误,必须使用try/catch语句处理异常
    C、可以置之不理
    D、只能使用try/catch语句处理

4、下面程序段的执行结果是() public class Demo{ public static void main(String [] args){ try{ return; } finally{ System.out.println("Finally"); } } }
    A、编译能通过,但运行时会出现一个例外
    B、程序正确运行,并输出“Finally”
    C、程序正常运行,但不输出任何结果
    D、因为没有catch语句块,所以不能通过编译

5、关于异常,下列说法正确是()
    A、异常是一个对象
    B、一旦程序运行,异常将被创建
    C、为了保证程序运行速度,要尽量避免异常控制
    D、以上说的都不对

6、对于catch子句的排列,下列哪种是正确的()
    A、父类在先,子类在后
    B、子类在先,父类在后
    C、有继承关系的异常不能在同一个try程序段内
    D、先有子类,其他如何排列都无关

7、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成
    A、try子句
    B、catch子句
    C、finally子句
    D、throw子句

8、当方法遇到异常又不知如何处理时,下列哪种说法是正确的()
    A、捕获异常
    B、抛出异常
    C、声明异常
    D、嵌套异常

9、阅读下列代码 public class Demo{ public static void main(String [] args){ String s; System.out.println("s="+s); } } 输出结果应该是:()
    A、代码得到编译,并输出“s=”
    B、代码得到编译,并输出“s=null”
    C、由于String s没有初始化,代码不能编译通过
    D、代码得到编译,但捕获到NullPointException异常

10、编译并运行以下程序,描述哪个选项是正确的( ) 1.class A { 2. protected String toString(){ 3. return super.toString();} 4.}
    A、行2出错,不能成功编译
    B、编译通过但运行时出错
    C、编译通过运行无异常
    D、不能成功编译,行3出错

11、程序中抛出异常时,只能抛出自己定义的异常对象。

12、一个异常处理中finally语句块只能有一个或可以没有。

13、异常类对象代表当前出现的一个具体异常。

14、java语言中的所有异常类都是java.lang.Throwable的子类。

15、如果异常发生时,没有捕获异常的代码,程序会正常执行。

第8单元作业

1、编写一个类,在其main()方法中创建一个一维数组,在try子句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常,在catch子句里捕获此异常对象,并且打印“数组越界”信息,加一个finally子句,打印一条信息以证明这里确实得到了执行。

2、按下列要求编写程序, (1)定义一个数组存储一批英文单词,从键盘输入一个整数n,输出数组元素中序号为n的单词。 (2)分析(1)中的程序会产生什么异常,利用try...catch进行异常处理。

期末试卷

期末试卷1

1、使用Java语言编写的源程序保存时的文件扩展名是( )
    A、.class
    B、.java
    C、.cpp
    D、.txt

2、设int a=-2,则表达式a>>>3的值为( )
    A、0
    B、3
    C、8
    D、-1

3、设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )
    A、a[0];
    B、a[a.length-1];
    C、a[3];
    D、int i=1; a[i];

4、在类的定义中可以有两个同名函数,这种现象称为函数( )
    A、封装
    B、继承
    C、覆盖
    D、重载

5、在类的定义中构造函数的作用是( )
    A、保护成员变量
    B、读取类的成员变量
    C、描述类的特征
    D、初始化成员变量

6、下面关键字中,哪一个不是用于异常处理语句( )
    A、try
    B、break
    C、catch
    D、finally

7、类与对象的关系是( )
    A、类是对象的抽象
    B、对象是类的抽象
    C、对象是类的子类
    D、类是对象的具体实例

8、下面哪一个是Java中不合法的标识符( )
    A、$persons
    B、twoNum
    C、_myVar
    D、*point

9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )
    A、static void method( )
    B、public void method( )
    C、final void method( )
    D、abstract void method( )

10、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( )
    A、ArrayList myList=new Object( )
    B、List myList=new ArrayList( )
    C、ArrayList myList=new List( )
    D、List myList=new List( )

11、Java源文件和编译后的文件扩展名分别为( )
    A、.class和 .java
    B、.java和 .class
    C、.class和 .class
    D、.java和 .java

12、对于一个Java源文件,import, class定义以及package正确的顺序是:( )
    A、package,import,class
    B、class,import,package
    C、import,package,class
    D、package,class,import

13、下面哪个是非法的:( )
    A、int I = 32;
    B、float f = 45.0;
    C、double d = 45.0;
    D、char c = "u";

14、Java语言使用的字符码集是( )
    A、ASCII
    B、GB3212
    C、DCB
    D、Unicode

15、下面关于main方法说明正确的是( )
    A、public main(String args[ ])
    B、public static void main(String args[ ])
    C、private static void main(String args[ ])
    D、void main()

16、关于抽象方法的说法正确的是( )
    A、可以有方法体
    B、可以出现在非抽象类中
    C、是没有方法体的方法
    D、抽象类中的方法都是抽象方法

17、Java application中的主类需包含main方法,以下哪项是main方法的正确形参( )
    A、String args
    B、String args[]
    C、Char arg
    D、tringBuffer args[]

18、以下代码段执行后的输出结果为( ) int x=-3; int y=-10; System.out.println(y%x);
    A、-1
    B、2
    C、1
    D、3

19、以下关于继承的叙述正确的是( )
    A、在Java中类只允许单一继承
    B、在Java中一个类只能实现一个接口
    C、在Java中一个类不能同时继承一个类和实现一个接口
    D、在Java中接口只允许单一继承

20、若有定义:byte[] x={11,22,33,-66}; 其中0≤k≤3,则对x数组元素错误的引用是( )
    A、x[5-3]
    B、x[k]
    C、x[k+5]
    D、x[0]

21、以下哪个不是Java的原始数据类型( )
    A、int
    B、Boolean
    C、float
    D、char

22、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )
    A、隐藏
    B、重写
    C、重载
    D、Java不支持此特性

23、以下有关构造方法的说法,正确的是( )
    A、一个类的构造方法可以有多个
    B、构造方法在类定义时被调用
    C、构造方法只能由对象中的其它方法调用
    D、构造方法可以和类同名,也可以和类名不同

24、给出下面代码,关于该程序以下哪个说法是正确的() public class Demo{ static int arr[] = new int[5]; public static void main(String a[]) {   System.out.println(arr[0]);  } }
    A、编译时将产生错误
    B、编译时正确,运行时将产生错误
    C、输出零
    D、输出空

25、有以下方法的定义,请选择该方法的返回类型( )。 ReturnType method(byte x, double y) { return (short)x/y*2; }
    A、byte
    B、short
    C、int
    D、double

26、下列类定义中哪些是合法的抽象类的定义( )
    A、abstract Animal{abstract void growl();}
    B、class abstract Animal{abstract void growl();}
    C、abstract class Animal{abstract void growl();}
    D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};}

27、有以下程序片段,下列哪个选项不能插入到行1。( ) 1. 2.public class Interesting{ 3.//do sth 4. }
    A、import java.awt.*;
    B、package mypackage;
    C、class OtherClass{ }
    D、public class MyClass{ }

28、为了使包ch4在当前程序中可见,可以使用的语句是()
    A、import ch4.*;
    B、package ch4.*;
    C、ch4 import;
    D、ch4 package;

29、所有的异常类皆继承哪一个类()
    A、java.io.Exception
    B、java.lang.Throwable
    C、java.lang.Exception
    D、java.lang.Error

30、以下关于final的描述中,错误的是( )
    A、final可以用来修饰接口以及抽象类
    B、final修饰的变量不允许被再次赋值
    C、final修饰的类无法被继承
    D、final修饰的变量需要初始化

31、以下关于被private修饰的成员变量的说法正确的是( )
    A、只能被同一个包中的类访问
    B、只能被该类自身所访问和修改
    C、可以被两种类访问和引用:该类本身、该类的所有子类
    D、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

32、有一个类B,下面是它的构造方法的声明,正确的是( )
    A、void b(int x){ }
    B、B(int x){ }
    C、void B(int x){ }
    D、b(int x){ }

期末考试2

1、定义Person类和Students类,具体要求如下: (1)定义一个Person类 成员属性:Person类的属性 姓名:name,字符串类型:String 性别:sex,字符型:char 年龄:age,整形:int 2个重载的构造方法 public Person(); public Person(String s); 一个成员方法 public String toString()//获取姓名、性别、年龄 (2)定义一个学生类Student,继承Person类 增加自己的成员变量 学号:no,字符串类型:String 数学成绩:scoreOfMath,双精度浮点型:double 语文成绩:scoreOfCh,双精度浮点型:double 英语成绩:scoreOfEN,双精度浮点型:double 子类新增加的方法 求三门功课的平均分aver():该方法没有参数,返回值类型为double型 覆盖父类的同名方法 覆盖父类的同名方法toString():获得学号、姓名、性别、平均分的信息