第二次测验总结

本文总结了Java语言的一些核心概念,包括变量名可以使用汉字但不推荐,引用数据类型与基本数据类型的比较,类与对象的关系,以及`==`运算符的使用规则。还涉及静态方法与成员的限制,main方法中访问非静态变量的问题,字符串对象的特性,以及ArrayList的初始化和元素删除。此外,还讨论了集合框架中的Collection接口方法,抽象类的定义及其与抽象方法的关系。
摘要由CSDN通过智能技术生成

第二次测验总结

1.Java语言中,变量名可以用汉字表示

答案:T

总结:记住就行了,可以用,但是没必要

2.对于基本数据类型和引用型数据类型来说,运算符==在比较两个变量是否相同时,含义没有什么差别

答案 :F

总结 :==运算符的使用

1.可以使用在基本数据类型变量和引用数据变量中

2.如果比较的是引用数据 :比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体

补充==符号使用时,必须保证符号左右两边的变量类型一致(否则出现报错)

3.在java中,类只是一种抽象的数据类型,程序中一般使用的是由该类创建的对象

答案:T

总结 :记者就行了

4.对于类与对象的关系,以下说法错误的是()

A.类是对象的类型

B.对象由类来创建

C.类是同类对象的抽象

D.对象是类的模板

答案:D

解析 :对象是我们调用类中的构造器来创建的

类是对象的模板,是同类对象实例的抽象.

5.下列说法正确的是()

A.如果源代码中有package语句,则该语句必须放在代码的第一行

解析:package是包名创建一个类必须有包名且在第一行

6.下列那个叙述是正确的

B.java应用程序由若干类构成,这些类可以在一个源文件中,也可以分布在若干个

源文件中,其中必须有一个源文件含有主类

7.已知代码:

class Person{
    private static String country="A城市" ;
    String name;
    public static void sFun(String c){
        System.out.println("name="+name);
        fun(c);}
    public void fun(String c ){
        name="name1";
        country=c;
    }
}

关于static,下面描述错误的是 () 。

(0.5分)

A.上述代码在编译时出错,因为在static方法sFun中访问了非static变量name

B.上述代码在编译时出错,因为在static方法sFun中访问了非static方法fun()

C.sFun方法正确

D.fun方法正确

答案:C

解析:题目问的是错误的

静态方法中只能调用静态成员,不能调用成员变量和成员方法

普通成员方法可以调用普通成员和静态成员,也可以调用普通成员方法和静态方法

8.分析如下代码:

public class Test {
  private int t;
​
  public static void main(String[] args) {
    int x;
    System.out.println(t);
  }
}

一下说法正确的是( )。

(0.5分)

A.变量t没有初始化,所以会引起错误。

B.变量t是私有的,因此不能在main方法中访问。

C.t是非静态的,不能在静态的main方法中引用。

D.变量x没有初始化,所以会引起错误。

答案:C

解析:t是非静态的,不能在静态的main方法中引用 除非在变量的修饰符前添加static

变量x没有初始化,但是也没有调用,在方法中声明的变量都是临时变量,

必须要初始化后才能使用 但是如果只是声明却并未使用,程序就不会报错

如果调用则必须初始化值,否则编译过不去

9.以下哪句是错误的?

(0.5分)

A.编译器会搜索要import的类的编译结果文件而不是源文件

B.import是告诉编译器要import的包的信息

C.import是把要import的类的源代码插入到import语句所在的地方

D.编译器在编译的时候需要能访问得到要import的类的编译结果文件

答案:C

解析 :编译器会搜索要import的类的编译结果文件而不是源文件

import是告诉编译器要import的包的信息

编译器在编译的时候需要能访问的到要import的类的编译结果文件

10.

在Java中,针对类和成员提供了4种访问级别,以下控制级别由小到大的顺序是:( )。

(0.5分)

A.private< 默认 < protected < public

B.默认 < private< protected < public

C.protected < 默认 < private < public

D.protected < private< 默认 < public

解析:

1.private(当前类访问级别): 如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其他成员访问,其他类无法直接访问。类的良好封装就是通过private关键字来实现的。 2.default(包访问级别): 如果一个类或者类的成员不使用任何访问控制符修饰,则称它为默认访问控制级别,这个类或者类的成员只能被本包中的其他类访问。 3.protected(子类访问级别): 如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其他类访问,也能被不同包下该类的子类访问。 4.public(公共访问级别): 这是一个最宽松的访问控制级别,如果一个类或者类的成员被public访问控制符修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一个包中。

11.下列关于字符串对象的叙述中,错误的是( )。

(0.5分)

A.字符串常量是对象

B.String 对象存储字符串的效率比 StringBuilder 高

C.字符串对象具有不变性

D.String类提供了许多用来操作字符串的方法:连接、提取、查询等,一旦返回的结果与原字符串不同,就生成一个新对象,而不是在原字符串进行修改

答案:B

解析:我自己也不理解

12。

阅读下面的程序段,以下表达式的值为true的是哪个?( )

        String str1=new String("java");
        String str2=new String("java");
        StringBuffer str3=new StringBuffer("java");
        StringBuffer str4=new StringBuffer("java");

(0.5分)

A.str1==str2

B.str1.equals(str2)

C.str3==str4

D.str3.equals(str4)

E.str1==str3

F.str1.equals(str4)

答案:B

解析:D:StringBuffer底层没有重写equals方法,

F:equals要求调用者与参数要么都重写,要么都不重写有一方不重写就会返回false

13.

ArrayList的初始化内容如下:

ArrayList<String> list = new ArrayList<String>();
​
list.add("java");
​
list.add("aaa");
​
list.add("java");
​
list.add("java");
​
list.add("bbb");

下面可以删除list中所有的“java”的代码是

(0.5分)

A.

 for (int i = list.size() - 1; i >= 0; i--) {
          if ("java".equals(list.get(i))) {
             list.remove(i);
          }
      }

B.

for (int i = 0; i < list.size(); i++) {
          if ("java".equals(list.get(i))) {
             list.remove(i);
          }
      }

C.

list.remove("java");

D.

list.removeAll("java");

答案:A

解析:正着删会导致漏删,必须倒着删

list.remove()需要一个索引或者对象,只能删一个

list.removeall()需要传一个集合,会删除所有与传入集合元素相同的元素

14.Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不是Collection接口所定义的?( )

(0.5分)

A.int size()

B.boolean containsAll(Collection c)

C.compareTo(Object obj)

D.boolean remove(Object obj)

答案:C

解析:记者就行了

14.以下对抽象类的描述正确的是

(0.5分)

A.抽象类没有构造方法

B.抽象类必须提供抽象方法

C.有抽象方法的类一定是抽象类

D.抽象类可以通过new关键字直接实例化

答案:C

解析:一个类如果定义为抽象类,那么里面可以没有抽象方法

一个类中如果有抽象方法,那么这个类必定是一个抽象类

抽象类不能被实例化,可以实例化非抽象子类的对象

抽象类的所有非抽象子类必须重写抽象类中的方法

abstract在class前面

子类有未实现父类的抽象方法时仍是抽象类

当子类实现所有抽象方法时可以不再是抽象类

由普通的类来实现接口,必须将接口所有抽象方法重写

由抽象类来实现接口,则不必重写接口的方法,可以全部不重写,或者只重写一个

接口:接口中没有提供构造方法,接口中的方法默认使用public,abstract修饰,接口中的属性默认使用public static final修饰

注意:public static final 修饰的常量必须初始化,否则编译不通过。

15.关于Java语言的描述,错误的是()。

(0.5分)

A.每一个.java文件编译后对应一个.class文件。

B..java文件编译后,每一个class对应一个.class文件

C.Java源代码编译后产生的.class是字节码文件

D.class文件在JVM上运行

答案:A

解析:记住妥了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值