JAVA练习--第四章第一次作业

下面程序运行的结果是( )
class Demo{
public static void main(String[] args){
try{
int x = div(1,2);
}catch(Exception e){
System.out.println(e);
}
System.out.println(x)
}
public static int div(int a,int b){
return a / b ;
}
}
A、输出1
B、输出0
C、输出0.5
D、编译失败
正确答案: C 我的答案:C得分: 2.0分
答案解析:

返回两数相除的结果
2
下面关于throws作用的描述中,正确的是( )
A、一个方法只能抛出一个异常信息
B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常
C、throws可以声明在方法体中用来指定抛出的具体异常
D、throws出现在方法函数头
正确答案: D 我的答案:D得分: 2.0分
答案解析:

throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做法称为方法声明抛出一个异常
3
下面程序的运行结果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
} catch (RuntimeException e) {
System.out.println(“RuntimeException”);
} catch (ArithmeticException e) {
System.out.println(“ArithmeticException”);
}
}
}
A、编译失败
B、编译通过,没有结果输出
C、输出:RuntimeException
D、输出:ArithmeticException
正确答案: A 我的答案:A得分: 2.0分
答案解析:

在用try…catch处理异常的时候,子类异常一定要先catch,父类异常最后catch
4
下列选项中,不可以被final修饰的是?( )
A、接口
B、类
C、方法
D、变量
正确答案: A 我的答案:A得分: 2.0分
答案解析:

final关键字可用于修饰类、变量和方法
5
在Java中,能实现多重继承效果的方式是
A、内部类
B、适配器
C、同步
D、接口
正确答案: D 我的答案:D得分: 2.0分
答案解析:

本题考查java中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成时间适配器。适配器定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器,它包装的对象就是适配者,适配器提高客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项D正确。同步主要用在多线程程序设计中。
6
下列关于接口的描述,错误的是?()
A、接口不是Object类的子类
B、一个接口只能继承一个接口
C、一个接口可以继承多个接口
D、接口不能被实例化
正确答案: B 我的答案:B得分: 2.0分
答案解析:

一个类通过implements关键字实现接口时,可以实现多个接口,被实现的多个接口之间要用逗号隔开
7
下列选项中,不属于运行时异常类子类的是( )
A、ArrayStoreException
B、ClassCastException
C、IllegalArgumentException
D、ThreadDeath
正确答案: D 我的答案:D得分: 2.0分
答案解析:

ThreadDeath属于Error类的子类
8
下列选项中,用户创建归档文件的jar命令是( )
A、jar -c
B、jar -v
C、jar -f
D、jar -x
正确答案: A 我的答案:A得分: 2.0分
答案解析:

c参数用于创建归档文件
9
阅读下段代码,
class Dog
{
public String name;
Dog(String name){
this.name =name;
}
}
public class Demo1
{
public static void main(String[] args){
Dog dog1 = new Dog(“xiaohuang”);
Dog dog2 = new Dog(“xiaohuang”);
String s1 = dog1.toString();
String s2 = dog2.toString();
String s3 = “xiaohuang”;
String s4 = “xiaohuang”;
}
}
返回值为true的是?( )
A、dog1.equals(dog2)
B、s1.equals(s2)
C、s3.equals(s4)
D、dog1==dog2
正确答案: C 我的答案:C得分: 2.0分
答案解析:

选项A比较的是两个对象的地址,结果为false,选项B比较的是dog1和dog2对象的to String()值,结果为false,选项C,比较的是内容,内容相同,所以为true,选项D比较的是dog1和dog2对象的地址,结果为false
10
已知类的继承关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下语句能通过编译的有哪些?( )
A、Employee e=new Manager();
B、Director d=new Manager();
C、Director d=new Employee();
D、Manager m=new Director();
正确答案: A 我的答案:A得分: 2.0分
答案解析:

11
在下面哪种情况下,可以使用方法重写?( )
A、父类方法中的形参不适用于子类使用时
B、父类中的方法在子类中没有时
C、父类的功能无法满足子类的需求时
D、父类方法中的返回值类型不适合子类使用
正确答案: C 我的答案:C得分: 2.0分
答案解析:

父类的功能无法满足子类的需求时,这时候可以使用方法的重写。
12
class MyException extends (1) {
}
public class Demo {
public static void main(String[] args) {
try {
show();
} catch ( (2) e) {
e.printStackTrace();
}
}
public static void show() (3) MyException {
throw new MyException();
}
以上程序,创建了一个自定义异常(编译异常),请补全空白处代码( )
A、(1) Exception (2) MyException (3) throws
B、(1) MyException (2) Exception (3) throws
C、(1) Exception (2) Exception (3) throws
D、(1) Exception (2) MyException (3) Exception
正确答案: A 我的答案:A得分: 2.0分
答案解析:

自定义的异常类继承自Exception或其子类。Throws用于抛出异常
13
jar命令解压缩jar文件,需要的参数是( )
A、c
B、v
C、x
D、f
正确答案: C 我的答案:C得分: 2.0分
答案解析:

jar解压缩的参数是x
14
已知类的继承关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下语句能通过编译的有哪些?
A、Employee e=new Manager();
B、Director d=new Manager();
C、Director d=new Employee();
D、Manager m=new Director();
正确答案: A 我的答案:A得分: 2.0分
答案解析:

15
编译运行下面的程序,结果是什么?
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、编译没有错误,但会产生运行时异常
正确答案: B 我的答案:B得分: 2.0分
答案解析:

16
System类位于以下哪个包中?
修改
A、java.io
B、java.util
C、java.awt
D、java.lang
正确答案: D 我的答案:D得分: 2.0分
答案解析:

17
函数重写与函数重载的相同之处是?()
A、权限修饰符
B、函数名
C、返回值类型
D、形参列表
正确答案: B 我的答案:B得分: 2.0分
答案解析:

无论是函数重写还是函数重载都要求函数名要一致
18
自定义运行时异常,必须继承自( )类
A、Error
B、Exception
C、RuntimeException
D、Throwable
正确答案: C 我的答案:C得分: 2.0分
答案解析:

RuntimeException运行时异常的超类
19
下面对于final的描述中,错误的是?()
A、final修饰的局部变量可以被重新赋值
B、final修饰的变量被称之为常量
C、final修饰的基本数据类型变量,不能改变其值
D、final修饰的引用数据类型变量,不能改变其地址值
正确答案: A 我的答案:A得分: 2.0分
答案解析:

final修饰的局部变量不可以被重新赋值
20
下列异常中,属于编译时异常的是( )
A、NumberFormatException
B、ArithmeticException
C、Exception
D、RuntimeException
正确答案: C 我的答案:C得分: 2.0分
答案解析:

NumberFormatException ArithmeticException RuntimeException都是运行时异常
21
在Java语言中,以下哪个关键字用于在方法上声明抛出异常?( )
A、try
B、catch
C、throws
D、throw
正确答案: C 我的答案:C得分: 2.0分
答案解析:

22
下面程序的运行结果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
System.out.println(“除法正常运行”);
} catch (ArithmeticException e) {
System.out.println(“除数不能为0”);
}
}
}
A、编译失败
B、编译通过,没有结果输出
C、输出:除法正常运行
D、输出:除数不能为0
正确答案: D 我的答案:D得分: 2.0分
答案解析:

虽然是运行时期异常,但是也可以使用try…catch语句进行处理。一旦进入处理语句就不会再回去执行
23
在JDK8以前,下列关于接口的说法中,错误的是?( )
A、接口中定义的方法默认使用"public abstract"来修饰
B、接口中的变量默认使用"public static final"来修饰
C、接口中的所有方法都是抽象方法
D、接口中定义的变量可以被修改
正确答案: D 我的答案:D得分: 2.0分
答案解析:

接口中定义的变量是常量,不能被修改
24
下列关于对象的类型转换的描述,说法错误的是( )
A、对象的类型转换可通过自动转换或强制转换进行
B、无继承关系的两个类的对象之间试图转换会出现编译错误
C、由new语句创建的父类对象可以强制转换为子类的对象
D、子类的对象转换为父类类型后,父类对象不能调用子类的特有方法
正确答案: C 我的答案:C得分: 2.0分
答案解析:

由new语句创建的父类对象不能转换为子类的对象,否则会报编译出错
25
包含Java中大量工具类、集合类的包是( )
A、java.util
B、java.io
C、java.awt
D、java.lang
正确答案: A 我的答案:A得分: 2.0分
答案解析:

java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等
26
在类的继承关系中,需要遵循以下哪个继承原则?
A、多重
B、单一
C、双重
D、不能继承
正确答案: B 我的答案:B得分: 2.0分
答案解析:

27
final修饰符不可以修饰如下哪个内容?()
A、类
B、接口
C、方法
D、变量
正确答案: B 我的答案:B得分: 2.0分
答案解析:

final关键字可用于修饰类、变量和方法
28
下列选项中,用于解压jar文件的命令是( )
A、jar –c
B、jar -x
C、jar -v
D、jar -f
正确答案: B 我的答案:B得分: 2.0分
答案解析:

参数x用于解压
29
下面对于final修饰方法的描述中,正确的是?()
A、final修饰的静态方法不能被类名调用
B、final修饰的方法不能被子类重写
C、final修饰的抽象方法可以被子类重写
D、final只能修饰非静态的方法
正确答案: B 我的答案:B得分: 2.0分
答案解析:

final修饰的方法不能被子类重写
30
​如果父类的方法是静态的,则子类的方法被()修饰才能覆盖父类的静态方法 ?
A、protected
B、static
C、private
D、final
正确答案: B 我的答案:B得分: 2.0分
答案解析:

只有子类的方法为静态时才能重写父类的静态方法
31
以下关于继承的描述,说法正确的是( )
A、子类继承父类的所有属性和方法
B、子类可以继承父类的私有的属性和方法
C、子类可以继承父类的公有的属性和方法
D、创建子类对象时,父类的所有构造方法都会被执行
正确答案: C 我的答案:C得分: 2.0分
答案解析:

子类可以继承父类的非私有成员,并且在创建子类时默认会调用父类的无参构造方法
32
System类位于以下哪个包中?( )
A、java.is
B、java.util
C、java.awt
D、java.lang
正确答案: D 我的答案:D得分: 2.0分
答案解析:

33
下列选项中,关于接口的定义正确的是?( )
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(); }
正确答案: B 我的答案:B得分: 2.0分
答案解析:

接口中的方法不能有方法体,接口由interface关键字修饰
34
以下关于编译异常说法正确的是( )
A、编译异常就是指Exception以及其子类
B、编译异常如果产生,可以不用处理
C、编译异常如果产生,必须处理,要么捕获,要么抛出
D、编译异常指的就是Error
正确答案: C 我的答案:C得分: 2.0分
答案解析:

编译异常如果产生,必须处理,要么捕获,要么抛出
35
Java中所有的类都是通过直接或间接地继承( )类得到的
A、java.lang.Object
B、java.lang.Class
C、任意类
D、以上答案都不对
正确答案: A 我的答案:A得分: 2.0分
答案解析:

Object是所有类的父类
36
public class Example {
public static void main(String[] args) {
try{
int rst = 4/0;
System.out.println("ret = "+rst);
}catch(Exception e){
System.out.println(“catch语句块执行”);
return;
}finally{
System.out.println(“finally语句块执行”);
}
System.out.println(“程序继续向下执行”);
}
}
运行以上程序,输出的结果是( )
A、catch语句块执行
B、catch语句块执行 程序继续向下执行
C、catch语句块执行 finally语句块执行
D、0 程序继续向下执行
正确答案: C 我的答案:B得分: 0.0分
答案解析:

在try语句块中发生了除零异常,因此会执行catch语句块中的内容,输出"catch语句块执行",finally语句块中表示一定会执行的语句,虽然catch中有return,但依然会输出"finally语句块执行"
37
Java语言的类间的继承关系是( )。
A、多重的
B、单重的
C、线程的
D、不能继承
正确答案: B 我的答案:B得分: 2.0分
答案解析:

38
下列选项中,关于final修饰成员变量的说法正确的是?( )
A、被final修饰的成员变量可以被多次赋值
B、被final修饰的成员变量为常量
C、final只能在接口中修饰成员变量
D、以上都不对
正确答案: B 我的答案:B得分: 2.0分
答案解析:

被final修饰的变量为常量,不能被第二次赋值或改变引用
39
请定义一个由public修饰符修饰的int型成员变量MAX_LENGTH,并使该值保持为常数100,则定义这个变量的语句是?()
A、public int MAX_LENGTH=100
B、public const int MAX_LENGTH=100
C、final int MAX_LENGTH=100
D、public final int MAX_LENGTH=100
正确答案: D 我的答案:D得分: 2.0分
答案解析:

应题目的要求,需要将该值保持为常数,那么就需要使用关键字final,所以选择D,const是java的保留关键字,在java中使用final定义常量。
40
下列选项中,可以导入指定包中所有类的是( )
A、package包名;
B、package 包名.;
C、import 包名;
D、import 包名.
;
正确答案: D 我的答案:D得分: 2.0分
答案解析:

如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类
41
下面选项中,哪个关键字可以修饰局部变量?()
A、abstract
B、final
C、static
D、private
正确答案: B 我的答案:B得分: 2.0分
答案解析:

final可以修饰局部变量
42
final修饰符修饰方法时,不能和以下哪个修饰符共用?()
A、public
B、static
C、abstract
D、synchronized
正确答案: C 我的答案:C得分: 2.0分
答案解析:

final修饰符不能和abstract修饰符一起使用
43
下列选项中,可以被final修饰符修饰的是?()
A、抽象方法
B、局部变量
C、接口
D、抽象类
正确答案: B 我的答案:B得分: 2.0分
答案解析:

final关键字一般用于修饰类、变量和方法。还可以修饰局部变量。但不能与abstract修饰符一起使用,而且不能用于接口中
44
下列关于protected的说法中,正确的是( )
A、protected修饰的方法,只能给子类使用
B、protected修饰的类,类中的所有方法只能给子类使用
C、如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问
D、以上都不对
正确答案: C 我的答案:A得分: 0.0分
答案解析:

如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问
45
下面哪个修饰符不可以修饰接口中的成员变量?()
A、public
B、static
C、final
D、private
正确答案: D 我的答案:D得分: 2.0分
答案解析:

接口中的成员变量其实是一个常量,用public static final修饰,所以,用private修饰是错误的
46
下了关于接口继承的说法中,正确的是?()
A、接口继承自Object类
B、一个接口只能继承一个接口
C、一个接口可以继承多个接口
D、接口不能被继承
正确答案: C 我的答案:C得分: 2.0分
答案解析:

java中接口跟类是两个并行的概念,所有类都继承Object,但接口是接口,不继承Object所以A错误,一个接口可以继承多个接口
47
父类中的方法被以下哪个关键字修饰后不能被重写?( )
A、public
B、satic
C、final
D、void
正确答案: C 我的答案:C得分: 2.0分
答案解析:

如果方法被final修饰了,该方法不能被重写
48
下列关于继承的描述中,错误的是()
A、在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类
B、多个类可以继承一个父类
C、在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类
D、Java是支持多继承的
正确答案: D 我的答案:D得分: 2.0分
答案解析:

Java不支持多继承
49
如果类的成员被( )访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问
A、private
B、default
C、protected
D、public
正确答案: A 我的答案:A得分: 2.0分
答案解析:

如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。类的良好封装就是通过private关键字来实现的
50
阅读下面的代码,编译后会生成几层包?( )
package cn.itcast.mypack;
class PackageDemo
{
public static void main(String [] args)
{
System.out.println(“Hello package!”);
}
}
A、一层包(cn)
B、二层包(cn.itcast)
C、三层包(cn.itcast.mypack)
D、四层包(cn.itcast.mypack.PackageDemo)

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Java中的String类常用方法来满足条件的子字符串。其中一些常用的方法包括: 1. indexOf()方法:返回字符串中第一次出现指定字符或字符串的位置。例如,可以使用indexOf()方法找到包含指定字符串的子字符串的位置。 2. substring()方法:返回一个新字符串,该字符串是原始字符串的一个子字符串。可以使用substring()方法来获取满足指定条件的子字符串。 3. split()方法:将字符串分割成子字符串数组,根据指定的分隔符进行分割。可以使用split()方法将字符串分割成满足指定条件的子字符串。 4. replace()方法:替换字符串中的指定字符或字符串。可以使用replace()方法替换满足指定条件的子字符串。 5. matches()方法:使用正则表达式匹配字符串。可以使用matches()方法匹配满足指定条件的子字符串。 以上这些方法可以帮助我们实现满足条件的子字符串的操作。 ### 回答2: String类是Java中常用的一个类,在Java编程中,使用String类操作字符串的频率相对较高。String类具有很多的常用方法,其中就包含了满足条件的子字符串的方法。本文将详细介绍如何使用Java字符串之String类来获取满足条件的子字符串。 在Java中,我们通常使用以下方法来获取满足条件的子字符串: 1. indexOf()方法:该方法可以获取字符串中特定字符或子字符串第一次出现的位置。可以通过指定查找的字符或子字符串,获取满足条件的子字符串。 2. lastIndexOf()方法:该方法与indexOf()方法相似,但它会返回字符或子字符串最后一次出现的位置。 3. substring()方法:该方法可以获取字符串中指定位置的子字符串。可以通过指定子字符串在原字符串中的起始位置和结束位置,获取满足条件的子字符串。 下面是一个具体的例子,展示如何使用以上方法获取满足条件的子字符串: String str = "Java is a programming language"; int index = str.indexOf("programming"); if(index != -1) { String subStr = str.substring(index, index + 11); System.out.println("满足条件的子字符串是:" + subStr); } 在上面的例子中,我们通过调用indexOf()方法获取子字符串"programming"在原字符串中的起始位置,如果存在,就通过substring()方法获取满足条件的子字符串。在输出中,我们将获取到的满足条件的子字符串输出到控制台。 以上就是Java字符串之String类常用方法之满足条件的子字符串的详细介绍。通过掌握这些方法,可以更加灵活地处理字符串,达到更高的编程效率。 ### 回答3: Java的字符串是应用频率非常高的数据类型,字符串中的子字符串也是常常用到的,JavaString类提供了丰富的对字符串的操作方法,其中有很多方法可以获取满足条件的子字符串。 1. substring方法 substring方法是获取满足条件的子字符串最常用的方法之一。该方法可以通过指定开始和结束索引来获取目标字符串的子字符串。例如,想要获取一个字符串的第一个字符,可以使用substring(0,1)的方法。 2. split方法 split方法是根据给定的正则表达式将字符串分割成子字符串的方法,将字符串分成一个个子字符串,然后将这些字符串封装到一个数组中,每个子字符串都是数组中的一个元素。例如,可以用split(" ")将一个字符串根据空格分割成若干个子字符串。 3. indexOf和lastIndexOf方法 indexOf和lastIndexOf方法是获取字符串中某个字符或子字符串在字符串中第一次出现和最后一次出现位置的方法。例如,可以用indexOf方法获取某个子字符串在源字符串中第一次出现的位置,如果想要获取该字符串的最后一次出现位置,则可以使用lastIndexOf方法。 4. trim方法 trim方法是去掉字符串两端的空白字符的方法。该方法非常常用,可以排除字符串中存在的空格或制表符等空白字符对结果的干扰。 5. replaceAll方法 replaceAll方法是替换字符串中指定字符或子字符串的方法。这个方法很实用,可以将某个子字符串从源字符串中替换为其他字符或者字符串,可以用来修改字符串并产生新的字符串。 JavaString类提供了大量的字符串操作方法,以上只是其中常用的几种方法。熟练掌握这些方法,可以帮助我们更好地处理字符串。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值