蓝莓题库

面向对象程序设计(java)-k8凯发

欢迎来访!

k8凯发-凯发官网入口外贸类问答 正文

作者2023-02-27 00:40:20外贸类问答 78 ℃0 评论
1.2为什么选择java

1、【单选题】2.1、下列选项中不属于java的技术平台的是( )
    a、java se
    b、java ee
    c、java me
    d、eclipse

2、【单选题】2.2、提供开发和运行桌面应用程序的平台是()
    a、java se
    b、java ee
    c、java me
    d、eclipse

3、【单选题】2.3、提供开发和运行企业级应用程序的平台是()
    a、java se
    b、java ee
    c、java me
    d、eclipse

4、【单选题】2.4、下列选项中不属于java的特点是()
    a、简单
    b、平台有关
    c、面向对象
    d、分布式

5、【多选题】2.5、下面哪些描述体现了java的安全和可靠性()(多选)
    a、java不支持指针操作
    b、java具有自动单元收集机制
    c、java解释器运行时使用检查机制
    d、java提供了异常处理机制

6、【多选题】2.6、 java是一种纯面向对象的编程语言,下面哪些选项属于面向对象的特性()(多选)
    a、类
    b、封装性
    c、抽象
    d、方法

1.3java开发环境配置

1、【单选题】3.1、 要开发运行java程序,可只需安装的工具包是( )
    a、eclipse
    b、jdk
    c、jre
    d、jvm

2、【单选题】3.2、 下列选项中不属于jdk工具的是( )
    a、jvm
    b、java文档生成工具
    c、jre
    d、eclipse

3、【单选题】3.3、 下列有关jdk默认安装目录的描述错误的是()
    a、bin目录用于存放一些可执行文件
    b、jre目录是java运行环境的根目录
    c、db目录jdk核心类的源代码
    d、lib目录包含java类库或库文件

4、【多选题】3.4、 下列有关配置环境变量path和classpath的描述正确的是()(多选)
    a、为了能在bin目录外执行javac.exe等文件,需将bin目录添加到path中
    b、为了能让虚拟机寻找到class文件,需将class文件目录添加到classpath中
    c、path中路径之间要用“;”分隔
    d、classpath中“.”表示当前目录

1.4创建第一个java程序

1、【单选题】4.1、 利用jdk运行helloworld.class的语句是()
    a、javac helloworld
    b、javac helloworld.class
    c、java helloworld.class
    d、java helloworld

2、【单选题】4.2、 可以在java虚拟机中运行的类型文件是()
    a、.java
    b、.jre
    c、.exe
    d、.class

3、【单选题】4.3、 若要编译demo.java文件,则下面语句正确的是()
    a、java demo.java;
    b、java demo;
    c、javac demo.java;
    d、javac demo

4、【单选题】4.4、 java程序的基本单位是()
    a、对象
    b、文件
    c、类
    d、方法

5、【多选题】3.4、 下列有关配置环境变量path和classpath的描述正确的是()(多选)
    a、为了能在bin目录外执行javac.exe等文件,需将bin目录添加到path中
    b、为了能让虚拟机寻找到class文件,需将class文件目录添加到classpath中
    c、path中路径之间要用“;”分隔
    d、classpath中“.”表示当前目录

1.5java程序的构成

1、【单选题】5.2、下列哪一项是不符合java标识符命名规范 ( )
    a、类名 : testdemo
    b、包名 : com.qianfeng
    c、方法名 : getname
    d、常量名 : max_value

2、【单选题】5.3、下列哪一项是不能用作java的标识符 ( )
    a、英文字母
    b、$
    c、&
    d、数字

3、【单选题】5.4、下面哪一项可以用作标识符( )
    a、static
    b、_value
    c、?a
    d、max f

4、【多选题】5.1、下面对main方法说法正确的是( )
    a、main方法的访问修饰符只能是public。
    b、main方法只能是静态方法。
    c、main方法中的参数名不可以改变。
    d、main方法是整个程序的入口。

5、【多选题】5.5、 java编程规范有( )
    a、类名和接口名:首字母大写,其余字母小写。
    b、方法名和变量名:首字母小写,其余的字母大写。
    c、包名:字母全部小写。
    d、常量名:采用大写形式,单词之间以下划线“_”隔开。

1.6数据类型、变量、常量

1、【单选题】6.2 下面选项中表示常量定义的语句是()
    a、const int max=100;
    b、final int max=100;
    c、final max=100;
    d、final boolean flag=1;

2、【单选题】6.1、 下列哪一项的常量写法是错误的 ( )
    a、'ab'
    b、"ab"
    c、5
    d、'5'

3、【单选题】6.3 下列赋值中哪一项是错误的 ( )
    a、int i = 50l;
    b、byte b = 50;
    c、long l = 50;
    d、short s = 50;

4、【单选题】6.4、若定义int x; char y; float z; double d=;则不正确的赋值为( )
    a、x=98;
    b、y=(char)98
    c、z=98.5
    d、d=98

5、【单选题】6.5、若定义int x=2; char y= 'a',z; 则不正确的赋值为( )
    a、x=y;
    b、z=x;
    c、z=y 2;
    d、x=y 2

6、【单选题】6.6、下面语句语法正确的是( )
    a、int a=1.0;
    b、char ch="h";
    c、float f=4.0;
    d、int c='a';

7、【单选题】6.7 下面语句中语法不正确的是( )
    a、int a=5;
    b、float a=5.0;
    c、char ch='a';
    d、string s="ab"

8、【单选题】6.8 若执行以下程序代码,则显示的结果是( ) public class demo { public static void main(string[] args) { string s="hello world"; system.out.print(s.indexof('o')); system.out.print(s.charat(1)); } }
    a、4e
    b、5e
    c、4h
    d、5h

9、【单选题】6.9.关键字( )表明一个对象或变量在初始化后不能修改。
    a、extends
    b、final
    c、this
    d、finalize

1.7数据的标准输入输出

1、【单选题】7.1 java提供scanner类用于从键盘输入数据,下列选项描述正确的是( )
    a、scanner类包含在java.lang包中
    b、scanner in = new scanner()
    c、类中nextint()方法用于从键盘接受int数据
    d、类中nextbyte()方法可从键盘接受long型数据

2、【单选题】7.2 执行语句system.out.print(1 2 "1 2");显示的结果是()
    a、6
    b、1 2 1 2
    c、1 23
    d、31 2

3、【单选题】7.3 执行语句int a=2; system.out.print("1 2" 3 a);显示的结果是()
    a、8
    b、1 232
    c、1232
    d、1 23a

4、【单选题】7.4 有程序代码如下,下面描述运行结果错误的是( ) import java.util.scanner; public class demomain { public static void main(string []s){ scanner in = new scanner(system.in); int a=in.nextint(); string b=in.nextline(); system.out.print(a b); } }
    a、若输入4 t ,则显示4 t
    b、若输入4回车,则显示4
    c、若输入4回车,再输入t,则显示4t
    d、若输入t回车,则显示程序错误

5、【单选题】7.5 有程序代码,下面描述运行结果错误的是( ) import java.util.scanner; public class demomain { public static void main(string []s){ scanner in = new scanner(system.in); string a=in.nextline(); int b=in.nextint(); system.out.print(a b); } }
    a、若输入a 5 ,则显示a 5
    b、若输入a 5 回车,再输入7,则显示a 57
    c、若输入a回车,再输入5,则显示a5
    d、若输入a回车,再输入b,则显示程序错误

1.8运算符与表达式

1、【单选题】8.1 若定义int x=2,y=3; float z=3.5f;则不正确的赋值为( )
    a、z=x/y;
    b、z=x;
    c、x=z;
    d、z=x 1.5f;

2、【单选题】8.2若有定义char ch= 'a',则ch 2 "hello"的值是( )
    a、99hello
    b、a2hello
    c、ch2hello
    d、992hello

3、【单选题】8.3 若有定义int x=2,y=3;则语句x==0 | (y )<1;执行后,表达式和y的值分别是
    a、false,4
    b、true,4
    c、false,3
    d、true,3

4、【单选题】8.4 若有定义int x=2,y=3;则语句x<0 &&(y )<1;执行后,表达式和y的值分别是
    a、false,4
    b、true,4
    c、false,3
    d、true,3

5、【单选题】8.5 若有定义boolean a=true; int x=1,y=2;则语句(a ||(--x)    a、true,1
    b、true,0
    c、false,1
    d、false,0

6、【单选题】8.6 若有string s1 ="abc" ; string s2 = "abc" ; 则s1 == s2;和s1.equals(s2) 的结果分别是( )
    a、true , true
    b、true , false
    c、false, true
    d、false , false

7、【单选题】8.7 若有以下程序代码,则程序运行结果正确的是( ) public class demomain { public static void main(string []s){ string a = new string("hello"); string b = new string("hello"); string c = "hello"; string d = a; system.out.print((a==d) " " (a==b) " " (a==c)); } }
    a、true false true
    b、true false false
    c、true true false
    d、false true true

8、【单选题】8.8 若有以下程序代码,则程序运行结果正确的是( ) public class demomain { public static void main(string []s){ string a = new string("hello"); string b = a; a="hello"; system.out.print(a.equals(b) " " (b=="hello") " " (a=="hello")); } }
    a、true false true
    b、true false false
    c、true true false
    d、false true true

9、【填空题】8.1 若有int a = 2, int b = 3 , 则 a * b-- --a的值是 。

10、【填空题】8.2 若有string str = "2" , int i = 4, 打印str i 的结果是 。

11、【填空题】8.3 若有int i = 1; 则执行if(false && i >1)后 i 的值是 。

12、【填空题】8.4 若有定义int a=3;float b=4f,则表达式(a-b)运算后的数据类型是 。

1.9选择与循环控制语句

1、【单选题】9.1 下列程序运行的结果是( )
    a、r(int i=0;i<5;i =2) {system.out.print(i);}
    b、012345
    c、01234
    d、024
    e、246

2、【单选题】9.2 在下面循环语句 中循环体执行的次数为( ) int n=10; for(int i=0; in/2) break;
    a、n/2
    b、n/2 1
    c、n/2 2
    d、n

3、【单选题】9.3 下列程序运行的结果是( ) {int i=11; while(i>=0) if(i--%3==0) continue; else system.out.print(i--);}
    a、9630
    b、14721
    c、1074
    d、10741

4、【填空题】9.1读程序写出运行结果 public class t{ public static void main(string []args){ int week=3; while (week>0){ switch (week){ case 1: system.out.println("星期一"); case 2: system.out.println("星期二"); break; default: system.out.println("其他"); } week--; } }}

5、【填空题】9.2读程序写出运行结果 public class demo{ public static void main(string []args){ for(int month=3;month<=12;month=month 3){ switch (month/3){ case 1: {system.out.println("第一季度"); break;} case 2: {system.out.println("第二季度"); break;} case 3: {system.out.println("第三季度"); break;} default: system.out.println("第四季度"); } } }}

6、【填空题】9.4读程序写出运行结果 public class classdemo1 { public static void main(string []args){ int []a = {1,2,3,4,1},i; for (i=0;i1.10方法的定义与使用

1、【单选题】10.1 若有方法的定义public void set(int),则下面选项中正确的是()
    a、int a=set(3);
    b、set();
    c、set(5);
    d、set(5.6);

2、【单选题】10.2 若在同一类中有如下方法的定义: (1) void get(); (2) int get(double a); (3) double get(int a,double b); 则执行get(4)会调用上面哪个方法?
    a、(1)
    b、(2)
    c、(3)
    d、不会调用任何方法

3、【单选题】10.3 下面定义的4个方法中不属于方法重载是( ) (1) void getnum(int a); (2) int getnum(double a); (3) void getnum(int b); (4) double getnum(int a,double b);
    a、(1)(2)
    b、(2)(3)
    c、(3)(4)
    d、(1)(3)

4、【单选题】10.4 下面是有关方法内定义的变量的描述,正确的是( )
    a、一定在方法内所有位置可见
    b、可能在方法的局部位置可见
    c、在方法外可以使用
    d、方法外可见

5、【单选题】10.5 下面是有关方法的形参的描述,正确的是( )
    a、可以没有
    b、至少有一个
    c、必须定义多个形参
    d、只能是简单变量

6、【单选题】10.6 下面是有关return语句的描述,正确的是( )
    a、不能用来返回对象
    b、只可以返回数值
    c、方法都必须含有
    d、一个方法中可以有多个

7、【单选题】10.7 .main()方法的返回值类型是( )。
    a、boolean
    b、int
    c、void
    d、static

1.11数组操作

1、【单选题】11.1 有数组定义int aa[]=new int[5],则下面描述不正确的是( )
    a、aa[1]的值为0;
    b、aa的长度为aa.length;
    c、语句aa[5]=1;有语法错误
    d、因没有给aa[1]赋值,所以aa[1]的值不确定;

2、【单选题】11.2 若有数组定义为:int []a=new int[3],则下列语句正确的是( )
    a、int b=a[3];
    b、int c=a[0] 1;
    c、a[2]=5.0;
    d、a[b]=2;

3、【单选题】11.3若有int[] a=new int[2],则下面描述错误的是( )
    a、a.length的值为2
    b、a[0]的值为0;
    c、a[1]值为0
    d、a[2]的值为0;

4、【单选题】11.4下列数组定义正确的是( )
    a、int []a=new int[3]{1,2,3}
    b、int a[3]={1,2,3};
    c、int a[3][4];
    d、int a[][]={{1,2,3},{4,5,6}};

5、【多选题】11.5下列初始化数组的格式正确的是( )(多选)
    a、int[ ] arr = new int[ ]{1,2,8,6}
    b、int[ ] arr = {58,5,55,88,99}
    c、int[ ] arr = new int[4]{5,6,8,2}
    d、int[ ] arr = new int[ ]{};

6、【多选题】11.6下列多维数组中书写错误的是 ( )(多选)
    a、int[ ][ ] arr = new int[ ][ ]
    b、int[ ][ ] arr = new int[ ][ ]{7,8,9}
    c、int[ ][ ][ ] arr = new int[3][2][ ];
    d、int[ ][ ] arr = new int[ ][ ]{}

7、【填空题】11.1若执行以下代码: int []a={4,5,6,7}; int []b=new int[3]; int []c=new int[3]; system.arraycopy(a, 0, c, 0, 3); b=c; a[0]=10; c[2]=5; b[1]=8; 则a的4个单元的值依次是(用“,”分隔): b的3个单元的值依次是(用“,”分隔): c的3个单元的值依次是(用“,”分隔):

1.12第一部分 章节测验

1、【简答题】编写程序计算0-100中,所有5的倍数的整数的和。

2、【简答题】编写程序从键盘录入正数,根据整数的值判断是星期几,例如 输入1, 打印星期一

3、【简答题】编写程序打印等腰三角形

2.1面向对象程序设计的概念及特征

1、【单选题】1.下列不属于面向对象程序设计中特有概念是 ( )
    a、类
    b、对象
    c、抽象
    d、函数调用

2、【单选题】1.2 下面是对类与对象的描述,错误的描述是( )
    a、类是一组相关的属性和行为的集合
    b、类是一个抽象的概念
    c、对象是类的一个具体体现
    d、对象可以不属于任何类

3、【单选题】1.3 下列不属于面向对象程序设计的基本特征的是( )
    a、多态
    b、封装
    c、继承
    d、静态

4、【单选题】1.4 关于封装,下列说法中不正确的是( )
    a、通过封装,对象的全部属性和操作结合在一起,形成一个整体
    b、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
    c、通过封装,对象的属性都是不可见的
    d、通过封装,每个对象都成为相对独立的实体

2.2类与对象面向对象程序架构的实现

1、【单选题】2.1 下面有关java文件和class类的描述,错误的是( )
    a、一个java文件可以包含一个或多个类的定义
    b、一个java文件最多有一个主类,即只有一个类能声明为public
    c、java文件中主类名称要与java文件名相同
    d、一个java文件只能包含一个class类。

2、【单选题】2.2 能作为类及其成员的修饰符是( )
    a、interface
    b、class
    c、protected
    d、public

3、【单选题】2.3 下列方法定义中,方法头不正确的是( )。
    a、public finally x(double a){…}
    b、public static int x(double y){…}
    c、void x(double d){…}
    d、public int x(){…}

4、【单选题】2.4 定义类a如下: class a{ int a,b,c; public void b(int x,int y, int z){ a=x;b=y;c=z;} } 下面对方法b的重载哪些是正确的( )。
    a、public void a(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}
    b、public void b(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}
    c、public void b(int x,int y){ a=x;b=y;c=0;}
    d、public b(int x,int y, int z){ a=x;b=y;c=z;}

5、【单选题】2.5下面是关于成员变量和局部变量的描述,错误的描述是( )
    a、成员变量是在类内,但不在方法内或代码块内定义的变量。
    b、在创建对象时,系统会自动给成员变量赋初始值。
    c、局部变量同成员变量一样,在访问权限允许的情况下,也可在类外被访问。
    d、系统不会为局部变量自动赋初始值。

2.3类的封装性

1、【单选题】3.1 若类student中成员变量a只允许在类内访问,则成员变量a的访问权限应设置为( )
    a、默认访问权限
    b、protected
    c、private
    d、public

2、【单选题】3.2 若有类class ca{int a;}定义的代码,则数据成员a的访问权限为( )
    a、public
    b、private
    c、protected
    d、默认

3、【单选题】3.3 要使一个成员变量在包外不能访问,包内可以访问,则应将该成员变量的访问权限应设置为( )
    a、默认访问权限
    b、public
    c、private
    d、protected

4、【单选题】3.4 关于封装,下列说法中不正确的是( )
    a、通过封装,对象的全部属性和操作结合在一起,形成一个整体
    b、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
    c、通过封装,对象的属性都是不可见的
    d、通过封装,每个对象都成为相对独立的实体

2.4构造方法

1、【单选题】4.1 构造方法在( )时被调用。
    a、类定义时
    b、使用对象的变量时
    c、调用对象方法时
    d、创建对象时

2、【单选题】4.2 编译系统自动为一个类生成缺省构造方法的条件是( )
    a、该类没有定义任何构造方法
    b、该类没有定义任何无参构造方法
    c、该类没有定义任何有参数构造方法
    d、该类没有定义任何成员方法

3、【单选题】4.3 有一个类a,对于其构造方法的声明正确的是( )。
    a、void a(int x){…}
    b、public a(int x){…}
    c、a a(int x){…}
    d、int a(int x){…}

4、【单选题】4.4 阅读下面的程序,写出运行结果 class samp {samp(int i){system.out.println(i);}} public class test{ public static void main(string []args ){ samp []p=new samp[10]; for(int i=0;i<5;i ){p[i]=new samp();} 上述程序,执行的结果是( )
    a、正常执行,显示10行samp
    b、正常执行,显示5行samp
    c、编译错误
    d、正常执行,显示20行samp

5、【单选题】4.5 假定一个类的定义为: class a { public a(int aa,int bb) {a=aa--;b=a*bb--;} int a,b; } 则执行a x=new a(5,4);语句后,x.a和x.b的值分别为( )
    a、4和5
    b、5和20
    c、4和20
    d、20和5

6、【单选题】4.6 若有以下程序代码: class person{ string name,department; int age; public person(string n){name=n;} public person(string n, int a){name=n; age=a;} public person(string n, string d, int a ){ //执行此代码 } 下面那个选项可以添加到“//执行此代码”前面( )
    a、person(n,a)
    b、this(person(n,a))
    c、this(n, a)
    d、this(name.age)

2.5this与对象数组

1、【单选题】5.1 若有下面的程序 class samp {samp(){system.out.print(”samp”);}} public class test{ public static void main(string []args ){ samp [] p=new samp[10]; } 程序运行结果是( )
    a、显示10个samp
    b、显示1个samp
    c、无任何显示
    d、编译错误

2、【单选题】5.2 若有下面的程序 class samp {samp(){system.out.println(”samp”);}} public class test{ public static void main(string []args ){ samp []p=new samp[10]; for(int i=0;i<5;i ){p[i]=new samp();} 程序运行结果是( )
    a、显示10行samp
    b、显示5行samp
    c、无任何显示
    d、编译错误

3、【填空题】5.1 假设类x的对象x是类y的成员对象(子对象),则“y obj=new y();”语句执行时,先调用类__________的构造方法,再调用类__________的构造方法。

2.6类与类之间的关系

1、【单选题】6.1 下列选项能体现包含关系是( )
    a、桌子与椅子
    b、学生与教师
    c、汽车与引擎
    d、教室与课桌

2、【单选题】若有程序代码如下: class student{void show(teacher teacher){}} class teacher{void show(student student){}} 则student类与teacher类的关系是( )
    a、包含关系
    b、利用关系
    c、继承关系
    d、无关系

3、【单选题】若有如下程序: class teacher{ string name="李";} class student{ void show(teacher t){system.out.print(t.name);}} class main{ public static void main(string []args){ student s = new student(); s.show(new teacher());}} 则下面描述正确的是( )
    a、system.out.print(t.name);语句有语法错误
    b、teacher类的定义有错误,因为缺成员方法
    c、s.show(new teacher());语句有语法错误
    d、程序运行结果显示“李”

4、【单选题】6.2 若有程序代码如下: class student{void show(teacher teacher){}} class teacher{void show(student student){}} 则student类与teacher类的关系是( )
    a、包含关系
    b、利用关系
    c、继承关系
    d、无关系

5、【单选题】6.3 若有如下程序: class teacher{ string name="李";} class student{ void show(teacher t){system.out.print(t.name);}} class main{ public static void main(string []args){ student s = new student(); s.show(new teacher());}} 则下面描述正确的是( )
    a、system.out.print(t.name);语句有语法错误
    b、teacher类的定义有错误,因为缺成员方法
    c、s.show(new teacher());语句有语法错误
    d、程序运行结果显示“李”

2.7static关键字

1、【单选题】7.1 下列关于静态成员变量的描述中正确的是( )
    a、类的每个对象有自己的静态成员变量
    b、静态成员变量要在构造函数内初始化
    c、静态成员变量是类的该类所有对象所共有的
    d、静态成员变量不能通过类的对象调用

2、【单选题】7.2 下列关于静态成员方法的描述中不正确的是( )
    a、静态成员方法是一种用关键字static修饰的成员方法
    b、静态成员方法中不能访问非静态成员变量
    c、静态成员方法必须通过对象来调用
    d、静态成员方法可以定义和访问局部变量

3、【单选题】7.4 声明为static的方法不能访问( )类成员。
    a、超类
    b、子类
    c、非static
    d、用户自定义类

4、【单选题】7.3 若有程序如下: class student{ string stuname; static double moneybox; public student(string stuname,double m){ this.stuname=stuname; moneybox = m; } public void showmoney(){ system.out.println(stuname " " moneybox); } } public class studentdemo { public static void main(string[] args) { student stu1=new student("张同学",10); student stu2=new student("李同学",20); stu2.showmoney(); } } 则程序的运行结果为( )
    a、张同学 10
    b、李同学 30
    c、李同学 20
    d、编译错误,因moneybox无初始值

5、【单选题】7.5 若有程序如下: public class studentdemo { int j; public static void main(string[] args) { studentdemo.show(2); } public static void show(int i){ system.out.print(i " " j); } }
    a、2 0
    b、编译错误,因j无初始值
    c、编译错误,因j没有定义
    d、编译错误,因j为非静态变量

6、【单选题】7.6若有下面的程序代码 class test{ private int m; public static void fun(){ //some code } } 方法fun()如何来访问变量m( )
    a、将private int m 改成protected int m
    b、将private int m 改成public int m
    c、将private int m 改成static int m
    d、将private int m 改成int m

7、【单选题】7.7若有下面的程序代码 public class test{ long a[]=new long[10]; public static void main(string args[]){ system.out.println(a[6]); } } 哪一个选项是正确的( )。
    a、不输出任何内容
    b、输出0
    c、当编译时有错误出现
    d、当运行时有错误出现

2.8第二部分 章节测验

1、【填空题】8.1 在横线上填上适当的语句,使程序能正常运行。 class test{ 【1】 float fl; 【2】 {num=1;f1=2.0f;} public int getint(){return num;} public float getfloat(){return fl;} } class demo{ public static void main(string []args){ { 【3】 t=new test(); system.out.print(t.getint() ” “ t.getfloat());} 运行结果为: 1 2.0

2、【填空题】8.2 在横线上填上适当的语句,使程序能正常运行。 【1】{ 【2】(int a,int b){ return a-b; } } class studentdemo{ public void show(student s,int a, int b){ system.out.println(s.sum(a,b)); } } public class demo{ public static void main(string []args){ int x=20,y=10; student s=【3】; 【4】=new studentdemo(); st.show(s,x,y); } }

3、【填空题】8.3 在横线上填上适当的语句,使程序能正常运行。 【1】{ 【2】 public void setage(int a){age=a;} 【3】{【4】} } public class demo{ public static void main(string []args){ student s=【5】 s.age=20; system.out.println(s.getage()); //显示age的值 } }

4、【填空题】8.4 阅读程序,写出运行结果 class student{ private string name; public static int age=20; public student(string name){ this.name=name; age ; } public void show(){ system.out.println("name=" name ",age=" age);} } public class t{ public static void main(string []args){ student s1=new student("张同学"); s1.show(); student s2=new student("赵同学"); s2.show(); s1.show(); } }

5、【填空题】8.5 阅读程序,写出运行结果 class point{ int x=1; static int y=2; public void show(){system.out.println(x "," y);}} public class tempdemo{ public static void main(string []args){ point p1=new point();p1.show(); p1.x=2;p1.y=3; point p2=new point();p2.show(); p1.show(); p1.y=5; p2.show(); }}

6、【填空题】8.6 阅读程序,写出运行结果 class demo{ int a=0; static int b=0; public demo(){ b; system.out.println("a,b:" a b); } public demo(int a){ this(); this.a=a; system.out.println("a,b:" a b); }} public class classdemo1 { public static void main(string []args){ demo d1=new demo(); d1.a = 3; system.out.println("a,b:" d1.a d1.b); demo d2=new demo(2); demo d3=new demo(); }}

7、【填空题】8.7 阅读程序,写出运行结果 class student{ string stuname="学生"; static int no=0; public student() {no ; system.out.println(stuname no);} public student(int a) {no=a; system.out.println(stuname a);} public void show(){ system.out.println(stuname no); } } class demo { public static void main(string[] args) { student st1=new student(); st1.show(); student st2=new student(2); st2.show(); st1.show(); }}

8、【简答题】8.8某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。包括如下属性和对属性进行操作的方法。 string xm;// 姓名 string xb;// 性别 int nl;// 年龄 string jtzz;// 家庭住址 string xl;// 学历 // 输入上述信息 显示上述信息

9、【简答题】8.9按照以下要求设计一个学生类student,并进行测试。 l student类中包含学号(strno)、成绩(score)两个属性。两个成员变量的访问权限设为私有。 l 分别为每个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。 l 定义一个无参构造方法,将学号设置为空字符串,成绩设置为0。 l 在测试类中创建一个student对象,通过对象调用相应方法,为对象的两个属性赋值(“李敏”,80),并显示对象的属性值。显示内容及格式为:学号:李敏 成绩:80。

10、【简答题】8.10 设计一个point类,要求如下: 1)point类中包含横坐标x、纵坐标y两个属性。 2)定义两个方法inputdata()和showdata()方法,分别实现从键盘接受x和y的值,按照(x,y)格式显示信息。 3)point类中定义一个无参的构造方法,给x,y赋值0和一个接受两个参数的构造方法,两个参数分别为x和y赋值。 4)在测试类中创建两个point对象和一个point数组对象,其中一个使用无参的构造方法,然后调用inputdata()方法输入x、y的值,再调用showdata()显示该对象的属性值;另一个使用有参的构造方法,在构造方法中给x和y赋值。然后调用showdata方法显示信息该对象的属性值。point数组的长度为2,数组元素使用无参构造方法创建。

11、【简答题】8.11 设计一个score类,要求如下: 1)score类中包含double数组,用于存储5门课成绩。 2)定义无参构造方法,创建数组对象,并给每个元素赋初始值0。 3)定义inputdata()方法,输入5门课的成绩;showdata()方法显示5门课的成绩;getmax()方法返回最高成绩;getmin()方法返回最低成绩。 4)在测试类中创建score对象,调用方法输入、显示数组元素值,显示最高成绩和最低成绩。

12、【简答题】8.13 编写程序,提供实现各种数学计算的方法。包括如下几项。 (1)两个数的加、减、乘、除。 (2)求某数的相反数、倒数、绝对值。 (3)取两数中较大的和较小的。 (4)对浮点数(double型)的计算功能。如:给定浮点数d,取大于或等于d的最小整数,取小于或等于d的最大整数,计算最接近d的整数值,计算d的平方根、自然对数log(d)等。 (5)计算以double型数a为底数,b为指数的幂。

3.1继承的概念及实现

1、【单选题】1.下面对继承的描述不正确的是( )
    a、类的继承是指在一个现有类的基础上去派生一个 新的类
    b、继承关系体 现“一般-特殊”关系
    c、在父类中可直接使用子类的成员变量
    d、类的继承具有传递性

2、【单选题】若有如下类的定义 class father{int a; public father(){}} class son extends father{int b;} 则下面描述正确的选项是( )
    a、son类中仅包含成员变量b
    b、son类中仅包含成员变量a和b
    c、son类中仅包含成员变量a和b 、以及成员方法father
    d、father类中包含成员变量a和b}

3、【单选题】已知类关系如下: class employee{} class manager extends employee{} class director extends employee{} 则下列语句正确的是( )
    a、employee e=new manager();
    b、director d=new manager();
    c、director d =new employee ();
    d、manager m=new director ();

3.2继承中访问权限、方法重载及覆盖

1、【单选题】若有如下程序: class employee{private int a=1;} class manager extends employee{ int b=2; public void show(){ system.out.print(a); }} class maindemo{ public static void main(string []args){ manager m = new manager(); m.show(); system.out.print(m.b); }} 则程序运行结果是( )
    a、3
    b、12
    c、编译错误
    d、结果不确定

2、【单选题】若有以下程序: class employee{ public void show(int i){} //① public void show(int i,int j){} //②} class manager extends employee{ public void show(){} //③ public void show(int i){} //④} 则下面描述错误的是( )
    a、语句 ①与语句 ③是方法重载
    b、语句 ①与语句④是方法覆盖
    c、语句②与语句③是方法重载
    d、语句②与语句④是方法覆盖

3、【单选题】若有以下程序: class employee{ public void show(){ system.out.print(“1”);} } class manager extends employee{ public void show(){ system.out.print(“2”);} } class maindemo{ public static void main(string []args){ manager m = new manager(); m.show(); }} 则程序运行结果为( )
    a、1
    b、2
    c、12
    d、无法确定

3.3继承中super及构造方法

1、【单选题】3.1 下面关于继承关系中构造方法的描述错误的是( )
    a、创建子类对象时会调用父类构造方法和子类构造方法。
    b、可以用super()来调用父类构造方法。
    c、子类必须定义构造方法。
    d、创建父类对象时只会调用父类构造方法。

2、【单选题】3.2 下面关于super的描述错误的是( )
    a、通过super能调用父类的成员变量和方法。
    b、super代表父类对象。
    c、用super()来调用父类构造方法时,必须写在子类构造方法体的最前面。
    d、super()可调用父类任意构造方法。

3、【单选题】编译运行下面的程序,结果是( )。 public class a{ public static void main(string args[]){ b b=new b(); b.test(); } void test(){ system.out.print("a"); } } class b extends a{ void test(){ super.test(); system.out.print("b"); ); } }
    a、产生编译错误
    b、代码可以编译运行,并输出结果:ab
    c、代码可以编译运行,但没有输出
    d、编译没有错误,但会产生运行时异常

4、【单选题】编译运行下面的程序,结果是( )。 class main{ public static void main(string args[]){ classb b=new classb(); } public main(){ system.out.print("a"); } } class classb extends main{ public classb(){ super(); system.out.print("b"); } }
    a、产生编译错误
    b、代码可以编译运行,并输出结果:ab
    c、代码可以编译运行,但没有输出
    d、代码可以编译运行,并输出结果:ba

3.4多态的概念及实现

1、【单选题】4.1 下面关于实现多态的描述错误的选项是( )
    a、要实现多态,必须声明一个父类引用。
    b、用父类引用指向子类对象。
    c、用子类对象调用子类方法 。
    d、通过父类引用对象调用父类和子类都包含的方法。

2、【单选题】若有以下程序代码 class father{public void show(){}} class son extends father{ public void show(){} public void print(){}} class main{ public static void main(string []s){ father f; // ① f=new father(); //② f.show(); // ③ f = new son(); //④ f.show(); //⑤ f.print(); //⑥ } 则能实现多态的语句组合是( )
    a、①②③
    b、①② ④⑥
    c、①② ⑤⑥
    d、① ④⑤

3.5抽象类的概念及实现

1、【单选题】5.1 下列哪个类声明是正确的( )
    a、public abstract class car{…}
    b、abstract private move(){…}
    c、protected private number;
    d、abstract final class h1{}

2、【单选题】5.2 下面是有关抽象类的描述,错误的描述是
    a、定义抽象类须用abstract修饰
    b、抽象类至少包含1个抽象方法
    c、抽象类可以创建对象
    d、子类通过extends来继承抽象类

3、【单选题】若有以下程序 class father{ // ① public abstract void show() //② } class main{ public static void main(string []s){ father f; //③ f=new father(); //④ }} 则下面描述错误的是( )
    a、①句错误,缺修饰词abstract
    b、②句正确
    c、③句错误,抽象类不可以声明对象
    d、④句错误,抽象类不能创建对象

4、【单选题】5.4 下面有关抽象方法的描述错误的是( )
    a、抽象方法要用abstract修饰
    b、抽象方法是指没有方法体(具体实现)的方法
    c、public abstract void show(){}有语法错误
    d、抽象方法可以通过类对象调用

5、【填空题】5.1 如果要定义抽象类person,则需在person前添加的关键字是__________

3.6接口的概念及引用

1、【单选题】6.1下面是有关接口的描述,正确的描述是( )
    a、接口要用abstract修饰
    b、接口中定义的方法全部为抽象方法
    c、接口中可以定义构造方法
    d、可以创建接口对象

2、【单选题】6.2 接口是java面向对象的实现机制之一,以下说法正确的是( )
    a、java支持多重继承,一个类可以实现多个接口
    b、java只支持单重继承,一个类可以实现多个接口
    c、java只支持单重继承,一个类只能实现一个接口
    d、java支持多重继承,但一个类只可以实现一个接口

3、【单选题】若有以下程序 interface father{ // ① double f =3.5; public void show(){} //②} class son implements father{ public void show(){ f = 5.0; //③ } } class main{ public static void main(string []s){ father f = new father(); //④ }} 则下面描述错误的是( )
    a、①句无语法错误
    b、②句有语法错误
    c、③句无语法错误
    d、④句有语法错误

4、【填空题】6.1 如果要定义接口person,则需在person前添加的关键字是__________

5、【填空题】6.2 如果要引用接口person,则需在类的定义处添加的关键字是__________

3.7包的概念及应用

1、【单选题】7.1下面是有关项目、包、文件、类的描述错误的是( )
    a、一个项目可以包含多个包
    b、一个包可包含多个文件
    c、一个文件可包含多个类
    d、一个文件中可以包含多个用public修饰的类

2、【单选题】7.2下面有关包的访问权限描述错误的是( )
    a、包中默认类型成员变量可在类之间访问
    b、包中public修饰的成员变量可在类之间访问
    c、同一项目中默认类型成员变量可在包间访问
    d、在包p1中访问包p2中成员变量,需在p1中引用p2中相应的类

3、【单选题】若有以下程序 //程序1 package p1; // ① class father{ int i; public static void show(){}} //程序2 package p2; import p1.class; //② class son { public void show(){ father f = new father(); f.i = 5; //③ f.show(); //④ }} 则①~④中有语法错误的语句是( )
    a、①
    b、②
    c、③
    d、④

4、【填空题】7.1 如果要定义包pack,需在程序文件最前面写的语句是__________

5、【填空题】7.2 如果要引用pack包中person类,则需在程序文件写的语句是__________

3.8第三部分 章节测验

1、【填空题】读下面程序,写出程序运行结果。 class father { int num1=0; public father(){ system.out.println("num1:" num1);} public father(int num1){ this.num1=num1; system.out.println("num1:" num1); } } class son extends father{ int num2=10; public son(){system.out.println("num2:" num2);} public son(int i,int j){ super(i); num2=j; system.out.println( "num1:" num1 ",num2:" num2); } } public class demo{ public static void main(string []args){ father father=new father(); son son=new son(); son son1=new son(20,30); } } 运行结果为:

2、【填空题】在(1)~(3)处填上适当的语句,使程序能正常运行 class person { public void show(){}} (1) { public void show(){ system.out.println("student");} } class teacher extends person{ (2) { system.out.println("teacher");}} public class demo{ public static void main(string []args){ (3) p.show(); p=new student(); p.show(); p=new teacher(); p.show(); }}

3、【填空题】读下面程序,写出程序运行结果。 class point{ int x; public point(){x=0;} public point(int x){this.x=x;} public void show(){system.out.println(x);}} class spoint extends point{ int y; public spoint(){y=0;} public spoint(int x,int y){super(x); this.y=y;} public void show(){system.out.println(x "," y);}} public class tempdemo{ public static void main(string []args){ point p=new point(); p.show(); point p1=new point(2); p1.show(); spoint sp=new spoint(); sp.show(); spoint sp1=new spoint(2,3); sp1.show(); }} 运行结果为:

4、【填空题】读下面程序,写出程序运行结果。 class point{ int x=1; public void show(){system.out.println(x);}} class spoint extends point{ int y=2; public void show(){system.out.println(x "," y);}} class ppoint extends point{ int z=3; public void show(){system.out.println(x "," z);}} public class tempdemo{ public static void main(string []args){ point p; p=new point(); p.show(); p=new spoint(); p.show(); p.x=2; p.show(); p=new ppoint(); p.show(); }} 运行结果为:

5、【填空题】在(1)~(3)处填上适当的语句,使程序能正常运行。. (1) class employee { public abstract void show(); } class salemp extends employee{ public void show(){system.out.println("salemp");} } class telemp extends employee { (2) { system.out.println("telemp ");} } public class demo{ public static void main(string []args){ salemp p=new salemp(); p.show(); (3) p1=new telemp (); p1.show(); }}

6、【填空题】读下面程序,写出程序运行结果。 class person{ int a,b; public person(int a,int b){ system.out.println("a,b:" a b); }} class student extends person{ int c; public student(int a,int b,int c){ super(a,b); this.c= c; system.out.println("c:" c); } public void show(){ system.out.println("a,b,c:" a b c); }} public class classdemo1{ public static void main(string []args){ person p1=new person(1,2); student p2=new student(2,3,4); p2.show(); }} 运行结果为:

7、【填空题】读下面程序,写出程序运行结果。 abstract class graph{ int a; public graph(){a=1;} public graph(int a){this.a=a;} public abstract void showarea(); } class rect extends graph{ int b; public rect(int a,int b){super(a); this.b= b;} public void showarea(){ system.out.println("area:" (a*b));} } class circle extends graph{ public circle(){}; public circle(int a){super(a);} public void showarea(){ system.out.println("area:" (3.14*a*a)); } } public class classdemo1{ public static void main(string []args){ graph g1; g1=new rect(2,3); g1.showarea(); g1=new circle(2); g1.showarea(); g1= new circle(); g1.showarea(); } } 运行结果为:

8、【填空题】在(1)~(3)处填上适当的语句,使程序能正常运行。. abstract class person { public (1) show(); } class student extends person{ public (2) { system.out.println("student");}} (3) { public void show(){ system.out.println("teacher");}} public class demo{ public static void main(string []args){ person p; p=new student(); p.show(); p=new teacher(); p.show(); }}

9、【简答题】按要求编写一个java应用程序: (1)定义一个接口cancry,描述会吼叫的方法public void cry()。 (2)分别定义狗类(dog)和猫类(cat),实现cancry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。 (3)定义一个主类g, ①定义一个void makecry(cancry c)方法,其中让会吼叫的事物吼叫。 ②在main方法中创建狗类对象(dog)、猫类对象(cat)、g类对象(g),用g调用makecry方法,让狗和猫吼叫。

10、【简答题】编写一个抽象类shape,声明计算图形面积的抽象方法。再分别定义shape的子类circle(圆)和rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现shape类中计算面积的方法。

11、【简答题】定义一个接口,接口中有3个抽象方法如下。 (1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intpower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findfactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。 定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。

12、【简答题】创建一个接口ishape,接口中有一个求取面积的抽象方法“public double area()”。定义一个正方形类square,该类实现了ishape接口。square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建square类的实例对象,求该正方形对象的面积。

13、【简答题】定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。 (1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。 (2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是……自己想吧)。 (3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。 (4)编写主函数分别对上述3类具体人物进行测试。

1、【填空题】预测程序运行结果 class student{ private int age; public void setage(int a){ age=a;} public int getage(){ return age; } } public class studentdemo{ public static void main(string []args){ student s=new student(); s.setage(20); system.out.println(s.getage());}}

2、【填空题】预测程序运行结果 class person{ string name; public void setname(string name) { this.name=name;} public string getname() {return name;} } class student extends person{ } class teacher extends person{ } public class studentdemo{ public static void main(string []args){ student s=new student(); s.setname("tom"); system.out.println(s.getname()); teacher t=new teacher(); t.setname("john"); system.out.println(t.getname()); }}

3、【填空题】预测程序运行结果 class father { int num1=0; public father(){ system.out.println("num1:" num1);} } class son extends father{ int num2=10; public son(){ system.out.println("num2:" num2);} } public class studentdemo{ public static void main(string []args){ son son=new son(); }}

4、【填空题】预测程序运行结果 class person { int num1=0; public void show() { system.out.println("num1:" num1);}} class student extends person{ int num2=10; public void show(){ system.out.println("num2:" num2);}} class teacher extends person{ int num2=20; public void show(){ system.out.println("num2:" num2);}} public class studentdemo{ public static void main(string []args){ person p=new person(); p.show(); p=new student(); p.show(); p=new teachr(); p.show(); }}

5、【简答题】预测程序运行结果 class student{ private int age; private string name; public student(string name, int age){ this.name=name; this.age=age;} public void show(){ system.out.println(“name=” name ” age=” age);} } public class studentdemo{ public static void main(string []args){ student s=new student(); s.show();}}

6、【简答题】预测程序运行结果 class student{ private string name; public static string classno; public student(){} public student(string name, string classno){ this.name=name; this.classno=classno;} public static void show(){ system.out.println(“name=” name ”classno=” classno);}} public class studentdemo{ public static void main(string []args){ student s1=new student(“张”,”计1”); student s2=new student(“李”,”计2”); s1.show();

4.1异常与异常类

1、【单选题】1.1 下列对异常描述,错误的描述是 ( )
    a、异常的基类是exception
    b、异常是指程序运行中出现的不正常现象
    c、runtimeexception表示运行时异常
    d、error表示错误

2、【单选题】1.2 下面是有关异常的描述,错误的描述是 ( )
    a、发生异常时,程序会抛出一个异常对象
    b、当运行一个不存在的类时,会抛出异常
    c、当数组越界访问时,会抛出异常
    d、当1个数除以0时,会抛出异常

3、【单选题】若有下面程序, class demo{ public static void main(string []s){ int a = 5, b = 0; a = a/b; }} 则程序运行时会抛出哪种异常( )
    a、classnotfoundexception
    b、indexoutofboundsexception
    c、nullpointerexception
    d、airthmeticexception

4.2异常处理机制和实现方法

1、【单选题】2.1 下面有关异常处理机制的描述,错误的描述是( )
    a、把有可能抛出异常的代码放在try块中
    b、把欲捕获和处理的异常放在catch块中
    c、不管有没有处理异常都要执行的代码放在finally块中
    d、用了try…catch语句则表示程序处理了异常

2、【单选题】若有以下程序: class demo{ public static void main(string []s){ int a = 5, b = 0; try{a = a/b;} catch(exception e){system.out.print(“异常”)} catch(airthmeticexception e){ system.out.print(“算术异常”); } catch(indexoutofboundsexception e){ system.out.print(“越界异常”); } }} 则程序运行结果为( )
    a、显示:异常
    b、显示:算术异常
    c、显示:越界异常
    d、编译错误

3、【单选题】若有以下程序:的运行结果: class array{ public static void main(){ int []a={1,2,4,3}; try{ for(int i=0;i    a、airthmeticexception
    b、indexouterofboundsexception
    c、无显示
    d、编译错误

4、【单选题】2.4 下面对抛出异常的描述,错误的描述是( )
    a、如果不即时处理异常,则可将异常抛出
    b、对于异常抛出的方法,需在方法定义后添加“throws 异常类列表”
    c、一个方法只能抛出一个异常
    d、在调用有异常抛出的方法时,需做异常处理

5、【填空题】2.1 利用try{}catch{}处理异常时,一般将在运行过程中有可能出现异常的代码放入 块中,以便于捕获异常。

6、【填空题】在(1)~(4)处填上适当的语句,使程序能正常运行。 public class tempdemo{ public static void main(string []args){ int []a={1,0,3}; (1) { for(int i=0;i
4.3file类

1、【单选题】3.1 下面是创建file对象的语句,错误的是( )
    a、file f=new file("d:\\text.txt");
    b、file f=new file("d: ");
    c、file f=new file("d:","text.txt");
    d、file f=new file("d:\text.txt");

2、【单选题】3.2 下面不属于file类方法的( )
    a、createnewfile()
    b、mkdir()
    c、createnewfiles()
    d、mkdirs()

3、【单选题】3.3 file类中判断文件或目录是否存在的方法是( )
    a、isexists()
    b、exists()
    c、isfile()
    d、isdi rectory()

4、【填空题】3.1 若编写一条语句创建file对象f,且f关联文件”d:\test\data.txt”,则正确的语句为:

5、【填空题】3.2 file类判断是否是文件时使用的方法是 ,要判断是否是目录时使用的方法是

6、【简答题】3.1 编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。

4.4基本输入输出流

1、【单选题】4.1 java中io流分为字节流和字符流两大类,下面不属于字节流的是( )
    a、fileoutputstream
    b、fileinputstream
    c、reader
    d、inputstream

2、【单选题】4.2 下列流是属于输入流的是( )
    a、datainputstream
    b、bufferedwriter
    c、filewirter
    d、fileoutputstream

3、【单选题】4.3 下列流属于输出流的是( )
    a、inputstream
    b、fileinputstream
    c、reader
    d、outputstream

4、【单选题】4.4 下列对字节流方法的使用错误的是( )
    a、write(byte[] bs) : 写出一个数组
    b、read() : 每次读取一个字符
    c、read(byte[] bs) : 读取内容存入数组
    d、write(int i) : 写出一个字节

5、【填空题】4.1 filewriter对应的输入流为: 。

4.5常用输入输出流(一)

1、【单选题】5.1下面是创建用于读文件的流对象,错误的是( )
    a、fileinputstream data=new fileinputstream(new file ("d:\\data.txt"));
    b、fileinputstream data=new fileinputstream("d:\\data.txt");
    c、bufferedreader br=new bufferedreader("d:\\data.txt");
    d、bufferedreader reader = new bufferedreader(new filereader("d:\\data.txt"));

2、【单选题】5.2下面是创建用于写文件的流对象,正确的是( )
    a、fileinputstream data=new fileinputstream(new file ("d:\\data.txt"));
    b、fileinputstream data=new fileinputstream("d:\\data.txt");
    c、bufferedoutputstream bo=new bufferedoutputstream("d:\\data.txt");
    d、bufferedoutputstream bo=new bufferedoutputstream(new fileoutputstream("d:\\da.txt"));

3、【单选题】5.3 下列对缓冲流描述正确的是( )
    a、缓冲流读写速度比文件流快
    b、缓冲流不依赖内部的缓冲区工作
    c、缓冲流直接和文件建立连接
    d、缓冲流不能使用数组读写

4、【填空题】5.1 创建一个字符输入缓冲流对象br读文件"d:\a.txt"的语句是:

5、【填空题】5.2 使用字符流时如果要手动刷新,需要调用的方法是 。

4.6常用输入输出流(二)

1、【单选题】6.1下面是创建用于读文件的流对象,正确的是( )
    a、dataoutputstream data=new dataoutputstream(new fileoutputstream("d:\\data.txt"));
    b、bufferedreader br=new bufferreader("d:\\data.txt");
    c、bufferedwriter bw = new bufferedwriterr(new filewriter("d:\\data.txt"));
    d、datainputstream is = new datainputstream(new fileinputstream("d:\\data.txt"));

2、【单选题】6.2要按照数据类型将数据写入到文件,则需定义的流是( )
    a、dataoutputstream, fileoutputstream;
    b、datainputstream, fileinputstream;
    c、bufferedwriter, filewriter;
    d、bufferedreader, filereader;

3、【单选题】6.3下面关于objectinputstream和objectoutputstream流的描述,错误的是( )
    a、objectinputstream是以对象为单位的输入流
    b、使用这两个流读写对象时,对象所属的类必须引用serializable接口
    c、写对象的方法是writeobject( )
    d、读对象的方法是readobject()

4.7第四部分 章节测验

1、【填空题】在【1】-【5】处填上适当的代码,使程序能正常运行 import java.io.*; //将a.txt的内容复制到b.txt public class demo { public static void main(string []args) throws ioexception { 【1】=new bufferedreader(new filereader("a.txt")); bufferedwriterbw = new bufferedwriter(【2】); string s1=null; 【3】 { while ((s1=【4】.readline())!=null){ 【5】.write(s1); system.out.print(s1); } } catch(ioexception e) { }finally{ bw.close(); br.close(); } } }

2、【填空题】以下是对象数据写入文件(d:\data.txt)的程序代码,在【1】~【3】处填上适当的语句,使程序完整。 public writef(){ { 【1】 {【2】; 【3】 wf=new objectoutputstream( new fileoutputstream(file); wf.writeobject(t); //t为一数据对象 wf.close();}catch(exception e){}}

3、【填空题】以下是按数据类型读文件(d:\data.txt)的程序代码,在【1】、【2】处填上适当的语句,使程序完整。 public readf(){ { 【1】 {file file=new file(“d:\data.txt”); 【2】 datainputstream ds=new datainputstream(rf); int i=ds.readint(); ds.close();}catch(exception e){}}

4、【简答题】7.1写一个程序,实现从文件中读出文件内容,并将其打印在屏幕当中,并标注上行号。

5、【简答题】7.2编程实现删除指定的文件或者目录的功能,要求文件名通过命令行参数给出,并注意对操作过程中的异常进行正确处理。

6、【简答题】设计一个person类,要求如下: 1)person类中包含name和age属性。 2)定义inputdata()方法输入属性的值;showdata()方法显示属性的值。 3)定义writedata()方法将数据按追加的方式写入文件“data.txt”,最好用dataoutputstream来实现,要有异常处理。 4)在测试类中创建person对象,调用方法输入、显示对象属性值,然后将对象属性值写入文件。

7、【简答题】7.4编程将两个文件中的内容合并成一个新文件。合并方法是:从文件1读取一个字符放入文件3,再从文件2读取一个字符放入文件3,如此轮流直至某一个文件读完,再将较长文件中的剩余部分读取放入至文件3。

5.1线程的概念及生命周期

1、【单选题】1.1 下面关于进程、线程、程序的描述,错误的是( )
    a、程序是指令的集合
    b、一个运行的程序就是一个线程
    c、进程是正在独立运行的程序
    d、线程是进程中的一个执行流程

2、【单选题】1.3 启动线程的方法是( )
    a、run()
    b、start()
    c、sleep()
    d、new thread()

3、【单选题】1.2 若有下列定义多线程方式的描述: ① 继承runnable,重写run方法 ②引用runnable, 重写run方法 ③继承thread , 重写run方法 ④ 引用thread , 重写run方法 则正确的描述有( )
    a、① ③
    b、① ④
    c、② ③
    d、② ④

5.2多线程的实现

1、【单选题】2.1 通过new创建的线程处于的状态是( )
    a、新建
    b、就绪
    c、运行
    d、睡眠

2、【单选题】2.2 在线程等待一个事件时(例如输入/输出操作),线程处于的状态是( )
    a、新建
    b、就绪
    c、阻塞
    d、挂起

3、【单选题】2.3 在 run() 方法已完成执行或其 stop() 方法被调用之后,线程处于的状态是( )
    a、新建
    b、死亡
    c、运行
    d、睡眠

4、【单选题】2.4 如果调用了 wait() 方法,线程处于的状态是( )
    a、新建
    b、死亡
    c、运行
    d、等待

5、【单选题】2.5 下列关于线程状态转换的描述,错误的是( )
    a、从就绪状态可直接转换到运行状态
    b、从运行状态可直接转换到就绪状态
    c、从运行状态可直接转换到等待状态
    d、从阻塞状态可直接转换到运行状态

6、【单选题】2.6 死亡状态的线程描述错误的是( )
    a、正常运行的线程执行完全部工作后,正常退出
    b、线程可以被强制终止
    c、死亡状态的线程不能被重新启动
    d、死亡状态的线程可以重新被启动进入就绪状态

7、【单选题】2.7 当线程在io处堵塞时,下列描述正确的是( )
    a、线程进入准备状态
    b、线程进入消亡状态
    c、没有其他线程可以完成io操作
    d、线程进入等待状态

8、【单选题】2.8 下面关于yield()方法说法正确的是( )
    a、让线程进入等待
    b、让线程进入运行
    c、让线程进入休眠。
    d、让线程终止线程

9、【单选题】2.9 下面关于notify()说法正确的是( )
    a、唤醒所有等待的线程
    b、唤醒当前等待的线程
    c、唤醒就绪的线程
    d、不需要知道哪个线程直接唤醒。

10、【单选题】2.10 下面关于notifyall()方法说法正确的是( )
    a、唤醒当前线程。
    b、停止所有线程
    c、唤醒所有线程
    d、所有线程进入等待

11、【填空题】2.1 线程优先级的范围是(用数字表示) 。

5.3线程的同步

1、【单选题】3.1 下面对synchronized(lock){//代码块}同步代码块方法的描述,错误的是( )
    a、参数lock是一个object对象。
    b、参数lock用于加锁解锁。
    c、如果lock标志位为1,则可执行执行同步代码块。
    d、如果lock标志位为0,则可执行执行同步代码块。

2、【单选题】3.2 下面关于线程同步的描述,错误的描述是( )
    a、同步代码块方法,即采用synchronized(lock){}加锁方式解决线程同步问题。
    b、同步方法,即定义synchronized关键字来修饰的方法解决线程同步问题。
    c、线程同步表示一个线程一直独占共享资源。
    d、线程同步有可能出现死锁情况。

3、【单选题】3.3 若有以下程序: public class demo{ private object obj = new object(); public synchronized void show(){ try{ obj.wait(); system.out.println(“waiting”); }catch(exception e){ system.out.println(“exception”); } } public static void main(string []args){ new demo().show(); } } 在程序运行结果为( )
    a、exception
    b、无任何显示
    c、waiting
    d、编译错误

5.4线程的通信

1、【简答题】4.1 采用java 多线程技术,设计实现一个符合生产者和消费者问题的程序。对一个对象(枪膛)进行操作,其最大容量是12颗子弹。生产者线程是一个压入线程,它不断向枪膛中压入子弹;消费者线程是一个射出线程,它不断从枪膛中射出子弹。

5.5第五部分 章节测验

1、【填空题】5.1 在(1)~(3)处填上适当的语句,使程序能正常运行。 class mythread implements runable { (1) { while(true){system.out.print("hello"); try { (2) //休眠1秒钟 } catch (interruptedexception e) { e.printstacktrace(); } }}} public class demo{ public static void main(string []s){ mythread thread1= (3) //声明创建对象thread1 thread thread = new thread(thread1,"线程1") thread.start(); //通过对象thread启动线程 }}

2、【简答题】5.1 简述死锁出现的原因 ?

3、【简答题】5.2编写一个应用程序创建两个线程,一个线程打印输出1~1000之间所有的奇数,另外一个线程打印输出1~1000之间所有的偶数,要求两个线程随机休眠一段时间后继续打印输出下一个数。

4、【简答题】5.3 编写一个 java 程序实现多线程,在线程中输出线程的名字,休眠300 毫秒后输出一次,共输出 20 次。

5、【简答题】5.4创建两个线程。每个线程进行5次循环,每次循环显示循环的次数和当前运行的线程名字,然后休眠一个随机时间。

6、【简答题】5.5编程出一个程序,实现两个线程 a 和 b ,a 和 b 同时启动,a线程每隔500毫秒显示字符‘a’,b线程每隔 3 毫秒显示字符‘b’。

7、【简答题】5.6编写一个java应用程序,要求有3个线程:studentl、student2和teacher,其中线程studentl准备“睡”1分钟后再开始上课,线程student2准备“睡”5分钟后再开始上课。teacher在输出4句“上课”后,“唤醒”了休眠的线程studentl;线程studentl被“唤醒”后,负责再“唤醒”休眠的线程student2。

6.1图形用户界面概述

1、【单选题】1.1 下面swing组件中不属于容器的是( )
    a、jframe
    b、jpanel
    c、jtextfeild
    d、jdialog

2、【单选题】1.2 用于设置容器字体的方法是( )
    a、setfont(font f)
    b、setvisible(boolean b)
    c、setsize(dimension d)
    d、settitle(string title)

3、【单选题】1.3 下面关于 jdialog对话框模式的描述,错误的描述是( )
    a、包括模式对话框和无模式对话框两种模式。
    b、new jdialog()表示创建一个无模式对话框。
    c、无模式对话框允许用户在处理对话框的同时可与其他窗口交互。
    d、setmodal(false)表示设置为模式对话框

6.2布局管理器

1、【单选题】2.1 java中提供了多种布局管理器,下面属于网格布局管理器的是( )
    a、flowlayout b. borderlayout
    b、gridlayout d.gridbaglayout

2、【单选题】2.2 取消某容器的布局管理器的方法是( )
    a、setlayout(null) b. setlayout()
    b、setlocation() d. setsize()

3、【单选题】2.3 jframe的默认布局管理器是( )
    a、flowlayout b. borderlayout
    b、gridlayout d.gridbaglayout

4、【单选题】2.4 将组件按照添加顺序从左向右依次放置的布局管理器是( )
    a、flowlayout b. borderlayout
    b、gridlayout d.gridbaglayout

6.3文本、按钮组件

1、【单选题】4.1 下面不属于文本组件的是( )
    a、jlabel
    b、jcheckbox
    c、jtextarea
    d、jtextfield

2、【单选题】4.2 下面文本组件中只能接收单行输入的是( )
    a、jtextfield
    b、jtextarea
    c、jtextpane
    d、jeditpane

3、【单选题】4.3设置文本组件可编辑或不可编辑的方法是( )
    a、seteditable(boolean b)
    b、settext(string text)
    c、setvisible(boolean aflag)
    d、setsize(dimension d)

6.4组合列表组件

1、【单选题】6.1 jcombobox类中添加列表选项的方法是( )
    a、removeitem(object anobject)
    b、additem(object anobject)
    c、getitemat(int index)
    d、setselecteditem(object anobject)

2、【单选题】6.2 jlist类中获取所选项的内容的方法是( )
    a、getselectedindex()
    b、getselectedvalue()
    c、getselectedindices()
    d、setselectionmode(int selectionmode)

3、【单选题】6.3 jtable类中获取单元格的值的方法是( )
    a、getcolumn(object identifier)
    b、getcolumnmodel()
    c、getcolumnname(int column)
    d、getvalueat(int rowindex, int columnindex)

6.5菜单组件

1、【单选题】6.1 jcombobox类中添加列表选项的方法是( )
    a、removeitem(object anobject)
    b、additem(object anobject)
    c、getitemat(int index)
    d、setselecteditem(object anobject)

2、【单选题】6.2 jlist类中获取所选项的内容的方法是( )
    a、getselectedindex()
    b、getselectedvalue()
    c、getselectedindices()
    d、setselectionmode(int selectionmode)

3、【单选题】6.3 jtable类中获取单元格的值的方法是( )
    a、getcolumn(object identifier)
    b、getcolumnmodel()
    c、getcolumnname(int column)
    d、getvalueat(int rowindex, int columnindex)

6.6常用事件(一)

1、【单选题】9.1 actionlistener接口中包括的方法是( )
    a、actionperformed(actionevent e)
    b、addactionlistener()
    c、windowclosed(windowevent e)
    d、windowiconified(windowevent e)

2、【单选题】9.2将窗口从正常状态变为最小化状态时,会调用的窗口处理方法是( )
    a、windowopened(windowevent e)
    b、windowdeiconified(windowevent e)
    c、windowactivated(windowevent e)
    d、windowiconified(windowevent e)

6.7常用事件(二)

1、【单选题】10.2调用鼠标事件中getbutton()方法,若返回的值为button3,则表示按下的鼠标键是( )
    a、左键
    b、右键
    c、中间键
    d、不确定

2、【单选题】10.3按下某个键时,会调用的键盘事件处理方法是( )
    a、keypressed(keyevent e)
    b、keyreleased(keyevent e)
    c、keytyped(keyevent e)
    d、setkeychar(char keychar)

3、【单选题】10.1在组件上单击(按下鼠标并释放)时,会调用的鼠标处理方法是( )
    a、mousereleased(mouseevent e)
    b、mouseclicked(mouseevent e)
    c、mouseentered(mouseevent e)
    d、mousereleased(mouseevent e)

6.8第六部分 章节测验

1、【简答题】11.1 编写一个jframe窗口,要求如下: 1) 在窗口中放置jlabel、jtextfield、jbutton、jlist组件,要求界面整齐美观; 2) jtextfield只接受数字; 3) 点击jbutton,将jtextfield的内容添加到jlist中; 4) 点击jlist中选项,将所选择的选项内容在jlabel中显示; 右击jlist弹出菜单,菜单的选项为“红色”、“蓝色”。

2、【简答题】11.3模拟实现计算器的简单计算功能,如可实现加、减、乘、除及括号的运算。

3、【简答题】11.2 模拟实现记事本的简单功能,如复制、粘贴、设置字体的大小、字型、颜色等功能。

猜你喜欢

  • 2023-02-27 01:25
  • 2023-02-27 01:23
  • 2023-02-27 01:13
  • 2023-02-27 01:02
  • 2023-02-27 00:58
  • 2023-02-27 00:18
  • 2023-02-26 23:52
  • 2023-02-26 23:48
  • 2023-02-26 23:11
  • 2023-02-26 22:49
网站分类
最新发表
标签列表
网站地图