java期末考试重点速成

发布时间:2023年12月19日

1. 判断题

  1. java语言的主要贡献者是James Gosling (√)
  2. 在java源文件中只能有一个类 (×)
  3. 在一个源文件中必须要有public类 (×)
  4. 在源文件中如果有多个类,那么最多有一个类是public类 (√)
  5. Java应用程序必须要有主类 (√)
  6. Java应用程序的主类必须是public类 (×)
  7. 下列源文件可保存成dog.java (×)
  8. main是java语言规定的关键字 (×)
  9. “float area=lel;”是错误的float变量声明 (√)
  10. float height=1.0f;”是正确的float变量声明 (√)
  11. byte amount=128;”是正确的byte型变量声明 (×)
  12. int [],a,b;”声明了两个int型一维数组a和b (√)
  13. int a[],b;”声明了一个int型一维数组a和一个int型变量b (√)
  14. 对于“int [][]a={{1,2,3},{4,5,6,7}};”,a[0].length的值是3,a[1].length的值是4 (√)
  15. 对于“int a[][]=new int[2][9];”,a.length的值是2,a[0].length和a[1].length的值都是9 (√)
  16. int a[20];”是正确的数组声明 (×)
  17. boolean yes=TRUE;”是正确的boolean变量声明 (×)
  18. 表达式10>20-17的结果是1 (×)
  19. 表达式5/2的结果是2 (√)
  20. 逻辑运算符的运算结果是boolean型数据 (√)
  21. 关系运算符的运算结果是int型数据 (×)
  22. 12=12是非法的表达式 (√)
  23. 表达式2>8&&9>2的结果是false (√)
  24. while(表达式)…语句中的“表达式”的值必须是boolean型数据 (√)
  25. 在while语句的循环体中,执行break语句的效果是结束while语句 (√)
  26. 在switch语句中必须要有default选项 (×)
  27. if语句中的条件表达式的值可以是int型数据 (×)
  28. 类是最重要的“数据类型”,类声明的变量被称为对象变量,简称对象 (√)
  29. 构造方法没有类型 (√)
  30. 类中的实例变量在用该类创建对象的适合才会被分配内存空间 (√)
  31. 类中的实例方法可以用类名直接调用 (×)
  32. 局部变量没有默认值 (√)
  33. 构造方法的访问权限可以是public、protected、private或友好的 (√)
  34. 方法中声明的局部变量不可以用访问修饰符public、protected、private修饰 (√)
  35. this可以出现在实例方法和构造方法中 (√)
  36. 成员变量的名字不可以和局部变量的相同 (√)
  37. static方法不可以重载 (×)
  38. 子类继承父类的构造方法 (×)
  39. 在子类中想使用被子类隐藏的实例成员变量或实例方法就需要使用关键字super (√)
  40. 可以用final修饰构造方法 (×)
  41. 如果在子类的构造方法中没有显示地写出super关键字来调用父类的某个构造方法,那么编译器默认有“super();”调用父类的无参数的构造方法,如果父类没有这样的构造方法,代码将出现编译错误 (√)
  42. 可以同时用final和abstract修饰同一个方法 (×)
  43. 子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量 (√)
  44. 如果一个类的所有构造方法的访问权限都是private的,意味着这个类不能有子类,理由是一个类的private方法不能在其他类中被使用,但子类的构造方法中一定会调用父类的某个构造方法 (√)
  45. 子类在进行方法重写时,不可以把父类的实例方法的重写为类(static)方法,,也不可以把父类的类(static)方法重写为实方法 (√)
  46. 在abstract类中重写为abstract方法 (×)
  47. 子类可以有多个父类 (×)
  48. 接口中也能声明变量 (×)
  49. java 8之后,接口中也能定义非抽象的不加default修饰的方法 (×)
  50. java 8之后,接口中可以定义private方法 (√)
  51. 接口中的常量可以不指定初值 (×)
  52. 可以在接口中只声明常量,不定义任何方法 (√)

2. 单选题

  1. 下列选项中,( )是JDK提供的编译器

A. java.exe

B. javac.exe

C. javap.exe

D. javaw.exe

  1. 下列选项中,( )是java中应应用程序主类中正确的main( )方法

A. public void main(String args[])

B. static void main(String args[])

C. public static void Main(String agrs[])

D. public static void main(String args[])

  1. 下列叙述正确的是()

A. java 源文件由若干个书写形式互相独立的类组成

B. 在java源文件中只能有一个类

C. 如果源文件中有多个类,那么至少有一个类是public类

D. java源文件的扩展名是.txt

  1. 对于下列源文件,以下叙述正确的是()
public class E{
	public static void main(String []agrs)
    {
        System.out.println("ok");
        System.out.println("你好");
	}
}
class A{
	public static void main(String []args)
    {
        System.out.println("ok");
        System.out.println("你好");
	}
}

A. 源文件的名字必须是A.java

B. 源文件有错误

C. 源文件必须命名为E.java

D. 源文件中的E类不是主类

  1. 下了叙述正确的是()

A. java语言是2005年5月Sun公司推出的编程语言

B. java语言是1995年5月IBM公司推出的编程语言

C. java语言是的名字来自印度尼西亚的一个盛产咖啡的岛的名字

D. java语言主要的贡献者是比尔盖茨

  1. 以下叙述错误的是()

A. “int []a,b[];”声明了一个int型一维数组a和一个int型号二维数组b

B. float a[20];是正确的数组声明

C. “boolean yes=false;”是正确的boolean变量声明

D. 1e2和2.05E2都是double型常量

  1. 以下叙述错误的是()

A. System是关键字

B. _class可以作为标识符

C. char型字符在Unicode表中的位置范围是0至65535

D. 对于 “int a[]=nwe int[3]”;,a.length的值是3

  1. 下列字符序列中,()可以是标识符

A. true

B. default

C. _int

D. good-class

  1. 下列选项中,()是正确的float变量的声明

A. float foo=1;

B. float foo=1.0;

C. float foo=2e1;

D. float foo=2.02;

  1. 下列选项中,()是正确的float变量的声明

A. float foo=1e2;

B. float foo=3.14;

C. float foo=3.03d;

D. float foo=0x0123;

  1. 下列选项中,()是正确的char型变量的声明

A. char ch=“R”;

B. char ch=‘\\’;

C. char ch=‘ABCD’;

D. char ch=“ABCD”;

  1. 以下叙述错误的是()

A. 对于 int a[][]=new int[6][4];,a.length的值是6

B. 对于 int a[][]=new int[2][9];,a.length、a[0].length、a[1].length的值都是9

C. 对于 “int []a=new int[3];”,a[0]、a[1]、a[2]的值都是0

D. float height=1e1F; 是正确的float变量的声明

  1. 对于下列Test.java代码,下列叙述正确的是()
public class Test{
	public static void main(String args[])
	{
		int arr[]=new int[10];
        System.out.println(arr[1]);
	}
}

A. 产生编译错误

B. 输出null

C. 编译正确,发生运行异常

D. 输出0

  1. 下列叙述正确的是()

A. 5.0/2+10的结果是double型数据

B. (int)5.8+1.0的结果是int型数据

C. ‘苹’+‘果’的结果是char型数据

D. (short)10+‘a’的结果是short型数据

  1. 下列代码中,()替代程序中标注的【代码】会导致编译错误
public class E
{
	public static void main(String args[])
	{
		int m=10,n=10;
		while(【代码】){
		 	n++;
		}
	}
}

A.m-->0

B.m++>0

C. m=0

D. m>100&&true

  1. 对于 Test.java,下列叙述正确的是()
public class Test
{
    public static void main(String agrs[])
    {
        boolean boo=false;
        if(boo=true)
        {
            System.out.print("hello");
            System.out.print("您好");
		}
        else
        {
            System.out.print("ok");
            System.out.print("yes");
		}
	}
}

A. 出现编译错误

B. 程序的输出结果是hello 你好

C. 程序输出的结果是ok

D.程序输出的结果是okyes

  1. 对于 int n=6789;,表达式的值为7的是()

A. n%10

B. n/10%10

C. n/100%10

D. n/1000%10

  1. 下列代码中,()替代程序中标注的【代码】会使得程序输出hello
public class Test{
    public static void main(String agrs[])
    {
        int m=0;
        if(【代码】){
            System.out.println("您好");
        }
        else{
            System.out.println("hello");
		}
	}
}

A. m--<=0

B. ++m>0

C. m++>0

D. --m>0

  1. 假设有 int x=1;,下列代码中,()将导致“可能损失精度,找到int需要char”这样的编译错误

A. short t=12+‘a’;

B. char c=‘a’+1;

C. char m=‘a’+x;

D. byte n=‘a’+1;

  1. 下列叙述正确的是()

A. java应用程序由若干个类所组成,这些类必须在一个源文件中

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

C. java源文件必须含有主类

D.java源文件如果含有主类,主类必须是public类

  1. 下列叙述正确的是()

A. 成员变量的名字不可以和局部变量的名字相同

B. 方法的参数的名字可以和方法中声明局部变量的名字相同

C. 成员变量没有默认值

D. 局部变量没有默认值

  1. 对于下列 Hello类的叙述正确的是()
class Hello{
	Hello(int m){
        
    }
    int Hello(){
        return 20;
    }
    hello(){
    }
}

A. Hello类有两个构造方法

B. Hello类的int Hello ()方法是错误的方法

C. Hello类没有构造方法

D. Hello无法通过编译,因为其中的hello方法头是错误的(没有类型)

  1. 对于下列Dog类的叙述错误的是()
class Dog{
    Dog(int m){   
    }
    Dog(double m){
    }
    int Dog(int m){
        return 23;
    }
    void Dog(double m){
    }
}

A. Dog(int m)与Dog(double m)是互为重载的构造方法

B. int Dog(int m)与void Dog(double m)是互为重载的非构造方法

C. Dog类只有两个构造方法,而且没有无参数的构造方法

D. Dog类有3个构造方法

  1. 下列叙述正确的是()

A. 成员变量有默认值

B. this可以出现在static方法中

C. 类中的实例方法可以用类名调用

D. 局部变量也可以用访问修饰符:public、protected、private修饰

  1. 对于下列Tom类的叙述正确的是()
public class Test{
	public static void main(String args[])
    {
        Tom cat=new Tom();
	}
}
class Tom{
    void Tom(){
        System.out.println("ok");
    }
    Tom(int m){
        System.out.println("您好");
    }
}

A. 程序运行时输出ok

B. 没有构造方法

C. 有编译错误,因为创建对象cat使用的不是构造方法,java编译器已经不提供默认的构造方法了

D. 程序运行时无任何输出

  1. 下面叙述正确的是

A. 子类继承父类的构造方法

B. abstract类的子类必须是非abstract类

C. 子类继承的方法只能操作子类继承和隐藏的成员变量

D. 子类重写或新增的方法也能直接操作被子类隐藏的成员变量

  1. 下列叙述正确的是()

A. final类可以有子类

B. abstract类中只可以有abstract方法

C. abstract类中可以有非abstract方法,但该方法不可以用final修饰

D. 不可以同时用final和abstract修饰同一个方法

E. 允许使用static修饰abstract方法

  1. 下列程序中,带有注释(A、B、C、D)的代码错误(无法通过编译)的是(C、D)
class Father{
    private int money=12;
    float height;
    int seeMoney(){
        return money;			//A
    }
}
class Son extends Father{
	int height;
    int lookMoney(){
		int m=seeMoney();		//B
        return m;
    }
}
class E{
    public static void main(String args[]){
		Son erzi=new Son();
        erzi.momey=300;			//C (子类不能继承父类中private修饰的变量)
        erzi.height=1.78F;		//D(子类和父类的变量名相同相当于重写这个变量所以height为整型而float精度化int高,不可以转化为int)
    }
}
  1. 假设C是B的子类,B是A的子类,cat是C类的一个对象,bird是B类的一个对象,下列叙述错误的是()

A. cat instanceof B的值是 true

B. bird instanceof A的值是 true

C. cat instanceof A的值是 true

D. bird instanceof C的值是 true

  1. 下列程序中,带有注释(A、B、C、D)的代码错误(无法通过编译)的是(B)
class A{
	static int m;
    static void f(){
		m=20;									//A
    }
}
class B extends A{
    void f()									//B
    {
        m=222;									//C
	}
}
class E
{
    public static void main(String args[]){
        A.f();									//D
    }
}
  1. 下列程序中,带有注释(A、B、C、D)的代码错误的是(B)
abstract class Takecare{
	protected void speakHello(){}		//A
    public abstract static void cry();	//B(abstract不允许使用static和private修饰)
    static int f(){return 0;}			//C
    abstract float g();					//D
}
  1. 下列程序中,带有注释(A、B、C、D)的代码错误(无法通过编译)的时(D)
abstract class A{
    abstract float getFloat();	//A
    void f()					//B
    {}
}
public class B extends A{
    private float m=1.0f;		//C
    private float getFloat()	//D
    {
        return m;
    }
}
  1. 下列选项中,()放入程序中标准【代码】处将导致编译错误
class A{
    public float getNum(){
        return 3.0f;
    }
}
public class B extends A{
    【代码】
}

A. public float getNum(){return 4.0f;}

B. public void getNum(){}

C. public void getNum(double d){}

D.public double getNum(float d){return 4.0d;}

  1. 对于以下代码,下列叙述正确的是(A)
class A{
    public int i=0;
    A(int m){
		i=1;
    }
}
public class B extends A{
    B(int m){
		i=2;
    }
}
public static void main(String args[]){
    B b=new B(100);
    System.out.println(b.i);//【代码】
}

A. 程序提示编译错误(原因是A类没有不带参数的构造方法)

B.编译无错误,【代码】的输出结果是0

C.编译无错误,【代码】的输出结果是1

D.编译无错误,【代码】的输出结果是2

  1. 下列接口中,带有注释(A、B、C、D)的代码错误的是(AB)(多选)
interface  Takecare{
    protected void speakHello();			//A
    public abstract static void cry();		//B
    int f();								//C
    abstract float g();						//D
}
  1. 下列选项中,(A)替换程序中标注的【代码】处不会导致编译错误
interface Com(){
	int M=200;
    int f();
}
class ImpCom implements Com{
    【代码】
}

A. public int f(){return 100+M;}

B. int f() {return 100;}

C.public double f() {return 2.6;}

D.public abstract int f();

文章来源:https://blog.csdn.net/weixin_51799303/article/details/135023459
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。