《Java练习题1-4章(31页).doc》由会员分享,可在线阅读,更多相关《Java练习题1-4章(31页).doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-第1章 Java开发入门一、填空题1、Java程序的运行环境简称之为_。2、编译Java程序需要使用_命令。3、javac.exe和java.exe两个可执行程序存放在JDK安装目录的_目录下。4、_环境变量用来存储Java的编译和运行工具所在的路径。二、选择题1、Java属于以下哪种语言?A、机器语言 B、 汇编语言 C、高级语言 D、以上都不对2、下面哪种类型的文件可以在Java虚拟机中运行?A、.java B、.jre C、.exe D、.class3、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?A、Java文档制作工具 B、Ja
2、va解释器 C、Java编译器D、Java启动器4、如果jdk的安装路径为:d:jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?Ad:jdk;Bd:jdkbin;Cd:jrebin;Dd:jre;第2章 基本数据类型与数组一、填空题1、Java中的程序代码都必须在一个类中定义,类使用_关键字来定义。2、布尔常量即布尔类型的两个值,分别是_和_。3、Java中的注释可分为三种类型,分别是_、_、_。4、Java中的变量可分为两种数据类型,分别是_和_。5、在Java中,byte类型数据占_个字节,short类型数据占_个字
3、节,int类型数据占_个字节,long类型数据占_个字节。6、在逻辑运算符中,运算符_和_用于表示逻辑与,_和_表示逻辑或。7、若x = 2,则表达式 ( x + + )3 的值是_。8、若int a =2; a+=3;执行后,变量a的值为_。9、若int a=12,45,34,46,23; ,则a2= _。10、若int a32=123,345,34,56,34,56,则a21= _。二、判断题1、Java语言不区分大小写。2、0xC5表示的是一个十六进制整数。3、continue 语句只用于循环语句中,它的作用是跳出循环。4、“/*/”中可以嵌套“/”注释,但不能嵌套“/*/”注释。5、-
4、5%3的运算结果是2。三、选择题1、以下选项中,哪些属于合法的标识符?(多选)A、Hello_World B、class C、123username D、username1232、以下关于变量的说法错误的是? A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明3、以下选项中,switch语句判断条件可以接收的数据类型有哪些? (多选) A、int B、byte C、char D、short 4、假设int x = 2,三元表达式 x0?x+1:5 的运行
5、结果是以下哪一个? A、0 B、2 C、3 D、55、下面的运算符中,用于执行除法运算是哪个? A、/ B、 C、% D、*6、下列语句哪些属于循环语句?(多选) A、for语句 B、if语句 C、while语句 D、switch语句7、下面哪种写法可以实现访问数组arr的第1个元素? A、arr0 B、arr(0) C、arr1 D、arr(1)8、以下哪个选项可以正确创建一个长度为3的二维数组? A、 new int 23; B、 new int3;C、 new int3; D、 以上答案皆不对9、请先阅读下面的代码。 int x = 1;int y = 2;if (x % 2 = 0)
6、y+; else y-;System.out.println(y= + y);上面一段程序运行结束时,变量y的值为下列哪一项?A、1 B、2 C、3 D、switch语句四、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。代码一:public class Test01 public static void main(String args) byte b = 3;b = b + 4;System.out.println(b= + b);代码二:public class Test02 public static void main(
7、String args)int x = 12; int y = 96; System.out.println(x is + x); System.out.println(y is + y);y = x; System.out.println(x is + x); 代码三:public class Test03 public static void main(String args) int x = 4, j = 0;switch (x) case 1:j+;case 2:j+;case 3:j+;case 4:j+;case 5:j+;default:j+;System.out.println
8、(j);代码四:public class Test04 public static void main(String args) int n = 9;while (n 6) System.out.println(n);n-;五、编程题请按照题目的要求编写程序并给出运行结果。1、请编写程序,实现计算“1+3+5+7+99”的值。 提示:1) 使用循环语句实现自然数199的遍历。2) 在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。2、已知函数 x + 3 ( x 0 ) y = 0 ( x = 0 ) x2 1 ( x 0 )请设计一个方法实现上面的函数,根据传入的值x
9、的不同,返回对应的y值。提示:1) 定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。2) 在方法中使用ifelse if.else 语句针对x的值进行三种情况的判断。3) 根据判断结果分别执行不同的表达式,并将结果赋予变量y。4) 在方法的最后返回y的值。5) 在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。1、 编写一个应用程序:分别定义double类型数组和char类型数组,分别实现数组元素的初始化,并用两种不同方式分别打印数组元素的值,数组的长度和数组的引用地址。2、 编写一个应用程序:计算1+2!+3!+4!+.的前
10、20项的和。3、 编写一个应用程序:计算100以内的全部素数。4、请按照以下要求设计一个学生类Student,并进行测试。要求如下:1)Student类中包含姓名、成绩两个属性2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。第3章 类与对象一、填空题1、 面向对象的三大特征是_、_和_。2、 在Java中,可以使用
11、关键字_来创建类的实例对象。3、 定义在类中的变量被称为_,定义在方法中的变量被称为_4、 面向对象程序设计的重点是_的设计,_是用来创建对象的模板。5、 在非静态成员方法中,可以使用关键字_访问类的其它非静态成员。6、 被static关键字修饰的成员变量被称为_,它可以被该类所有的实例对象共享。7、 在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为_。8、所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用_关键字来修饰。二、判断题1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。2、Java中的每个类都至少有一个构造方法,一个
12、类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。3、声明构造方法时,不能使用private关键字修饰。4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。5、方法内部类中不能访问外部类的成员变量。三、选择题1、类的定义必须包含在以下哪种符号之间?A、方括号 B、花括号 C、双引号“” D、圆括号()2、下面哪一个是正确的类的声明? A、 public void HH B、 public class Move() C、 public class void number D、 public class Car3、在以下什么情况下,构造方法会被调用?A、 类定
13、义时 B、 创建对象时 C、 调用对象方法时 D、 使用对象的变量时4、下面对于构造方法的描述,正确有哪些?(多选)A、方法名必须和类名相同B、方法名的前面没有返回值类型的声明C、在方法中不能使用return语句返回一个值D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在5、使用this调用类的构造方法,下面的说法正确的是?(多选) A、使用this调用构造方法的格式为this(参数1,参数2) B、只能在构造方法中使用this调用其它的构造方法C、使用this调用其它构造方法的语句必须放在第一行D、不能在一个类的两个构造方法中使用this互相调用6、下面哪些可以使用stati
14、c关键字修饰?(多选) A、 成员变量 B、局部变量 C、成员方法 D、成员内部类7、关于内部类,下面说法正确的是?(多选)A、成员内部类是外部类的一个成员,可以访问外部类的其它成员 B、外部类可以访问成员内部类的成员 C、方法内部类只能在其定义的当前方法中进行实例化 D、静态内部类中可以定义静态成员,也可以定义非静态成员8、请先阅读下面的代码public class Test public Test() System.out.println(构造方法一被调用了); public Test(int x) this(); System.out.println(构造方法二被调用了); public
15、 Test(boolean b) this(1); System.out.println(构造方法三被调用了); public static void main(String args) Test test = new Test(true);上面程序的运行结果为下列哪一项?A、构造方法一被调用了 B、构造方法二被调用了C、构造方法三被调用了 D、以上三个选项之和9、Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的? A、 Inner in = new Inner() B、Inner in = new Outer.Inne
16、r(); C、 Outer.Inner in = new Outer.Inner(); D、Outer.Inner in = new Outer().new Inner();四、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。代码一:class A private int secret = 5;public class Test1 public static void main(String args) A a = new A();System.out.println(a.secret+);代码二:public class Tes
17、t2 int x = 50;static int y =200 ;public static void method() System.out.println(x+y);public static void main(String args) Test2.method();代码三:public class Outer public String name=Outer;private class Inner String name=inner;void showName()System.out.println(name);public static void main(String args)
18、Inner inner = new Outer().new Inner();System.out.println(inner.name);五、编程题1、请按照以下要求设计一个学生类Student,并进行测试。要求如下:1)Student类中包含姓名、成绩两个属性2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值2、定义
19、一个Father和Child类,并进行测试。要求如下:1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。第4章 继承与接口一、填空题1、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为_。2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_,否则该类就必
20、须定义成_。3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_关键字。4、一个类可以从其它的类派生出来,派生出来的类称为_,用于派生的类称为_或者_。5、 JDK中定义了大量的异常类,这些类都是_类的子类或者间接子类。6、定义一个Java类时,如果前面加使用_关键字修饰,那么该类不可以被继承。7、如果子类想使用父类中的成员,可以通过关键字_引用父类的成员。8、在Java语言中,所有的类都直接或间接继承自_类。9、异常的捕获通常由try、catch两部分组成,_代码块用来存放可能发生异常,_代码块用来处理产生的异常。二、判断题1、抽象方法必须定义在抽象类中,所以抽象类中的方法都是抽
21、象方法。2、Java中被final关键字修饰的变量,不能被重新赋值。3、不存在继承关系的情况下,也可以实现方法重写。4、package声明语句应当为Java源文件中的第一条语句。5、接口中只能定义常量和抽象方法。三、选择题1、在类的继承关系中,需要遵循以下哪个继承原则?A、多重 B、单一 C、双重 D、不能继承2、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?A.tryB.catchC.throwsD.throw3、关于super关键字以下说法哪些是正确的?(多选)A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法 C、super与this不能同
22、时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中4、以下说法哪些是正确的?(多选)A、Java语言中允许一个类实现多个接口B、Java语言中不允许一个类继承多个类C、Java语言中允许一个类同时继承一个类并实现一个接口 D、Java语言中允许一个接口继承一个接口5、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?A、public B、 protected C、 private D、default6、关于抽象类的说法哪些是正确的?(多选)A、抽象类中可以有非抽象方法。B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。C、不能用抽象类去创建对象
23、。D、接口和抽象类是同一个概念。7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?A、inherits B、implements C、extends D、modifies8、System类位于以下哪个包中?A、java.io B、java.util C、java.awt D、java.lang9、已知类的继承关系如下: class Employee; class Manager extends Employeer; class Director extends Employee; 则以下语句能通过编译的有哪些?A、 Employee e=new Manager(); B、 D
24、irector d=new Manager(); C、 Director d=new Employee(); D、Manager m=new Director();10、编译运行下面的程序,结果是什么?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
25、、代码可以编译运行,但没有输出 D、编译没有错误,但会产生运行时异常四、分析题阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。代码一:public class Test01 public static void main(String args) try int x = 2 / 0;System.out.println(x); catch (Exception e) System.out.println(进入catch代码块); finally System.out.println(进入finally代码块);代码二:final clas
26、s Animal public final void shout() / 程序代码class Dog extends Animal public void shout() / 程序代码class Test02 public static void main(String args) Dog dog=new Dog();代码三:class Animal void shout() System.out.println(动物叫!);class Dog extends Animal void shout() super.shout();System.out.println(汪汪);public cla
27、ss Test03 public static void main(String args) Animal animal = new Dog();animal.shout();代码四:interface Animal void breathe(); void run();void eat();class Dog implements Animal public void breathe() System.out.println(Im breathing)public void eat() System.out.println(Im eathing)public class test04 pub
28、lic static void main(String args) Dog dog = new Dog(); dog.breathe(); dog.eat();五、简答题1、什么是方法重写?2、什么是多态?3、抽象类和接口的区别?六、编程题请按照题目的要求编写程序并给出运行结果。1、 设计一个学生类Student和它的一个子类Undergraduate,要求如下:1) Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息2) 本科生类Undergraduate增加一个degree(
29、学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息3) 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。2、设计一个Shape接口和它的两个实现类Square和Circle,要求如下:1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。第 32 页-