JAVA程序设计练习一、填空题1、目前Java运行平台主要分为下列3个版本是Java se ,Java ee ,Java me 。
2、SDK平台提供的Java编译器是javac.exe 和Java解释器java.exe 位于Java安装目录的bin 文件夹中。
3、Java运行环境JRE由Java虚拟机、Java的核心类以及一些支持文件组成。
4、一个Java应用程序必须有一个称为主类的类,该类含有public static void main (String args[ ])方法。
5、在源文件的命名中如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;6、一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,我们把这个类称作Java Applet源文件的主类。
7、类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
8、创建一个对象包括对象的声明和为对象分配成员变量两个步骤,对象的声明的一般格式为:类的名字对象名字;使用new运算符和类的构造方法为声明的对象分配成员变量9、用关键字static修饰的成员变量称作静态变量或类变量,类变量不仅可以通过某个对象访问也可以直接通过类名访问。
10、一个类中的方法可以互相调用:实例方法可以调用该类中实例方法或类方法;类方法只能调用该类的类方法,不能调用实例方法。
11、实例方法可以操作实例变量或类变量;而类方法只能操作类变量不能操作实例变量。
12、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象;this 关键字出现在类的实例方法中,代表使用该方法的当前对象。
13、成员变量在整个类内有效,局部变量仅在方法内有效,如果在方法内部局部变量的名字与成员变量的名字相同,则成员变量被隐藏,此时若要使用成员变量,格式为:this.成员变量。
14、java 小程序与java 应用程序之间的技术差别:运行环境。
java 应用程序是可以独立运行的java程序,由java解释器控制执行。
java 小程序不能独立运行,而是被嵌入到Web 页中,由支持java 的浏览器控制执行。
15、如果源文件中有多个类,则只能有一个Public类,源文件的名字与这个类名相同。
16、当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,如果子类的构造方法没有指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。
17、方法重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。
这时,如果子类想使用被隐藏的方法,必须使用关键字super。
18、一个方法被修饰为final方法,则这个方法不能被重写。
19、假设,B是A的子类或间接子类,写出创建上转型对象的语句为:A a=new B(); 。
20、abstract类不能用new运算符创建对象,必须产生其子类,由子类创建对象。
21、使用关键字interface来定义一个接口,使用关键字implements 声明自己实现一个或多个接口,接口中的方法被默认是public和abstract的。
22、接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法。
23、内部类是指在一个类中声明的类。
24、所谓异常就是程序运行时可能出现一些错误。
25、当程序运行出现异常时,Java运行环境就用异常类Exception的相应子类创建一个异常对象,并等待处理。
Java 使用try~catch语句来处理异常,将可能出现的异常操作放在try~catch语句的try部分,当try部分中的某个语句发生异常后,try部分将立刻结束执行,而转向执行相应的catch部分。
26、String类创建的字符串对象是不可修改的,StringBuffer类创建的字符串对象是可修改的字符串序列。
27、类体中所声明的变量被称作类的成员变量。
在方法体中声明的变量和方法的参数被称作局部变量。
28、变量的有效范围:成员变量在整个类内都有效,局部变量只在声明它的方法内有效。
29、如果类中没有编写构造方法,系统会默认该类只有一个构造方法,该默认的构造方法是无参数的,且方法体中没有语句。
30、一个java Applet 程序的主类必须是Public 类,且是Applet 类的子类。
31、如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。
32、私有成员只能在该类内部访问。
若需要在其他类中访问私有成员,只能通过方法实现。
33、当在另外一个类中用某类创建了一个对象后,如果这两个类在同一个包中,那么该对象能访问自己的友好变量和友好方法。
34、类的访问权限:只有public和缺省(友好)两种。
35、如果子类和父类在同一个包中,那么子类可以访问继承其父类中不是private 的成员变量;并且也可以访问继承父类中不是private的方法。
继承的成员变量以及方法的访问权限保持不变。
36、如果子类和父类不在同一个包中,那么子类只能访问继承父类的protected、public成员变量和方法,继承的成员或方法的访问权限不变。
37、子类可以隐藏继承的成员变量,当在子类中定义和父类中同名的成员变量时,子类就隐藏了继承的成员变量。
38、Super关键字有两种用法:一种用法是子类使用super调用父类的构造方法,另一种用法是子类使用super调用被子类隐藏的成员变量和方法。
39、子类是不能继承父类的构造方法的,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用super调用父类的构造方法。
而且super必须是子类构造方法中的第一条语句。
40、abstract类除了抽象方法之外,抽象类还可以包含具体数据和具体方法。
41、Java不支持多继承性,即一个类只能有一个父类。
但是一个类可以实现多个接口。
42、Java把由Component类的子类或间接子类创建的对象称为一个组件。
43、Java把由Container类的子类或间接子类创建的对象称为一个容器。
44、可以向容器添加组件。
Container类提供了一个public方法:add( ),一个容器可以调用这个方法将组件添加到该容器中。
45.javax.swing包中有四个最重要的类:JApplet、JFrame、JDialog和JComponent。
46.窗口(JFrame)、对话框(JDialog)、小应用程序(JApplet)可以和操作系统交互信息,轻组件必须在这些重量容器中绘制自己。
47.JFame窗体含有一个称为内容面板的容器,应当把组件添加到内容面板中,JFame窗体通过调用方法:getContentPane(),得到它的内容面板。
48.接口内绝不能含有实例域,也不能在接口中实现方法。
49、接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。
50、接口变量必须引用实现了接口的类对象:二、选择题1、有一个类A.对于其构造函数的声明正确的是( A )A)void A(int x){…….} B)A(int x){ }C)A A(int x){ } D)int A(int x){ }2、以下语句输出的结果是( A )。
string str=”123”;int x=4,y=5;str=str+ (x+y) ;System.out.println(str);A) 1239 B) 12345 C)产生编译错误D) 123+4+53、下列循环语句中,循环体被执行的次数为(C )for (int i=0, j=0; (j!=18)| |(i<4); i++);A)3 B)4 C)不确定D)184、下列函数定义中,哪条语句是非法的? ( B ) (语句编号在语句后的//处) void Test ( ){int I =100 //1object s= I ; //2 (没有object,只有Object)int p=s; //3int k=(int)s; //4}A) 1 B) 2 C) 3 D) 45、JAVA中执行下列语句整形变量x和y的值是多少?( D )int x=100;int y=++x;A) x=100 y=100 B) x=101 y=100C) x=100 y=101 D) x=101 y=1016、下面是在命令行运行Java应用程序java A the first snow。
怎样才能在main(String args[])方法中访问单词“firs”( C )。
A) args[0] B)args[1] C)args[2] D)args[3]7、以下语句输出的结果是( B )。
string str=“123”;int x=4,y=5;str=str+x+y;System.out.println(str);A) 1239 B) 12345 C)产生编译错误D)123+4+58、执行下列程序段后,b、x、y的值正确的是( D )。
int x=6,y=8;boolean b:b=x>y&&++x==--y;A) true,6,8 B)false,7,7 C) true, 7, 7 D)false,6,8,9、定义字符串s,String s=”Microsoft公司”。
执行语句char c=s.charAt(9);c的值为( C )A)s B)nullC)公 D)司10、设类B是类C的父类,下面声明对象x1的语句中不正确的是( D )A) B x1=new B(); B) B x1=new C();C) C x1=new C(); D) C x1=new B();12、下列循环语句的循环次数是(C )int i=5;do{System. out. Println (i--) ;i--;}while (i>0) ;A)2 B)1 C)3 D)无限13、下列函数定义中,哪条语句是非法的? ( C ) (语句编号在语句后的//处) class test{ int x;static int y;void f(){ x=1; //1y=1; //2}static void g(){ x=1; //3y=1; //4} }A) 1 B) 2 C) 3 D) 414、在下面修饰符所定义的方法中不能被子类所覆盖的是( A )A)final B)abstractC)static D)int15、现有两个类A,B以下描述中表示B继承自A的是( B )A)class A extends B B) class B extends AC)class B implement A D) class B extends A implement A三、读程序给出结果1、class ContinueSample{static void Main(){ int i, s = 0;for (i = 1; i < 10; i++){if (i % 2== 0)continue;s += i;}System.out.println(s);} }程序的运行结果为: 252、定义类如下:class A{ public int x,y,z;A(int i l,int i2,int i3){ x=il ; y=i2 ; z=i3 ; }public void show(){int sum=x+y+z ;System.out.println(“ sum=”+sum) ;}}若在应用程序的main方法中定义以下语句 : A al=new A(1,2,3) ;al.show() ;其输出结果为 sum=6 。