java语言概述习题_第1页
java语言概述习题_第2页
java语言概述习题_第3页
java语言概述习题_第4页
java语言概述习题_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章java语言概述习题 一、填空题 1、面向对象程序的主要特征:继承,_封装_,_多态_。2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以_重复或者复用_. 3、java语言中,为将源代码翻译成_字节码_文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。4、javac是java语言中的编译器,基本语法是:javac选项 _文件名_,java是java语言中的解释行器,基本语法是:java选项_类名_.5、java语言的主要贡献者是谁_James Gosling_ 二、单选题1、编译Java Application 源程序文件将产

2、生相应的字节码文件,这些字节码文件的扩展名( )。 A、java B、.classC、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语言的源程序不是编

3、译型的,而是编译解释型的。 对四、问答题1、编写、运行java程序需要经过哪些主要步骤?2、阅读下列java源代码文件,并回答问题 public class Speakvoid speakHello() System.out.println("I'm glad to meet you");class Xiti8 public static void main(String args)Speak sp=new Speak(); sp.speakHello();(1) 上述源文件的名字是什么?(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?第2

4、章(1)基本数据类型练习题 一、填空题 1、java基本数据类型中整型,字符型分别占用字节数为_4_,_2_. 2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_ float _和_double_两种具体类型。 3、Java中的浮点类型有两类,分别是float和double类型,其中float取_7_位有效数据,double取_15_位有效数据。 4、布尔类型常量只有两个_true_和_false_,其中前者表示逻辑真,后者表示逻辑假。 5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形式:_小数点形式_和_指数形式_。 6、java语言中的各种数据

5、类型之间提供自动转换,如第一种操作数为byte,而第二种操作数为float,则其结果是_float_类型。 7、java语言的各种数据类型之间提供两种转换,分别是_自动转换_和_强制转换_。 8、开发与运行Java程序需要经过的三个主要步骤为编译源程序、编译生成字节码 和解释运行字节码。 9、Java程序中的单行注释符是( / ),多行注释符是( /* */ )。 10、Java中布尔类型的常量有两种,它们是( true )和(false)。 11、Java中用于定义小数的关键字有两个:( float ) 和 ( double ),后者精度高于前者。 二、多选 1、下面有关char类型数据的定

6、义中,正确得是_? A. char ch = “a”; B. char ch = ; C. char ch = cafe; D. char ch = “cafe”;E. char ch = ucafe;F. char ch = u10100; G. char ch = (char) true; 三、判断 1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。 错2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。 对四、单选 1、以下哪个不是Java的基本数据类型( ) A、int B、Boolean C、float D、char 2、如下哪个是Java中有效

7、的关键字( ) A、name B、hello C、false D、good第2章(2)数组练习题 一、填空题 1、当声明一个数组int arr = new int5; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。 二、多选 1、定义如下的二维数组b,下面的说法正确的是( )。 int b=1, 2, 3, 4, 5,6, 7, 8; A)b.length的值是3。 B)b1.length的值是3。 C)b11的值是5。 D) 二维数组b的第一行有3个元素 三、单选 1、以下哪项是main方法的正确形参?( ) A、

8、String argsB、String ar C、Char argD、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 23、应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c,回车后输出的结果是 ( )。 public class Test public static void main(String args) int k1=

9、args.length;int k2=args1.length();System.out.print(k1+" "+k2); 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 int10; System.out.println(arr1); A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 第3章(1)运算符&表达式&if语句练习题 一、

10、填空 1、Java中,除了_字符型_和_布尔型_外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。 2、短路逻辑运算符包括_&&_和_|_。 3、Java提供了&,&&和|,|运算符,除了一点外,&运算符和&&运算符在使用中完全相同,|运算符和|运算符也相同。它们的不同点在于:_&_运算符和_|_运算符中的两个运算对象都要运算。 4、顺序执行以下两个语句的输出结果是:_10_。 String s=”我喜欢学习java!”; System.out.println(s.length(); 5、下面代码定义了两个整型变量

11、和一个字节型变量,则将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=

12、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*22 D. 3<<2 2、下面选项中,_的值与16/212的值相等? A. 16>4 B. 16

13、/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

14、; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArrayi ; 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(ai + ""); 3、以“java Sub 3”运行以下程序的结果是:3th season_。 public class Sub public static voi

15、d main(String args) int i=Integer.parseInt(args0);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_,sho

16、rt,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:

17、 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) int j=10;int l=1; doif(l+>-j)continue; while(l<5); 8、下面程序的运行结果为(20 ) class test public static void main(String args) int sum=0; for(int i=0;i<10;i+) if(i%2=0) sum+

18、=i; else continue; System.out.println(sum); 二、单选 1、应用程序的main方法中有以下语句,则输出的结果是 ()。 int b=1, 2,2, 2,2,2;int sum=0;for(int i=0;i<b.length;i+) for(int j=0;j<bi.length;j+) sum+=bij; System.out.println("sum="+sum);A) 32 B)11 C) 2 D) 3 2、应用程序的main方法中有以下语句,则执行后输出的结果是 ()。 int x=125,21,5,168,98

19、; int max=x0; for(int i=1;i<x.length;i+)if(xi> max) max =xi; System.out.println(max);A) 125 B) 5 C) 98 D) 168第4章(1)类和对象练习题一、填空1、面向对象程序的主要特征:继承,_封装_,_多态_。2、_构造方法_是类中的一种特殊方法,用来定义对象的初始状态。3、构造方法在_创建对象_时被调用。4、系统类Math的random()方法可用来产生0-1.0之间的实数,则产生一个50-100之间的整数的程序语句是_(int)Math.random()*50+50_。5、下面代码执

20、行结束之后,打印出来的结果是_4_? public class Happy public static void main(String args) int i=4; int j=2;methodA(i,j);System.out.println(i); static public void methodA(int i,int j) i<<=j; 6、在java语言中,有一个类是所有类和接口的父类,这个类的名称是_java.lang.Object(Object)_。7、构造方法在_创建对象_时被调用。 8、java运行系统通过_垃圾回收机制_周期性的释放无用对象所占用的内存,以完成

21、对象的消除。9、阅读以下程序,输出结果为_1.23_。class Q1public static void main(String args ) double d=1.23; Dec dec=new Dec( ); dec.decrement(d);System.out.println(d); class Decpublic void decrement(double decMe)decMe = decMe -0.1;10、阅读程序 public class Testint x=12; public void method1(int x)x+=x;System.out.println(x);

22、如果有如下的代码段:Test t=new Test(); t.method1(5); 程序执行到这个地方,代码输出结果是_10_?11、定义在类中的变量为_成员变量_,它不需要进行显式的初始化,定义在方法中的变量为_局部变量_,它需要进行显式的初始化。12、面向对象的模型中,最基本的概念是_类_和_对象_。 二、多选题 1、下面选项中,_是合法的构造方法的重载? public class ConstOver public ConstOver (int x, int y, int z) A. ConstOver ( ) B. Protected int ConstOver ( ) C. Priv

23、ate ConstOver (int z, int y, byte x) D. Public Object ConstOver (int x, int y, int z) E. Public void ConstOver (byte x, bytey, byte z) 12、下面说法中_是对方法setVar()重载的方法。public class MethodOver public void setVar (int a, int b, float c) A. Private void setVar (int a, float c, int b) B. Protected void setVar

24、 (int a, int b, float c) C. Public int setVar (int a, float c, int b) return a;D. Public int setVar (int a, int b, float c) return a;E. Protected float setVar (int a, int b, float c) return c;第4章(2)可变参数,static与this练习题 一、填空题 1、在下面程序划线处填入适当的内容。 class MyClass static int var=100; _static(public static)_

25、 int getVar() return var; 2、以下程序段的输出结果为_int version_ 。 class Cruncher void crunch( int i ) System.out.println(“int version”); void crunch(String s) System.out.println(“String version”); public static void main(String args ) Cruncher crun=new Cruncher ( );char ch=p; crun.crunch(ch); 3、以下程序段的输出结果为 lnt

26、eger String_。 class IntORString void iosM( int i ) System.out.print(“Integer ”); void iosM(String s) System.out.print(“String ”); public static void main(String args ) IntORString ios=new IntORString ( ); ios.iosM(a); ios.iosM(“1”); 4、如果有个类A,该类中有成员变量b和成员方法c(),则在创建该类得对象a后,对该对象的成员变量和成员方法的调用方式分别是_a.b_,

27、_a.c()_。 5、以下代码段创建了_2_个对象,声明了_3_个变量。 Thing item, stuff; item = new Thing();Thing entity = new Thing(); 6、通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现:_MyClass obj=new MyClass()_。 7、下面_情况下,系统会为类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(

28、) 8、请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是_静态成员变量初始化、成员变量初始化、构造函数_。9、划线处应填的一句代码:_this(a)_。 public class Example int x,y;public Example(int a) x = a; public Example(int a, int b)_;/调用上面的一个参数的构造方法 y = b; 10、关键字_final_表明一个对象或变量在初始化后不能被修改。 11、类是对象的抽象,是属性和操作的封装体,其中属性是事物静态特征的抽象,在程序中用_数据成员_描述,操作是事物动态特征的抽象,在程序中用

29、_成员方法_描述。 .第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 voi

30、d 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包中的

31、所类的命令是 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、下列修饰符中与访问控制无关的是( ) Aprivate

32、Bpublic Cprotected Dfinal4、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、子类将继承父类的非私有属性

33、和方法。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、

34、定义一个类,必须使用的关键字是( B ) A、public B、classC、interfaceD、static6、如果有如下这样一段代码 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

35、 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

36、= 1; public class Sub extendsSuper public Sub(String text) super(text); i = 2; public static void main(String args) Sub sub = new Sub("Hello"); System.out.println(sub.i); 6、如果在一个文件中有package,import以及class的定义,请给出三者在文件中的先后顺序。package,import ,class 第5章(2)接口练习题答案 一、选择题 1、定义一个接口必须使用的关键字是( ) A、pub

37、lic B、class C、interface D、static 2、抽象方法:( ) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法 3、关于接口哪个正确?( A ) A、实现一个接口必须实现接口的所有方法 B一个类只能实现一个接口 C接口间不能有继承关系 D接口和抽象类是同一回事 二、填空题 1、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 抽象 方法是不能被当前类的子类重新定义的方法。 2、在Java程序中,通过类的定义只能实现 单 重继承,但通过接口的定义可以实现 多 重继承关系。3、接口由两部分

38、组成_以及_。 接口声明 接口体4、接口可以看作是仅容纳_抽象_方法以及_常量_,而又不能直接生成对象的特殊类。 5、用于将一个类修饰为最终类的关键字是_final_。用于声明一个类为抽象类的关键字是_abstract_。6、abstract不能和_fihal_共同修饰一个类。 7、 java中用_extends_关键字指明继承关系.用_implements_关键字指明对接口的实现。 8、如果Alpha类继承Beta类,Alpha类被称为_子_类,Beta类被称为_父_类。 9、子类可以继承父类的_成员变量_和_成员方法,但是不能继承父类的构造函数。 10、下面程序的输出结果是:_。 clas

39、s Art Art() System.out.println("Art constructor"); class Drawing extends Art Drawing() super(); System.out.println("Drawing constructor"); public class Cartoon extends Drawing Cartoon() super(); System.out.println("Cartoon constructor"); public static void main(String a

40、rgs) 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 SuperClassint fun( ) return a%b; 三、多项选择题 1、与第2行等价的定义方式是

41、_。 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.

42、protected void methoda(double d1); 3、请问如下选项中,_可以使得以上代码编译没有错误。 1. public abstract class Test 2. public abstract void methodA(); 3.4. public abstract void methodB() 5. 6. System.out.println(“Hello”); 7. 8. A 给methodA加上方法体; B 将第5-7行的代码用“;”代替 C 将类Test前面的修饰符abstract去掉 D 将方法methodA前面的修饰符abstract去掉 E 将方法me

43、thodB前面的修饰符abstract去掉 4、下面选项中,_可以是合法的方法重写的形式。 class BaseClass private float x = 0f; protected float getVar() return x; class SubClass extends BaseClass private float x = 0f; _ A. float getVar() return x; B. public float getVar() return x; C. public double getVar() return x; D. protected float getVar

44、() return x; E. public float getVar(float f) return f; 5、如果有如下这样一段代码 class A A() class B extends A 请在下面项中,正确的说法是:_ A、 类B的构造函数的访问权限是public B、 类B的构造函数没有参数 C、 类B的构造函数中包含this()方法的调用D、 类B的构造函数中包含super()的调用 第6章内部类与异常类练习题答案 一、填空题 1、Throwable类有两个子类,分别是_和_.Error和 Exception 2、所有异常的根类是_,throw关键字的作用是_。Throwable

45、类 引发异常 3、try关键字负责_,再来由catch关键字来_。定义处理异常的程序 捕获异常 4、补足代码;要求调用两个函数,要求用匿名内部类 interface Inter void show(int a,int b);void func(); class Demo public static void main(String args) / Inter in = new Inter() public void show(int a,int b) public void func() ; in.show(4,5); in.func(); 5、下面程序的输出结果是:_。B C D 写出程序结

46、果 class Demo public static void func() try throw new Exception(); finally System.out.println("B"); public static void main(String args) try func(); System.out.println("A"); catch(Exception e) System.out.println("C"); System.out.println("D"); 6、在java中所有的异常类都继承自

47、_类,它有两个直接子类,一个是Error类,另一个是_类。java.lang.Throwable Exception 7、Java语言中,可以用throw语句和throws语句抛出异常,其中_语句的作用是用来改变程序的执行流程,使程序跳到相应的异常处理语句中执行。_语句把异常向上移交给调用这个方法的方法来处理。throw throws8、 下述代码执行后的结果是_?ACD public class X public static void main(String args) try badMethod(); System.out.print(“A”); catch (Exception ex) System.out.print(“B”); finally System.out.print(“C”); System.out.print(“D”); public static void badMethod() 单选题: 1、下面选项中,_不能用在throw语句中? C A.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论