java语言概述习题

更新时间:2024-05-02 14:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1章java语言概述习题 一、填空题

1、面向对象程序的主要特征:继承,______封装_________,______多态________。

2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重复或者复用___.

3、java语言中,为将源代码翻译成_字节码___文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。

4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java是java语言中的解释行器,基本语法是:java[选项]___类名___.

5、java语言的主要贡献者是谁_James Gosling________ 二、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名( )。 A、java B、.class C、html D、.exe

2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下()项是合法的。

A、public static void main()

B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 三、判断题

1、Java语言具有较好的安全性和可移植性及与平台无关等特性。对 2、Java语言的源程序不是编译型的,而是编译解释型的。对 四、问答题

1、编写、运行java程序需要经过哪些主要步骤? 2、阅读下列

java源代码文件,并回答问题 public class Speak{

void speakHello(){

System.out.println(\} }

class Xiti8{

public static void main(String args[]){ Speak sp=new Speak(); sp.speakHello(); } }

(1)上述源文件的名字是什么?

(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?

第2章(1)基本数据类型练习题 一、填空题

1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.

2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_ float __和__double__两种具体类型。

3、Java中的浮点类型有两类,分别是float和double类型,其中float取_7__位有效数据,double取_15__位有效数据。 4、布尔类型常量只有两个__true___和_false_____,其中前者表示逻辑真,后者表示逻辑假。 5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形式:_小数点形式_____和___指数形式_____。

6、java语言中的各种数据类型之间提供自动转换,如第一种操作数为byte,而第二种操作数为float,则其结果是__float___类型。

7、java语言的各种数据类型之间提供两种转换,分别是__自动转换__和__强制转换___。 8、开发与运行Java程序需要经过的三个主要步骤为编译源程序、编译生成字节码和解释运行字节码。

9、Java程序中的单行注释符是( //),多行注释符是(/* */ )。 10、Java中布尔类型的常量有两种,它们是(true )和(false)。 11、Java中用于定义小数的关键字有两个:( float )和( double ),后者精度高于前者。 二、多选

1、下面有关char类型数据的定义中,正确得是________? A. char ch = “a”; B. char ch = ‘\\’‘; C. char ch = ‘cafe’; D. char ch = “cafe”; E. char ch = ‘\?’; F. char ch = ‘\?0’; G. char ch = (char) true;

三、判断

1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。错

2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。对 四、单选

1、以下哪个不是Java的基本数据类型() A、int B、Boolean C、float D、char 2、如下哪个是Java中有效的关键字( ) A、name B、hello C、false D、good

第2章(2)数组练习题 一、填空题

1、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。 二、多选

1、定义如下的二维数组b,下面的说法正确的是( )。 int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};

A)b.length的值是3。 B)b[1].length的值是3。 C)b[1][1]的值是5。

D) 二维数组b的第一行有3个元素 三、单选

1、以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg

D、StringBufferargs[]

2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).

A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2

3、应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c,回车后输出的结果是 ( )。

public class Test {

public static void main(String args[]) { int k1=args.length; int k2=args[1].length();

System.out.print(k1+\ } }

A) 3 2 B)1 2 C) 1 3 D) 3 3

4、关于下面代码的说法()是正确的? public class Example{

public static void main(String[] args){ int[] arr= new int[10]; System.out.println(arr[1]); } }

A、编译时产生错误

B、编译时正确,运行时将产生错误 C、输出零

D、输出空(null)

第3章(1)运算符&表达式&if语句练习题 一、填空 1、Java中,除了__字符型___和__布尔型___外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。

2、短路逻辑运算符包括__&&____和__||____。

3、Java提供了&,&&和|,||运算符,除了一点外,&运算符和&&运算符在使用中完全相同,|运算符和||运算符也相同。它们的不同点在于:__&__运算符和_|__运算符中的两个运算对象都要运算。

4、顺序执行以下两个语句的输出结果是:____10___。 String s=”我喜欢学习java!”; System.out.println(s.length());

5、下面代码定义了两个整型变量和一个字节型变量,则将num1+num2的值赋给num3变量的语句是__num3=(byte)(num1+num2)___________。 int num1 = 53; int num2=47; byte num3;

6、下面代码中,“Type”应该换成什么类型___double_____? public class ReturnIt {

return Type methodA(byte x, double y) { return (long)x / y * 2; } }

7、Java语言提供了两条基本的分支选择语句:__if__语句和_switch___语句 8、以下程序段的输出结果为__Message four__。 int x=0,y=4, z=5; if ( x>2){

if (y<5){

System.out.println(“Message one”); }else {

System.out.println(“Message two”); }

}else if(z>5){

System.out.println(“Message three”); }else {

System.out.println(“Message four”); }

二、单选

1、下面选项中,_____的值与3*4的值相等? A. 3/2 B. 3<2 C. 3*2^2 D. 3<<2

2、下面选项中,_____的值与16/2^12的值相等? A. 16>4 B. 16/2 C. 16*4 D. 16>>2 E. 16>>>2

3、有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, double y) {

return (short) x/y*2; }

A、byte B、short C、int D、double

第3章(2)switch&循环语句练习题 一、填空题

1、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。 int s = 0 ;

for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s);

2、下面程序段的执行结果是(6 5 4 3 2) int a[] = { 2, 3, 4, 5, 6 };

for (int i = a.length - 1; i >= 0; i--) System.out.print(a[i] + \

3、以“java Sub 3”运行以下程序的结果是:3th season___。 public class Sub{

public static void main(String[] args) { int i=Integer.parseInt(args[0]); swich(i) {

case 1: System.out.println(“First season”); break; case 2: System.out.println(“Second season”); break; case 3: System.out.println(“3th season”); break; case4: System.out.println(“Last season”); break; }

} }

4、switch(X)中,X可以接受的类型有_char ____,__byte_____,short,int。 5、以下程序段的输出结果为__Value istwo.Value is three.______。 int j=2; switch ( j ) {

case 2: System.out.print(“Value is two.”);

case 2+1 : System.out.println(“Value is three.”); break; default: System.out.println(“value is “+j); break; }

6、如果x=2;则下面程序执行后的结果是__34____? switch (x) {

case 1: System.out.println(1); case 2:

case 3: System.out.print (3); case 4: System.out.println(4); }

7、下面代码执行结束后l和j的值分别是_l=5,j=6_____? public static void main(String[] args) {

第4章(3)包_访问权限_基本数据类型封装练习题 一、填空题 1、请填出在java.lang包中与下列基本数据类型相对应的封装类: float:java.lang.Float, char:___java.lang.Character______ , boolean:_java.lang.Boolean_____________.

2、java中提供了四种访问控制符,分别是:__public ________,____protected_______,____private _____,_缺省或___friendly ________。 3、以下程序段的输出结果为 ___false,true_______。 public class EqualsMethod {

public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1= =n2);

System.out.print(“,”); System.out.println(n1! =n2); }

}

4、在java中,将具有相同属性的对象抽象成_类___。然后将它按照程序设计所需要的常用方法和接口封装成_包__。

5、创建一个名为 MyPackage 的包的语句是package mypackage ,该语句应该放在程序的置为:应放在程序第一句。

6、导入mypackage包中的所类的命令是 impoart mypackage.* 。 二、单选题

1、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( )

B. public void method( )

C. final void method( ) D. abstract void method( )

3、下列修饰符中与访问控制无关的是( ) A.private B.public C.protected D.final 4、void的含义:( )

A.方法没有返回值 B.方法体为空 C.没有意义D. 定义方法时必须使用 5、关于对象成员占用内存的说法哪个正确?( ) A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对

6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static

第5章(1)继承与多态练习题答案 一、选择题

1、关于继承的说法正确的是:( B ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性 2、this和super:( B ) A、都可以用在main()方法中 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同

3、关于super的说法正确的是:( B ) A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中

4、覆盖与重载的关系是( A )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B、覆盖方法可以不同名,而重载方法必须同名 C、final修饰的方法可以被覆盖,但不能被重载 D、覆盖与重载是同一回事

5、定义一个类,必须使用的关键字是( B ) A、public B、class C、interface D、static

6、如果有如下这样一段代码class A { A() { } }

class B extends A { }

请在下面项中,正确的说法是:____________ B D A、类B的构造函数的访问权限是public B、类B的构造函数没有参数

C、类B的构造函数中包含this()方法的调用;

D、类B的构造函数中包含super()的调用

7、下面(A)情况下,系统会为类A自动产生构造函数? A、class A { }

B、class A { public A() {} } C、class A {

public A(int x) {} }

D、class Z {}

class A extends Z { void A() {} } 二、填空题

1、java中提供了两种用于多态的机制 __重载_______,____覆盖______.

2、this代表了__当前对象_____的引用,super表示的是当前对象的___父类________对象。 3、如果子类中覆盖了父类中的同名方法,则在子类中调用父类中的同名方法是使用关键字_ super ___。在一个类的内部可以直接调用本类的对象,也可以使用关键字__ this ___来调用。

4、子类可以继承父类的_成员变量____和_成员方法___,但是不能继承父类的构造函数。 5、下面代码执行后的结果是__2____? class Super {

public int i = 0;

public Super(String text) { i = 1; } }

public class Sub extends Super {

public Sub(String text) { super(text); i = 2; }

public static void main(String args[]) { Sub sub = new Sub(\ System.out.println(sub.i); } }

6、如果在一个文件中有package,import以及class的定义,请给出三者在文件中的先后顺序。package,import ,class

第5章(2)接口练习题答案 一、选择题

1、定义一个接口必须使用的关键字是( ) A、public B、class C、interface D、static 2、抽象方法:( ) A、可以有方法体

B、可以出现在非抽象类中 C、是没有方法体的方法

D、抽象类中的方法都是抽象方法 3、关于接口哪个正确?( A )

A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 二、填空题

1、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。抽象方法是不能被当前类的子类重新定义的方法。

2、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

3、接口由两部分组成_____以及______。接口声明接口体

4、接口可以看作是仅容纳___抽象__方法以及___常量_,而又不能直接生成对象的特殊类。 5、用于将一个类修饰为最终类的关键字是___final___。用于声明一个类为抽象类的关键字是__abstract______。

6、abstract不能和___fihal__共同修饰一个类。

7、 java中用____extends_____关键字指明继承关系.用___implements__关键字指明对接口的实现。

8、如果Alpha类继承Beta类,Alpha类被称为_____子__类,Beta类被称为____父___类。 9、子类可以继承父类的_成员变量____和____成员方法,但是不能继承父类的构造函数。 10、下面程序的输出结果是:_______。 class Art {

Art() {System.out.println(\} }

class Drawing extends Art {

Drawing() { super();

System.out.println(\

}

}

public class Cartoon extends Drawing {

Cartoon() { super();

System.out.println(\ public static void main(String[] args) { Cartoon x = new Cartoon(); } }

11、写出以下程序的运行结果____4__。 import java.io.*; public class ATest{

public static void main(String args[]) { SubClass sb = new SubClass( ); System.out.println(sb.fun( )); } }

class SuperClass{ int a =24 , b =5 ; } class SubClass extends SuperClass{

int fun( ) { return a%b; } }

三、多项选择题

1、与第2行等价的定义方式是_____。 1. public interface Foo { 2. int k = 4; 3. }

A. final int k = 4; B. public int k = 4; C. abstract int k = 4; D. volatile int k = 4; E. protected int k = 4;

2、下面几个方法中,_____可以放在接口(interface)中。 A. void methoda();

B. public double methoda();

C. public final double methoda(); D. static void methoda(double d1); E. protected void methoda(double d1);

3、请问如下选项中,_____可以使得以上代码编译没有错误。 1. public abstract class Test {

2. public abstract void methodA(); 3.

4. public abstract void methodB() 5. {

本文来源:https://www.bwwdw.com/article/n11g.html

Top