moocJAVA程序设计_7课后答案(mooc2023课后作业答案)

高校邦习题2024-05-19 05:35:4027954抢沙发
moocJAVA程序设计_7课后答案(mooc2023课后作业答案)摘要: 第1章Java概述JAVA概述单元测验1、下列哪个是Java应用程序主类中正确的main方法?A、public void main (String args[ ])B、static void main ...

moocJAVA程序设计_7课后答案(mooc2023课后作业答案)

第1章 Java概述

JAVA概述单元测验

1、程序下列哪个是设计Java应用程序主类中正确的main方法?
A、public void main (String args[ ])
B、课后课后static void main (String args[ ])
C、答案答案public static void Main (String[] args)
D、作业public static void main (String[] args)

2、程序使一个名为Myclass和public类可以成功编译,设计需满足以下哪个条件?课后课后
A、Myclass类中必须定义一个正确的答案答案main()方法
B、Myclass类必须定义在Myclass.java源文件中
C、作业Myclass类必须定义在Myclass包中
D、程序Myclass类必须被导入

3、设计下列说法错误的课后课后是?
A、Java是答案答案跨平台的编译语言
B、Java支持分布式计算
C、作业Java支持多线程
D、Java是面向过程的编译语言

4、以下哪个不是合法的标识符?
A、STRING
B、x3x
C、void
D、de$f

5、给出下列程序,正确的输出是? class A { public static void main(String[] a) { int x = 5, y = 6; x += y--; y &= x; System.out.println("x=" + x + "\ty=" + y); } }
A、x=10 y=1
B、x=10 y=3
C、x=11 y=1
D、x=11 y=3

6、下列选项中,哪一个是多行注释符号?
A、//* *//
B、/* /*
C、/ /
D、/* */

7、下面关于classpath的说法中,错误的是
A、classpath和path环境变量的查看与配置的方式完全相同。
B、为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。
C、从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
D、在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效

8、下面哪种类型的文件可以在Java虚拟机中运行?
A、.java
B、.jre
C、.exe
D、.class

9、下列关于Java特点的描述中,错误的是?
A、Java语言不支持指针
B、Java具有自动垃圾回收的机制
C、Java只能运行在Window和Linux平台
D、Java允许多个线程同时执行台

10、下列关于JDK、JRE和JVM关系的描述中,正确的是
A、JDK中包含了JRE,JVM中包含了JRE。
B、JRE中包含了JDK,JDK中包含了JVM。
C、JRE中包含了JDK,JVM中包含了JRE。
D、JDK中包含了JRE,JRE中包含了JVM。

第二章 Java编程基础

Java编程基础单元测验

1、编译并运行下面的Java程序,将产生? class?A{ int var1=1; int var2; public?static?void?main(String[]?args){ int?var3=3; A?a=new?A(); System.out.println(a.var1+a.var2+var3);??? } }
A、0
B、4
C、3
D、代码无法编译,因为var2根本没有被初始化

2、在java中下列关于自动类型转换说法正确的是
A、基本数据类型和String相加结果一定是字符串型
B、char类型和int类型相加结果一定是字符
C、double类型可以自动转换为int
D、char + int + double +"" 结果一定是double

3、运算符优先级别排序正确的是?
A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;
C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;
D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;

4、下列哪个说法是正确的?
A、表达式 ( 1.0 > 2.0 ) ? 3.0 : 4 的结果为 4
B、语句 int[ ][ ] a = new int[10][ ]; 正确地声明了一个整型的二维数组
C、表达式 (-33)%(-2) 的结果是1的。
D、表达式 4 +"4"+'4' 和 '4'+ 4 +"4" 的结果是一致的。

5、下列程序中哪行代码是错误的? public class Exam { public static void main(String args[]) { int x = 8; byte b = 127; //【代码A】 b = x; //【代码B】 long y=x; //【代码C】 float z=6.89F ; //【代码D】 } }
A、【代码A】
B、【代码B】
C、【代码C】
D、【代码D】

6、下列哪个叙述是正确的?
A、成员变量的名字不可以和局部变量的相同。
B、方法的参数的名字可以和方法中声明的局部变量的名字相同。
C、成员变量没有默认值。
D、局部变量没有默认值。

7、下列哪个变量声明是错误的?
A、int i=1234;
B、char c=98;
C、float f=12.89;
D、byte b=12;

8、设有定义 int i=123; long j=456; 下面赋值不正确的语句是
A、j=i;
B、j=(long)i;
C、i=(int)j;
D、i=j;

9、下面关于while和do-while循环的说法中,正确的是
A、与do-while语句不同的是,while语句的循环体至少执行一次
B、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
C、两种循环除了格式不同外,功能完全相同
D、以上答案都不正确

10、若a和b均是整型变量并已正确赋值,正确的switch语句是
A、switch(a+b); { ...... }
B、switch( a+b*3.0 ) { ...... }
C、switch a { ...... }
D、switch ( a%b ) { ...... }

11、下面选项中,哪个是短路与运算符( )
A、&
B、&&
C、|
D、||

12、下列选项中,不属于比较运算符的是
A、=
B、==
C、<
D、<=

13、下列数据类型进行运算时,哪一个会发生自动类型提升
A、int + int
B、long + long
C、byte + byte
D、double + double

14、阅读下面的代码片段 public static int add(int a,int b) { return a + b; } 下列选项中,可以在main()方法中调用add()方法的是
A、int num = add(1.0,2.0);
B、int num = add(1,2);
C、int num = add(true,flase);
D、int num = add("1", "2");

15、下列数据类型中,哪种数据类型转为int类型需要进行强制转换
A、byte
B、short
C、char
D、float

16、下列关于成员变量默认值的描述中,错误的是( )
A、byte类型的数据默认值是0
B、int类型的数据默认值是0
C、long类型的数据默认值是0
D、float类型的数据默认值是0.0f

17、关于continue语句的使用范围,下列说法正确的是
A、continue语句可以在选择语句中使用
B、continue语句可以在条件语句中使用
C、continue语句可以在循环语句中使用
D、不输出任何内容

18、请阅读下面的程序 Public class Test { public static void main(String[] args) { int a = 0; int b = 0; for (int i = 1; i <= 5; i++) { a = i % 2; while (a-- >= 0) { b++; } } System.out.println("a=" + a + ",b="+ b); } } 下列选项中,哪一个是正确的运行结果( )
A、a=8,b=-2
B、a=-2,b=8
C、a=3,b=0
D、a=0,b=3

19、请阅读下面的程序 public class Test { public static void main(String[] args) { for(int x =0;x<5;x++) { if(x%2==0) break; System.out.print(x+” “); } } } 下列选项中,哪一个是程序的运行结果
A、1 2 3 4 5
B、0 2 4
C、1 3
D、不输出任何内容

20、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个?
A、0
B、2
C、3
D、5

21、要产生[20,999]之间的随机整数可以使用以下哪个表达式?
A、(int)(20+Math.random()*97)
B、20+(int)(Math.random()*980)
C、(int)Math.random()*999
D、20+(int)Math.random()*980

22、请阅读下面的程序,程序的运行结果是()。 class Person { String name; int age; public Person() { } public Person(String n, int a) { name = n; age = a; } public void show() { System.out.print(name + "---" + age +" "); } } public class Test { public static void main(String[] args) { Person p1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); } }
A、null---0 周星驰---27
B、null---27 周星驰---27
C、周星驰---0 null---27
D、周星驰---27 null ---27

23、while语句的循环体中不能包含的语句是
A、while语句
B、方法定义语句
C、if语句
D、switch语句

24、下面关于整数类型的描述中,错误的是( )
A、byte是java中的整数类型,它的取值范围是-127到128。
B、java中的整数有正负之分。
C、bit是java中的整数类型,它代表的是一个字节
D、int是java中的整数类型,它在内存中占4个字节

第3章 数组

数组单元测验

1、对于下面这行代码,String?[][]s=new?String[10][]; 以下的陈述正确是
A、该行代码非法
B、s是一个10行10列的数组
C、s是一个包含10个一维数组的二维数组
D、s中每个元素设为空字符串

2、下列关于数组最值的描述中,错误的是
A、要想求数组的最值必须先定义一个数组
B、在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量
C、求数组最值过程中,一定要对数组进行遍历
D、在求数组最大值时,使用变量记住每次比较后较大的那个值

3、下列选项中关于二维数组的定义,格式错误的是
A、int[][] arr = new int[3][4]
B、int[][] arr = new int[3][]
C、int[][] arr = new int[][4]
D、int[][] arr = { { 1,2},{ 3,4,5},{ 6}}

4、阅读下列代码 public class Example { public static void main(String[] args) { int[] srcArray = { 11, 12, 13, 14 }; int[] destArray = { 21, 22, 23, 24 }; System.arraycopy(srcArray, 1, destArray, 2, 2); for (int i = 0; i < destArray.length; i++) { System.out.print(destArray[i] + " "); } } } 下列选项中,程序的运行结果是?
A、21 22 12 13
B、21 22 11 12
C、21 11 12 24
D、发生数组角标越界异常

5、下面代码中,哪一项是正确定义了一个3*4的二维数组
A、int[][] arr = new int[3][4]
B、int[][] arr = new int[3][]
C、int[][] arr = new int[][4]
D、int[][] arr = { { 1,2},{ 3,4,5},{ 6}}

6、下列有关数组中元素位置交换的描述,错误的是
A、位置交换的过程中需要借助一个中间变量
B、位置交换的过程至少需要三步
C、位置交换后数组的角标顺序发生了改变
D、位置交换后数组的角标顺序不会发生改变

7、public class Example01 { public static void main(String[] args) { int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组 int minIndex = 0; //初始时设第1个角标处的值为最小值 for (int i = 1; i < arr.length; i++) { if (______) { minIndex = i; } } System.out.println("数组中的最小值为:"+arr[minIndex]); } } 请问在上述程序的横线处填写下列哪段代码,可以求到数组的最小值
A、i < minIndex
B、arr[i] < arr[minIndex]
C、arr[i] > arr[minIndex]
D、i > minIndex

第6章 继承

继承单元测验

1、在下面哪种情况下,可以使用方法重写?
A、父类方法中的形参不适用于子类使用时
B、父类中的方法在子类中没有时
C、父类的功能无法满足子类的需求时
D、父类方法中的返回值类型不适合子类使用

2、Java中所有的类都是通过直接或间接地继承( )类得到的
A、java.lang.Object
B、java.lang.Class
C、任意类
D、以上答案都不对

3、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?
A、public
B、protected
C、private
D、default

4、已知类的继承关系如下: class A class B extends A class C extends A 则以下语句中能够通过编译的是?
A、A a=new B();
B、C c=new B();
C、C c=new A();
D、B b=new C();

5、下列关于对象的类型转换的描述,说法错误的是
A、对象的类型转换可通过自动转换或强制转换进行
B、无继承关系的两个类的对象之间试图转换会出现编译错误
C、由new语句创建的父类对象可以强制转换为子类的对象
D、子类的对象转换为父类类型后,父类对象不能调用子类的特有方法

6、现有两个类A、B,以下描述中表示B继承自A的是?
A、class A extends B.class
B、class B implements A
C、class A implements B
D、class B extends A

7、下列关于继承的描述中,错误的是
A、在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类
B、多个类可以继承一个父类
C、在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类
D、Java是支持多继承的

第5章 类和对象

类和对象单元测验

1、请阅读下面的程序,选择正确的运行结果。 class Demo{ private static int x ; public static void main(String[] args){ System.out.println(x++); } }
A、0
B、1
C、无结果
D、编译失败

2、下列修饰符中,哪个修饰内部类后,会使内部类会随着外部类的加载而加载。
A、static
B、protected
C、public
D、private

3、下列关于构造方法的描述,错误的是
A、一个类中只能定义一个构造方法
B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法
D、构造方法的作用是用来给属性进行初始化的

4、下列关于类与对象的说法中,正确的是( )
A、类可以看做是一个模型,可以用来创建对象
B、没有类,也可以创建对象
C、类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体
D、以上说法都不对

5、下列关于静态方法的描述中,错误的是( )
A、静态方法指的是被static关键字修饰的方法
B、静态方法不占用对象的内存空间,而非静态方法占有对象的内容空间
C、静态方法内可以使用this关键字
D、静态方法内部只能访问被static修饰的成员

6、下列关于this的说法中,错误的是( )
A、只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用
B、在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次
C、this关键字可以用于区分成员变量与局部变量
D、this可以出现在任何方法中

7、下列关于protected的说法中,正确的是( )
A、protected修饰的方法,只能给子类使用
B、protected修饰的类,类中的所有方法只能给子类使用
C、如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问
D、以上都不对

8、下列关于变量作用域的说法中,正确的是( )
A、在main()方法中任何位置定义的变量,其作用域为整个main()方法
B、块中定义的变量,在块外也是可以使用的
C、变量的作用域为:从定义处开始,到变量所在块结束位置
D、变量的作用域不受块的限制

9、以下关于类的描述中,错误的是( )
A、在面向对象的思想中最核心就是对象,为了在程序中创建对象,首先需要定义一个类
B、定义类的关键字是Interface
C、类中的方法叫成员方法,成员方法又分为实例方法与类方法
D、类中的属性叫成员属性,成员属性又分为实例属性与类属性

10、下列选项中,哪个可以用来创建对象?
A、new
B、this
C、super
D、abstract

11、下列关于类和对象的描述,错误的是( )
A、对象是类的实例
B、一个类只能有一个实例化对象
C、类是对象的抽象
D、类用于描述一组对象的共同特征和行为

12、下列关于面向对象的说法中,错误的是( )
A、面向对象思想编程,不仅增强代码了复用性,提供了开发效率,而且为程序的修改补充提供了便利。
B、面向对象就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用
C、面向对象是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题
D、面向对象虽然使程序的开发效率提高了,但是程序的处理效率相对面向过程程序要低

13、阅读下面的代码 class Demo{ private String name; Demo(String name){ this.name = name;} private static void show(){ System.out.println(name) } public static void main(String[] args){ Demo d = new Demo(“lisa”); d.show(); } }
A、输出 lisa
B、输出null
C、输出name
D、编译失败,无法从静态上下文中引用非静态变量name

14、下列关于构造方法重载的说法中,错误的是( )
A、不同构造方法中调用本类其它的构造方法时,需要使用this([参数1,参数2…])的形式
B、不同构造方法中调用本类其它的构造方法时,必须放在第一行
C、构造方法的重载和普通方法一样,方法名的前面需要声明返回值类型
D、构造方法重载时,只要每个参数类型或参数个数不同即可

15、下列关于方法的描述中,正确的是( )
A、方法是对功能代码块的封装
B、方法没有返回值时,返回值类型可以不写
C、没有返回值的方法,不能有return语句
D、方法是不可以没有参数的

第7章 多态

多态单元测验

1、对于使用多态的应用程序,某个对象的确切类型何时能知道?
A、执行时才可以知道
B、应用程序编译时能够判断
C、程序员编写程序时就已知道
D、永远不会知道

2、关于final修饰成员变量说法正确的是?
A、被final修饰的成员变量为常量
B、被final修饰的成员变量不能被继承
C、被final修饰的成员变量可以被多次赋值
D、final只能在接口中修饰成员变量

3、final修饰符修饰方法时,不能和以下哪个修饰符共用?
A、public
B、static
C、abstract
D、synchronized

4、如果父类的方法是静态的,则子类的方法被()修饰才能覆盖父类的静态方法?
A、protected
B、static
C、private
D、final

5、下面对于final修饰方法的描述中,正确的是?
A、final修饰的静态方法不能被类名调用
B、final修饰的方法不能被子类重写
C、final修饰的抽象方法可以被子类重写
D、final只能修饰非静态的方法

6、编译运行下面的程序,结果是什么? 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、编译没有错误,但会产生运行时异常

7、下列关于使用this调用构造方法的说法中,错误的是?
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、在一个类的两个构造方法中可以使用this互相调用

第9章 接口

接口单元测验

1、下列关于接口的说法中,错误的是?
A、接口中定义的方法默认使用"public abstract"来修饰
B、接口中的变量默认使用"public static final"来修饰
C、接口中的所有方法都是抽象方法
D、接口中定义的变量可以被修改

2、下列选项中,关于接口的定义正确的是?
A、abstract class Demo1{ abstract void speak(); abstract void eat(); }
B、interface Demo2{ void speak(); void eat(); }
C、interface Demo3{ void speak(); void eat(){ };}
D、interface Demo4{ void speak(){ System.out.println("ITCAST"); } void eat(); }

3、下列关于接口的描述,错误的是?
A、接口不是Object类的子类
B、一个接口只能继承一个接口
C、一个接口可以继承多个接口
D、接口不能被实例化

4、一个具体类实现接口时,需要重写接口中的?
A、成员变量
B、局部变量
C、成员方法
D、构造方法

5、关于接口的定义和实现,以下描述正确的是?
A、接口定义中的方法都只有定义没有实现
B、接口定义中的变量都必须写明final和static
C、如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码
D、如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public

6、下列有关接口的说法,正确的是()
A、接口与抽象类是相同的概念
B、实现一个接口必须实现接口的所有方法
C、接口之间不能有继承关系
D、一个类不可实现多个接口

7、下列程序运行结果是( ) interface InterfaceA{ String s="good "; void f(); } abstract class ClassA{ abstract void g(); } class ClassB extends ClassA implements InterfaceA{ void g(){ System.out.print(s); } public void f(){ System.out.print(" "+s); } } public class E { public static void main(String[] args) { ClassA a=new ClassB(); InterfaceA b=new ClassB(); a.g(); b.f(); } }
A、编译正确,但无运行结果
B、编译错误:InterfaceA b=new ClassB();
C、good good
D、以上都不对

第10章 泛型集合

泛型集合单元测试

1、下面关于泛型的说法不正确的是( )
A、泛型的具体确定时间可以是在定义方法的时候
B、泛型的具体确定时间可以是在创建对象的时候
C、泛型的具体确定时间可以是在继承父类定义子类的时候
D、泛型就是Object类型

2、LinkedList类的特点是()
A、查询快
B、增删快
C、元素不重复
D、元素自然排序

3、下面代码运行的结果是 ArrayList<String> al = new ArrayList<String>(); al.add(true); al.add(123); al.add(“abc”); System.out.println(al);
A、编译失败
B、[true,123]
C、[true,123,abc];
D、[abc];

4、以下代码的执行结果是 Set<String> s=new HashSet<String>(); s.add("abc"); s.add("abc"); s.add("abcd"); s.add("ABC"); System.out.println(s.size());
A、1
B、2
C、3
D、4

5、给定如下Java代码,编译运行的结果是( )。 public class Test { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); String s = "code"; map.put(s, "1"); map.put(s, "2"); System.out.println(map.size()); } }
A、编译时发生错误
B、运行时引发异常
C、正确运行,输出:1
D、正确运行,输出:2

6、使用TreeSet的无参构造创建集合对象存储元素时,该元素必须()?
A、实现Comparable接口
B、有main方法
C、有get和set方法
D、实现Serializable接口

第11章 异常处理

异常处理单元测验

1、自定义运行时异常,必须继承自( )类
A、Error
B、Exception
C、RuntimeException
D、Throwable

2、在try{ }catch(______e){ }横线处需要填写的是( )
A、异常对象
B、异常类
C、任意对象
D、任意类

3、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?
A、try
B、catch
C、throws
D、throw

4、下列异常中,属于编译时异常的是( )
A、NumberFormatException
B、ArithmeticException
C、Exception
D、RuntimeException

5、下列关于自定义异常的说法中,错误的是( )
A、自定义异常要继承Exception类
B、自定义异常继承Exception类后,具有可抛性
C、自定义异常可以在构造方法中用super关键字传递异常信息给父类
D、自定义异常必须继承Error类

6、请阅读下面的程序代码 Class Person{ void say(){ System.out.println(“hello”); } } class Example{ public static void main(String[] args){ Person p2 = new Person(); Person p1 = new Person(); p2.say(); p1.say(); p2=null; p2.say(); } } 下列关于程序运行结果的描述中,正确的是()
A、输出1个hello
B、输出2个hello后会抛出异常
C、输出3个hello后会抛出异常
D、不会输出hello,直接抛出异常

7、下列异常声明中,正确的是( )
A、public void throws IOException fun(){ }
B、public void fun throws IOException(){ }
C、public void fun()throws IOException{ }
D、public void fun()throws IOException,throws SQLException{ }

8、以下关于编译异常说法正确的是
A、编译异常就是指Exception以及其子类
B、编译异常如果产生,可以不用处理
C、编译异常如果产生,必须处理,要么捕获,要么抛出
D、编译异常指的就是Error

9、下面关于throws作用的描述中,正确的是( )
A、一个方法只能抛出一个异常信息
B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常
C、throws可以声明在方法体中用来指定抛出的具体异常
D、throws出现在方法函数头

第13章 文件操作

文件操作单元测试

1、下面哪种流可以用于字符输入?
A、java.io.inputStream
B、java.io.outputStream
C、java.io.inputStreamReader
D、java.io.outputStreamReader

2、凡是从中央处理器流向外部设备的数据流称为?
A、文件流
B、字符流
C、输入流
D、输出流

3、下列不属于FileInputStream输入流的read()成员函数的是?
A、int read();
B、int read(byte b[],int offset,int len);
C、int read(byte b[]);
D、int read (int line);

4、下列流中哪一个使用了缓冲区技术( )
A、BufferedOutputStream
B、FileInputStream
C、DataOutputStream
D、FileReader

5、下列哪个叙述是正确的?
A、创建File对象可能发生异常。
B、BufferedWrite流可以指向FileWirte流。
C、BufferedRead流可以指向FileInputStream流。
D、RandomAccessFile流一旦指向文件,就会刷新该文件。

6、文件输出流的构造方法是public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示( )
A、创建一个新文件
B、在原文件的尾部添加数据
C、覆盖原文件的内容
D、在原文件的指定位置添加数据

7、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file);
A、"1.txt"
B、"d:\\my\\1"
C、"d:\\my\\1.txt"
D、"d:\ my\1.txt"

8、假设主类包名为rose.flower;,这个程序存储在d:\chengxu\rose\flower目录结构中下,运行程序时,应按哪个格式来运行?
A、d:\java rose.flower
B、d:\ chegnxu\java rose.flower
C、d:\chengxu\rose\flower\java rose.flower
D、d:\chengxu\rose\ java rose.flower

9、如下哪个选项可以获取文件的绝对路径?
A、public String getName()
B、public String getAbsolutePath ()
C、public String getParent ()
D、public boolean isFile()

第14章 多线程

多线程单元测试

1、一个线程 A 在占有 CPU 资源期间 , 可以让其它线程调用()和本线程联合?
A、add()
B、start()
C、join()
D、run()

2、线程控制方法中,yield()的作用是()
A、返回当前线程的引用
B、使比其低的优先级线程执行
C、强行终止线程
D、只让给同优先级线程运行

3、下列有关线程的叙述哪个是正确的
A、一旦一个线程被创建,它就立即开始运行
B、调用start( )方法可以使一个线程成为可运行的,但是它不一定立即开始运行
C、主线程不具有默认优先级
D、Java中线程的优先级从低到高以整数0~9表示

4、线程同步中,对象的锁在()情况下持有线程返回
A、当synchronized()语句块执行完毕后
B、当在synchronized()语句块执行中出现例外(exception)时
C、当持有锁的线程调用该对象的wait()方法时
D、以上都是

5、在以下()情况下,线程就进入可运行状态
A、线程调用了sleep()方法时
B、线程调用了join()方法时
C、线程调用了yield()方法时
D、以上都是

6、下列关于进程和线程的叙述中,正确的是
A、不管系统是否支持线程,进程都是资源分配的基本单位
B、线程是资源分配的基本单位,进程是调度的基本单位
C、系统级线程和用户级线程的切换都需要内核的支持
D、同一进程中的各个线程拥有各自不同的地址空间

7、下列关于Java多线程并发控制机制的叙述中,错误的是( )。
A、Java中对共享数据操作的并发控制是采用加锁技术
B、线程之间的交互,提倡采用suspend()/resume()方法
C、共享数据的访问权限都必须定义为private
D、Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生

8、Thread类中启动线程体的方法是( )
A、start()
B、resume()
C、init()
D、run()

9、当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是
A、SomeThread类是包含run()方法的任意Java类
B、SomeThread类一定要实现Runnable接口
C、SomeThread类是Thread类的子类
D、someThread类是Thread类的子类并且要实现Run-nable接口

10、线程调用了sleep( )方法后,该线程将进入()状态?
A、休眠
B、死亡
C、启动
D、启动

11、当一线程处于休眠状态时,用什么方法可以将其唤醒?
A、run()
B、start
C、interrupt()
D、isAlive()

12、下列各方法中不被建议用于线程同步过程的是( )。
A、start()
B、wait()
C、notify()
D、resume()

13、下列关于线程的优先级说法中,正确的是( )
A、线程的优先级是不能改变的
B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以重新设置
D、线程的优先级的范围在1-10之间

14、下面关于线程的叙述中,正确的是()
A、不论是系统支持线程还是用户级线程,其切换都需要内核的支持
B、线程是资源的分配单位,进程是调度和分配的单位
C、不管系统中是否有线程,进程都是拥有资源的独立单位
D、在引入线程的系统中,进程仍是资源分配和调度分派的基本单位

第16章 数据库基础

数据库基础单元测验

1、MySQL 数据库服务器启动后,MySQL 默认授权可以访问该服务 器的用户只有一个,名字是 ?
A、root
B、admin
C、master
D、administrator

2、数据库添加语句是
A、insert
B、delete
C、update
D、drop

3、数据库的更新语句是?
A、insert
B、delete
C、update
D、drop

4、SQL SELECT 语句中的WHERE 用于说明?
A、查询数据
B、查询条件
C、查询分组
D、查询排序

5、数据库的删除语句是?
A、insert
B、delete
C、update
D、add

6、下列连接字符实现与SQL?Server数据库的连接,()是不正确的
A、Driver={ SQL?Server};?Server=localhost;?Database=stuDB; Uid=;?Pwd=;
B、Provider=SQLOLEDB;?Data?Source=localhost;?Database=stuDB; Uid=abc;?Pwd=12;
C、Data?Source=.\\SQLEXPRESS;?Database=SchoolDB;Uid=abc;?Pwd=;
D、Driver={ SQL?Server?2000};?Server=localhost;?Database =stuDB;?Uid=abc;?Pwd=123;

7、数据库中,顺序查询是以下哪项
A、find()
B、next()
C、select()
D、desc()

第17章 JDBC

JDBC单元测验

1、JDBC中,用于表示数据库连接的对象是?
A、Statement
B、Connection
C、DriverManager
D、PreparedStatement

2、在Java中,与数据库连接的技术是?
A、开放数据库连接
B、Java数据库连接
C、数据库厂家驱动程序
D、数据库厂家的连接协议

3、以下对JDBC事务描述错误的是( )
A、JDBC事务属于JAVA事务的一种
B、JDBC事务属于容器事务类型
C、JDBC事务可以保证操作的完整性和一致性
D、JDBC事务是由Connection发起的,并由Connection控制

4、嵌入式SQL实现时,采用预处理方式是()
A、把SQL语句和主语言语句区分开来
B、为SQL语句加前缀标识和结束标志
C、识别出SQL语句,并处理成函数调用形式
D、把SQL语句编译成二进制码

5、Java中,JDBC是指( )。
A、Java程序与数据库连接的一种机制
B、Java程序与浏览器交互的一种机制
C、Java类库名称
D、Java类编译程序

6、ResultSetMetaData rsmd = rs.getMetaData()是什么意思?
A、得到结果集(rs)的结构,比如字段数、字段名等
B、返回表名
C、取得列数
D、取得行数

7、SQL SELECT 语句中的WHERE 用于说明?
A、查询数据
B、查询条件
C、查询分组
D、查询排序

期末考试

期末测试

1、下列哪个是Java应用程序主类中正确的main方法?
A、public void main (String args[ ])
B、static void main (String args[ ])
C、public static void Main (String[] args)
D、public static void main (String[] args)

2、编译并运行下面的Java程序,将产生? class?A{ int var1=1; int var2; public?static?void?main(String[]?args){ int?var3=3; A?a=new?A(); System.out.println(a.var1+a.var2+var3);??? } }
A、0
B、4
C、3
D、代码无法编译,因为var2根本没有被初始化

3、下列关于数组最值的描述中,错误的是:
A、要想求数组的最值必须先定义一个数组
B、在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量
C、求数组最值过程中,一定要对数组进行遍历
D、在求数组最大值时,使用变量记住每次比较后较大的那个值

4、public class Example01 { public static void main(String[] args) { int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组 int minIndex = 0; //初始时设第1个角标处的值为最小值 for (int i = 1; i < arr.length; i++) { if (______) { minIndex = i; } } System.out.println("数组中的最小值为:"+arr[minIndex]); } } 请问在上述程序的横线处填写下列哪段代码,可以求到数组的最小值。
A、i < minIndex
B、arr[i] < arr[minIndex]
C、arr[i] > arr[minIndex]
D、i > minIndex

5、下列关于构造方法的描述,错误的是:
A、一个类中只能定义一个构造方法
B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法
D、构造方法的作用是用来给属性进行初始化的

6、下列关于类和对象的描述,错误的是( )
A、对象是类的实例
B、一个类只能有一个实例化对象
C、类是对象的抽象
D、类用于描述一组对象的共同特征和行为

7、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?
A、public
B、protected
C、private
D、default

8、已知类的继承关系如下: class A class B extends A class C extends A 则以下语句中能够通过编译的是?
A、A a=new B();
B、C c=new B();
C、C c=new A();
D、B b=new C();

9、编译运行下面的程序,结果是什么? 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、编译没有错误,但会产生运行时异常

10、下列选项中,关于接口的定义正确的是?
A、abstract class Demo1{ abstract void speak(); abstract void eat(); }
B、interface Demo2{ void speak(); void eat(); }
C、interface Demo3{ void speak(); void eat(){ };}
D、interface Demo4{ void speak(){ System.out.println("ITCAST"); } void eat(); }

11、一个具体类实现接口时,需要重写接口中的?
A、成员变量
B、局部变量
C、成员方法
D、构造方法

12、下面关于泛型的说法不正确的是( )
A、泛型的具体确定时间可以是在定义方法的时候
B、泛型的具体确定时间可以是在创建对象的时候
C、泛型的具体确定时间可以是在继承父类定义子类的时候
D、泛型就是Object类型

13、给定如下Java代码,编译运行的结果是( )。 public class Test { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); String s = "code"; map.put(s, "1"); map.put(s, "2"); System.out.println(map.size()); } }
A、编译时发生错误
B、运行时引发异常
C、正确运行,输出:1
D、正确运行,输出:2

14、下列异常中,属于编译时异常的是( )
A、NumberFormatException
B、ArithmeticException
C、Exception
D、RuntimeException

15、下面关于throws作用的描述中,正确的是( )
A、一个方法只能抛出一个异常信息
B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常
C、throws可以声明在方法体中用来指定抛出的具体异常
D、throws出现在方法函数头

16、下列流中哪一个使用了缓冲区技术( )
A、BufferedOutputStream
B、FileInputStream
C、DataOutputStream
D、FileReader

17、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。 File构造函数中正确的路径和文件名的表示是( )。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file);
A、"1.txt"
B、"d:\\my\\1"
C、"d:\\my\\1.txt"
D、"d:\ my\1.txt"

18、下列有关线程的叙述哪个是正确的
A、一旦一个线程被创建,它就立即开始运行
B、调用start( )方法可以使一个线程成为可运行的,但是它不一定立即开始运行
C、主线程不具有默认优先级
D、Java中线程的优先级从低到高以整数0~9表示

19、下列连接字符实现与SQL?Server数据库的连接,()是不正确的。
A、Driver={ SQL?Server};?Server=localhost;?Database=stuDB; Uid=;?Pwd=;
B、Provider=SQLOLEDB;?Data?Source=localhost;?Database=stuDB; Uid=abc;?Pwd=12;
C、Data?Source=.\\SQLEXPRESS;?Database=SchoolDB;Uid=abc;?Pwd=;
D、Driver={ SQL?Server?2000};?Server=localhost;?Database =stuDB;?Uid=abc;?Pwd=123;

20、以下对JDBC事务描述错误的是( )
A、JDBC事务属于JAVA事务的一种
B、JDBC事务属于容器事务类型
C、JDBC事务可以保证操作的完整性和一致性
D、JDBC事务是由Connection发起的,并由Connection控制

随着计算机技术的不断发展,编程语言也在不断更新换代,JAVA作为一种高级编程语言,已经成为了现今最为热门并得到广泛应用的编程语言之一。作为一个大学生,学习JAVA程序设计也是非常必要的,因为它是一门非常好的编程语言。

JAVA程序设计是一门非常有趣的课程,这门课程主要是学习JAVA语言的基础知识,包括控制语句、数组、循环、方法、面向对象等知识点。掌握了这些基础知识,就能够进行JAVA程序设计的基本操作了。

在学习JAVA程序设计时,首先要学习的是JAVA语言的基本语法,这包括JAVA程序的结构、JAVA语言的数据类型、运算符和表达式等。掌握了这些基本语法,才能够进行后面的程序设计。

学习JAVA程序设计还需要掌握面向对象的编程思想,面向对象是一种非常流行的编程思想,它将现实世界中的事物抽象成为类,通过类的继承、多态等特性实现代码的重用和扩展。

在学习JAVA程序设计时,还需要掌握一些高级的JAVA技术,比如JDBC、JavaServer Pages、Servlet、JavaBeans等。这些技术可以用于实现一些大型的WEB应用程序和框架。

除了理论知识外,实践也是非常重要的。在学习JAVA程序设计时,可以通过编写一些简单的程序来巩固所学的知识。同时,还可以参加一些编程竞赛、开源项目等活动,来提高自己的编程能力和实践能力。

总之,学习JAVA程序设计是非常有必要的,它可以增强我们的编程能力,提高我们的学习和就业竞争力。希望大家能够认真学习,努力实践,掌握JAVA程序设计的核心技能。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/23b799212.html发布于 2024-05-19 05:35:40
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论