一、单选题
1.所有Java应用程序主类必须有一个名叫( )的方法。[ ]
A.method B.main() C.java() D.hello
2.编写并保存了一个Java程序文件之后,( )它。[ ]
A.解释后并编译 B.解释后并执行
C.编译后并重新保存 D.编译后并解释
3."++ "运算符的操作数个数是( )。[ ]
A.1个 B.2个 C.3个 D.4个
4.保存包含java语言源代码的文本文件使用的扩展名是( )。[ ]
A..java B..class C..txt D..src
5.下列哪一个不是方法访问权限( )。[ ]
A.general B.private C.friendly D.protected
6.下列对声明为double aMethod(char code)的方法的调用哪一个是正确的?[ ]
A.double aMethod(); B.double aMethod('v');
C.double aMethod(int 'm'); D.double Amethod('u');
7.下列哪个选项是合法的标识符?[ ]
A.123 B.1first C.class D._name
8.一个类的文件头必须包括( )。[ ]
A.一个访问权限 B.关键字class C.关键字static D.关键字public
9.下面代码的输出结果是( )。[ ]
b=1;
while(b<4)
{ system .out .println (b+" ");
b=b+1;
}
A.1 B.1 2 3
C.1 2 3 4 D.1 1 1 1 1
10.下面程序段的输出结果是( )。[ ]
for(m=0;m<4;++m)
for(n=0;n<2;++n);
system.out.print(m +" "+n +" ");
A.0 0 0 1 1 0 1 1 2 0 2 1 3 0 3 1 B.0 1 0 2 1 1 1 2 2 1 2 2
C.4 2 D.3 1
11.语句statement int [ ] value=new int [ 34 ];为( )个整数保留了存储空间。[ ]
A.0 B.33 C.34 D.35
12.( )是类创建的实例。[ ]
A.成员 B.数据 C.其他类 D.对象
13.当编写一个Java Applet时,要以( )为扩展名将其保存。[ ]
A..app B..html C..java D..class
14.Java应用程序和Java Applet有相似之处是因为它们都( )。[ ]
A.是用javac命令编译的 B.是用javac命令执行的
C.是用html文档中执行的 D.都拥有一个main方法
15.在Java里,创建继承的关键字是( )。[ ]
A.static B.enlarge C.extends D.inherits
16.使用相同的方法名来表示不同的实现被称作( )。[ ]
A.继承 B.多态性 C.不顺从 D.隐藏
17.Java语言的特点:( )。[ ]
A.面向对象、支持网络和解释型 B. 健壮、安全、平台无关
C. 多线程和动态 D. 以上选项都是
18.Java语言使用的字符码集是( )。[ ]
A. ASCII B. BCD C.DCB D.Unicode
19.对于一维数组a[10],下列对数组的引用正确的是( )。[ ]
A.a[10] B. a[0] C. a[3/1.0] D. a[3.4]
20.在程序读入字符文件时,能够以该文件为直接参数的类是( )。[ ]
A.FileReader B.BufferedReader
C.FileInputStream D.ObjectInputStream
21.Java.io包的File类是( )。[ ]
A.字符流类 B.字节流类 C.对象流类 D.非流类
22.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? [ ]
A.CardLayout B.FlowLayout C.BorderLayout D.GridLayout
布局管理器 | 描述 | 适用场景 |
---|---|---|
CardLayout | 允许在同一个容器中堆叠多个组件,每次只显示一个组件。 | 需要在不同状态下切换视图的场景,如向导、选项卡等。 |
FlowLayout | 按照从左到右、从上到下的顺序依次排列组件。 | 按照顺序排列组件的场景,如工具栏、标签列表等。 |
BorderLayout | 将容器划分为五个区域:北、南、东、西和中。中间区域占据剩余空间,其他区域大小可调整。 | 需要将组件放置在不同方位的场景,如主界面的顶部、底部等。 |
GridLayout | 将容器划分为行和列的网格,每个网格单元可以放置一个组件。 | 需要以网格状方式排列组件的场景,如表格、按钮阵列等。 |
23.在Java中,实现用户界面功能的包是( )。 [ ]
A.java.applet B.java.transaction C.java.util D.java.awt
24.Java程序中所有类的直接或间接父类是:( )。[ ]
A.System类 B. Object类 C. Math类 D. Thread类
25.标签和按钮都是( )。[ ]
A. 组件 B. 容器 C. Applet D. 成分
26.监听事件和处理事件( )。 [ ]
A.都由Listener完成 B.都由相应事件Listener处登记过的构件完成
C.由Listener和构件分别完成 D.由Listener和窗口分别完成
27.下列Java常见事件类中哪个是鼠标事件类? [ ]
A.InputEvent B.KeyEvent C.MouseEvent D.WindowEvent
28.在Java语言中,不允许使用指针体现出的Java特性是( )。[ ]
A.可移植 B.解释执行 C.健壮性 D.安全性
29.假设数组声明如下:int [ ] num=new int[ 4 ] ;下面的哪一条语句正确地把数组的四个元素都赋值为100? [ ]
A.for(x=0;x<3;++x)num[x]=100; B.for(x=0;x<4;++x)num[x]=100;
C.for(x=1;x<4;++x)num[x]=100; D.for(x=1;x<4;++x)num[x]=100;
30.下列代码段输出的结果是什么?[ ]
s=20
if(s>30)
System.out.println("AAA");
System.out.println("BBB");
A.AAA B.BBB C.AAA BBB D.什么也不显示
1.下列哪个选项是合法的标识符?[ ]
A.123 B._name C.class D.1first
2.下列的哪个赋值语句是正确的?[ ]
A.char a=12; B.int a=12.0;
C.int a=12.0f; D.int a=(int)12.0;
,- char a=12。编译器显示正确,但char 类型只能存储一个字符或者一个Unicode码值,不能直接赋值为整数。
3."++ "运算符的操作数个数是( )。[ ]
A.1个 B.2个 C.3个 D.4个
4.一个对象的属性也被称为它的( )。[ ]
A.状态 B.定位 C.方法 D.过程
5.接口的方法语法格式默认为以下哪种访问级( )。[ ]
A.private B. package C. public D. protected
6.必须把Java语言编写的程序编译成( )。[ ]
A.字节代码 B.源代码 C.Javadoc语句 D.对象代码
7.所有Java语言语句必须以( )结尾。[ ]
A.句号 B.逗号 C.分号 D."} "
8.在Java平台的术语中,执行某个任务的一系列语句是( )。[ ]
A.过程 B.方法 C.子过程 D.函数
9.一个静态公共方法名为sum()在类A中,从类B中调用该方法,应用语句( )。[ ]
A.sum (B); B.B (sum ()); C.A.sum (); D.不能从B中调用sum();
10.如果方法接收一个整型参数,则下列哪个方法声明对名为displayFacts() 的方法是正确的? [ ]
A.public void int displayFact() B.public void displayFacts (int)
C.public void displayFacts(int data) D.public void displayFacte()
11.每个对象都是一个通用( )的一个成员或实例。[ ]
A.类 B.程序 C.方法 D.过程
12.定义一个类可以使用下列哪种访问权限? [ ]
A.open B.static C.abstract D.concrete
"static" 是用于定义静态成员的关键字,而不是用于定义类的访问权限。
13.假设变量q的值是3,下列那一个语句打印XXX?[ ]
A.if(q!=3) System.out.println("XXX"); B.if(q=3) System.out.println("XXX");
C.if(q==3) System.out.println("XXX"); D.都不打印XXX
B 选项按C语言来说是对的,ButJava中它是错的。
14.在if语句中嵌入if语句时,例如if(a>b)if(c>d)x=0;那么( )。[ ]
A.a>b和c>d都必须为true时,x的值才设为0
B.要么a>b要么c>d都必须为true,x的值才设为0
C.a>b和c>d都必须为false时,x的值才设为0
D.没有条件使x的值为0
15.下面程序段的输出结果是( )。[ ]
for(f=0;f<3;++f)
for(g=0;g<2;++g)
System.out.print(f +" "+g +" ");
A.0 0 0 1 1 0 1 1 2 0 2 1 B.0 1 0 2 0 3 1 1 1 2 1 3
C.0 1 0 2 1 1 1 2 D.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
16.为一个数组分配存储空间是 ( )。[ ]
A.声明数组名字 B.使用关键字new
C. 使用关键字men D.在数组元素里明确的存储值
17.假如char []responses={Y,y,N,n};,如果字符变量userentry的值在responses列表里,那么下面哪条语句测试userentry并设置布尔变量goodchoice为true? [ ]
A.for(x=0;x<4;++x)
if(userentry=responses)goodchoice= =true;
B.for(x=0;x<4;++x)
if(userentry[x]=goodresponses)goodchoice=true
C.for(x=0;x<4;++x)
if(userentry=goodresponses[x])goodchoice= =true;
D.for(x=0;x<4;++x)
if(userentry= =goodresponses[x])goodchoice=true;
18.标签和按钮都是( )。[ ]
A. 组件 B. 容器 C. Applet D. 成分
19.如果父类与子类有相同的方法名但有不同的参数列表时,可以( )。[ ]
A.重载方法 B.覆盖一个方法
C.创建一个错误提示信息 D.违反了面向对象程序设计的规则
20.关键字( )总是指使用的类的父类。
A. parent B. base C. super D. superclass
21.当编写一个Java Applet时,要以( )为扩展名将其保存。[ ]
A..app B..html C..java D..class
22.( )下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问? [ ]
A.private B.无修饰符 C.public D.protected
在Java中,成员变量的访问权限可以通过访问修饰符来控制。以下是常见的访问修饰符:
public | 可以被任何类访问。 |
private | 只能被声明该成员的类访问。 |
protected | 只能被同一包中的类访问,或者被不同包中的子类访问。 |
默认(package-private) | 没有修饰符,只能被同一包中的类访问。 |
23.下列InputStream类中哪个方法可以用于关闭流?[ ]
A.skip() B.close() C.mark() D.reset()
24.下面哪个String方法进行了两个String对象的比较,比较的时候区分大小写并且将其结果用布尔类型的真值或者假值表示出来( ) [ ]
A.compareTo() B.equalsIgnoreCase()
C.campareToIgnoreCase() D.equals()
25.下列关于Frame类的说法不正确的是( )。 [ ]
A.Frame是Window类的直接子类 B.Frame对象显示的效果是一个窗口
C.Frame被默认初始化为可见 D.Frame的默认布局管理器为BorderLayout
26.在Java中,实现用户界面功能的包是( )。 [ ]
A.java.applet B.java.transaction C.java.util D.java.awt
27.Java.io包的File类是( )。 [ ]
A.字符流类 B.字节流类 C.对象流类 D.非流类
28.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点? [ ]
A.安全性 B.多线性 C.跨平台 D.可移植
29.如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?[ ]
A.BoxLayout B.GridLayout C.BorderLayout D.FlowLouLayout
30.下列关于变量的描述中,不正确的一项是( ) [ ]
A.实例变量的作用域是整个类 B.局部变量必须加初始化
C.类变量能在方法中声明 D.类变量的作用域是整个类
1.保存包含java语言源代码的文本文件使用的扩展名是( )。[ ]
A..java B..class C..txt D..src
2.在Java语言中,不允许使用指针体现出的Java特性是( )。[ ]
A.可移植 B.解释执行 C.健壮性 D.安全性
3.下列元素中哪一个不是在变量声明中所要求的? [ ]
A.类型 B.标识符 C.赋值 D.分号
4.java程序语言中的赋值运算符是( )。[ ]
A.= B.== C.:= D.::
5.下列中哪一个不是java中的简单数据类型? [ ]
A.布尔型 B.字节型 C.整型 D.扇区
6.方法的参数总是出现在( )里。[ ]
A.括号 B.双引号 C.单引号 D.花括号
7.下列数据类型中哪一个存储值占用的存储空间最少? [ ]
A.短整型 B.长整型 C.整型 D.字节型
8.定义一个类可以使用下列哪种访问权限?[ ]
A.open B.static C.abstract D.concrete
9.声明为public int aMethod(double d)的方法的类型为( ) 。[ ]
A.整型 B.双精度 C.空 D.不能决定的类型
10.名叫max()需要的两个整型参数的方法应声明为( )。[ ]
A.public void max() B.public void max(int a,b)
C.public void max(int a,int b) D.public void max(a,b)
11.允许只能通过类自己的方法改变类的私有数据的概念称为( )。[ ]
A.结构化逻辑 B.面向对象 C.信息隐藏 D.数据掩饰
12.如果类名为student(),那么类的构造方法的名字是( )。[ ]
A.任何合法的Java标识符 B.studentConstructor
C.student D.用s开始的任何合法的Java标识符
13.假设变量r的值为8,下列哪一个打印ZZZ?[ ]
A.if(r>1)System.out.println("YYY")
else System.out.println("ZZZ")
B.if(r<1)System.out.println("YYY")
else System.out.println("ZZZ")
C.if(r!=1)System.out.println("YYY")
else System.out.println("ZZZ")
D.所有都打印ZZZ
14.假设变量k的初始值是12,下列哪个语句可以设置m为0?[ ]
A.if(k>3&&k>6)m=0 B.if(k<3&&k<20)m=0
C.if(k>3&&k<0)m=0 D.所有的语句都可以设置m为0
15.提示用户输入的值必须在1到4之间,正确 的if语句是( )。[ ]
A.if(ans >='1'||ans<='4') System.out,println("goodresponse ");
B.if(ans>='1'&&ans<='4') System,out.println("good response");
C.两个语句都正确
D.两个语句都不正确
16.语句for (a=0; a<5; ++a) System.out.println (a+" ");打印的是( )。[ ]
A.0 0 0 0 0 B.0 1 2 3 4
C.0 1 2 3 4 5 D.什么也没有
17.下列语句打印的是( )。[ ]
for(f=1,g=4;f<g ;++f,--g)
System.out.print(f+" "+g +" ");
A.1 4 2 3 3 2 B.1 4 2 3
C.1 4 2 5 3 6 …… D.什么也没有
18.如果声明数组为int [ ]num=new int[6] ,则数组的最后一个元素是( )。[ ]
A.num [ 5 ] B.num [6 ] C.num [ 7 ] D.不存在
19.在HTML文档中调用使用CODE的任何Applet的名字要以( )为扩展名。[ ]
A..exe B..code C..java D..class
20.当用户( )时,destroy( )方法被调用。[ ]
A.关闭浏览器或AppletViewer窗口 B.最小化AppletViewer窗口
C.离开页面 D.退出计算机
21.下列Java常见事件类中哪个是鼠标事件类? [ ]
A.InputEvent B.KeyEvent C.WindowEvent D.MouseEvent
22.( )下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问? [ ]
A.private B.protected C.public D.无修饰符
23.下列InputStream类中哪个方法可以用于关闭流?[ ]
A.skip() B.close() C.mark() D.reset()
24.( )可作为所有窗体和对话框的顶层窗体使用。[ ]
A. JPanel B. JFrame C. JComponent D. JMenuBar
25.下列关于Frame类的说法不正确的是( )。 [ ]
A.Frame是Window类的直接子类 B.Frame被默认初始化为可见
C.Frame对象显示的效果是一个窗口 D.Frame的默认布局管理器为BorderLayout
26.在Java中,实现用户界面功能的包是( )。 [ ]
A.java.applet B.java.transaction C.java.util D.java.awt
27.Java.io包的File类是( )。 [ ]
A.字符流类 B.字节流类 C.对象流类 D.非流类
28.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点? [ ]
A.安全性 B.多线性 C.跨平台 D.可移植
29.如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?[ ]
A.BoxLayout B.FlowLouLayout C.BorderLayout D.GridLayout
30.假设定义:String s = "Example"; 请问如下代码哪一个是正确的:( ) [ ]
A.s>=3 ; B. s<=2 ;
C. int i=s.length ; D. String t = "For " + s ;
二、判断题
( × ) 1.default在switch选择结构中是必须的。( x )break在switch选择结构中是必须的。
在Java的switch选择结构中,break语句用于终止当前的case并跳出switch语句块。它可以防止代码继续执行其他case分支。但是,break语句并不是必须的,具体取决于需要实现的逻辑。default语句:switch语句首先会找满足条件的case值做为执行后面的程序入口,若所有的case都不满足,则找default入口,若未找到则退出整个语句;default只是一个备用入口,有没有都无所谓。如果在某个case分支中使用了break语句,则在执行完该case分支后会跳出switch语句块,不会继续执行其他case分支。这是最常见的用法,可以避免现"case穿透"现象。
但有时候我们可能会有意让代码继续执行下一个case分支,这时就可以不使用break语句。这种情况下,程序会继续执行下一个case分支,直到遇到break语句或者switch语句块结束。
break语句在switch选择结构中并不是必须的,取决于实际需要控制代码流程的逻辑。
( × ) 2.下面的代码打印值1到10
n=1;
while(n<10)
System.out.println(n++);
( × )下面的代码打印值1到10
n=1;
while(n<10)
System.out.println(++n);
( √ ) 3.在java的一个源程序文件中最多只允许有一个public类。
解释:
在Java中,每个源程序文件都可以包含多个类,但只能有一个类被声明为public。这个public类的类名必须与文件名相同,并且一个Java程序的入口点(例如,包含main方法的类)通常被声明为public类。
其他非public类可以在同一个源程序文件中存在,但它们的访问权限将受到限制,只能在同一个包中被访问。
这个规则的目的是为了保持Java程序的结构清晰和可维护性,每个源程序文件都有一个清晰的入口点,并且只有特定的类对外可见。
( × ) 4.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p;是正确的。
( √ )4.如果p是父类Parent的对象,而c是子类Child的对象,则语句“p = c;”是正确的。
在Java中,父类的对象不能直接赋值给子类的对象。这是因为子类对象具有父类对象的所有特性和行为,但是父类对象不具备子类对象特有的属性和方法。
正确的赋值应该是将子类对象赋值给父类对象,即可以使用父类引用来引用子类对象,如
p=c;
( √ ) 5.一个类可以生成多个对象,并且这些对象必须具有相同的属性。
( √ ) 6.构造方法也可以重载。
( √ )7、String abc[ ];是合法的Java语句。
( √ )8、在Java语言里,do-while语句是先执行循环体,然后再判断的循环条件。
( √ )9、抽象类不能创建实例。
( √)10、Java源程序在转换为机器语言执行过程中既有编译也有解释。
( √ )11.Java语言采用一个字节表示一个字符。
( √ )12.String是永久类,一旦创建String类的对象,该对象是不可修改的。
Java中,String类是不可变的(immutable)类,这意味着一旦创建了String对象,它的值就不能被修改。
当你对String对象执行字符串操作(例如拼接、替换等),实际上是创建了一个新的String对象,而原始的String对象保持不变。这是因为String类内部使用了字符数组来存储字符串的值,并且该字符数组是被声明为final的,不可更改。
例如,对于以下代码片段
String str = "Hello"; str = str + " World";
在执行
str = str + " World";
这行代码时,实际上创建了一个新的String对象来保存 "Hello World" 的值,并将新的String对象赋给变量str。原始的 "Hello" 字符串对象仍然存在,但是没有被修改。这种不可变性使得String类在多线程环境下是线程安全的,也方便进行字符串的共享和缓存,同时提高了性能。
( × ) 13.java语言中不用区分字母的大写小写。
( × )14.数组允许存放不同类型的定长元素。
( × ) 15.Java中的类的继承支持多继承的。( × ) 在Java里,允许多重继承。
Java不支持多继承,而是支持多重继承的一种形式。
多重继承是指一个类可以同时继承多个父类,即一个子类可以有多个直接父类。这在某些编程语言中是允许的,但在Java中是不被支持的。Java中的类只能继承一个直接父类,这是为了避免多继承可能引发的冲突和复杂性问题。
Java使用接口(interface)来实现类似于多继承的概念,即一个类可以实现多个接口。一个类可以实现多个接口,从而获得多个接口定义的方法。这种机制允许类在实现不同的接口时具备不同的行为和功能。
接口提供了一种灵活而安全的方式来实现多重继承的特性,通过接口的实现,类可以拥有多个不同的行为,同时避免了多继承可能带来的冲突和复杂性。
Java中的区别是不支持多继承,但支持多重继承的一种形式,即通过实现多个接口来实现类似多继承的效果。
( √ ) 16.while(1){}将出现编译错误。
在java中不行,C语言中的1可以当做boolean类型,而java中的1只能是数值型;
三、简答题
46.怎样区分Java应用程序和小应用程序?
答:Java应用程序源文件经过编译生成字节码文件,然后直接在Java虚拟机中解释执行,必须包含一个main方法;Java小应用程序必须继承系统提供的Applet类,源文件经过编译生成字节码文件,再编写相应的html文件,在html文件嵌入字节码文件,由Web浏览器来解释执行。 可以用 main和extends来区分Java应用程序和小应用程序。
47.类变量与实例变量有何区别?
答:类变量是用关键字static修饰的变量,而实例变量不用关键字static修饰。程序定义的每个对象都有自己的实例变量,而类变量是类所有对象共享的成员变量。不同对象的实例变量将被分配不同的内存空间,改变类的某一个对象的实例变量值不会影响其他对象的实例变量。类变量的内存只有一处,让类的所有对象共享。从类的任一对象改变类变量,类的其他对象都能发现这个改变。
48.简述进程和线程的基本概念以及它们的区别。
答:方法重载是指在同一个类中,两个方法具有相同名称、不同的的参数,即或者是参数的个数不同,或者是参数的类型不同。方法覆盖是指在子类对父类中已定义方法的方法体重新加以实现。
49.Java有哪些基本的数据类型?
(1)整型:基本型int、字节型byte、短整型short和长整形long
(2)浮点型:单精度float和双精度double
(3)字符型char
(4)逻辑型boolean
50.类方法与实例方法有何区别?
类方法是用关键字static修饰的方法,而实例方法不用关键字static修饰。类中的实例方法可以互相调用,并可调用类方法。类方法也能互相调用,但不能直接调用实例方法。实例方法可以引用实例变量也可以引用类变量,类方法可以引用类变量,不能引用实例变量。实例方法只能通过对象名调用,类方法对象名和类名都可以调用。
51.awt和swing是什么关系?
它们都是提供构造图形界面元素的类。AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。 Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的,是AWT的改良版,不是代替AWT。AWT依赖于主平台绘制用户界面组件;而Swing有自己的机制,在主平台提供的窗口中绘制和管理界面组件。
52.简述开发与运行Java程序的主要步骤?
(1)编写源程序,并保存为扩展名为.java的文件。
(2)经过Java编译器把源代码编译为字节码文件,即扩展名为.class的文件。
(3)如果是应用程序,由Java解释器执行;如果是小程序,由Web浏览器来解释执行。
53.简述字节流与字符流的区别。
字节流用于读写二进制数据。字节流数据是8位的,由InputStream类和OutputStream类为字节流提供API和部分实现。字节流读和写操作由FileInputStream类和FileOutputStream类提供支持。它们分别是InputStream类和OutputStream类的子类。
字符流用于读写16位的Unicode字符,由Reader类和Writer类为字符流提供API和部分实现。字符流读和写操作由FileReader类和FileWriter类提供支持。它们分别是Reader类和Writer类的子类。
48.请简要说明抽象类和接口的区别。
abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的
四、写出下面程序执行的结果
49.本小题一共有三个类,类名分别为demo1、demo2和Exam49,编译这三个类都没问题,最后执行类名为Exam49对应的字节码文件。请写出执行的结果。
class Demo1
{ int x;
Demo1 (int a) {x=a;}
void method() {System.out.println("我是demo1类的方法!值是"+x);}
int getX() {return x;}
}
class Demo2 extends Demo1
{ double x;
Demo2(int m,double n) {super(m); x=n;}
void method()
{
double d2X=x;
int d1X =super.getX();
super.method();
System.out.println("我是类demo2的方法!值是"+x);
System.out.println("我获得的信息是:"+" d1X ="+ d1X +", d2X ="+ d2X);
}
}
public class Exam49
{ public static void main(String []args)
{ Demo2 obj=new Demo2(3,4.0);
obj.method();
}
}
答案:我是demo1类的方法!值是3
我是类demo2的方法!值是4.0
我获得的信息是:d1X=3,d2X=4.0
50.本小题有一个类,类名为Exam50,编译这个类没问题,最后执行该类对应的字节码文件。请写出执行的结果。
public class Exam50
{
public static void main(String args[ ])
{
int sum = 0 ;
int []a={10,20,30,40,50,60,70,80}
for(int i = 0;i<a.length;i++)
if(i%2= =0 )
{
s += a[i];
System.out.print (a[i] +" ");
}
System.out.println();
System.out.println("sum= "+sum);
}
}
答案:10 30 50 70
Sum=160
49.本小题一共有三个类,类名分别为Aparentclass、Achildclass和Exam49,编译这三个类都没问题,最后执行类名为Exam49对应的字节码文件。请写出执行的结果。
class Aparentclass
{
private int aVal;
public void printclassName()
{ System.out.println("Aprarentclass");}
}
class Achildclass extends Aparentclass
{
public void printclassName()
{
System.out.println("I am Achildclass");
System.out.println("My parent is");
super.printclassName();
}
}
public class Exam49
{
public static void main(String []args)
{
Achildclass child=new Achildclass();
child.printclassName();
}
}
答案:I am Achildclass
My parent is
Aprarentclass
五、程序编程题
54.编写一个Java应用程序,输出200到300间之间能同时被3和5整除的数,每行输出5个数。
答案:public class Exam54
{
public static void main(String []args)
{
int i,j=0;
for(i=200;i<=300;i++)
{
if(i%3==0&&i5==0)
{
System.out.print(i+" ");
j++;
}
if(j%5==0)
System.out.println();
}
}
}
55.编写一个Java应用程序,从键盘输入某职工的工资总额(G),计算该职工应交纳的个人收入所得税。计税办法是:当G<=800元时,免交个人所得税;800<G<=1500元时,按2%的税率纳税;1500<G<3000元时,按5%的税率纳税;3000<G<=5000元时,按8%的税率纳税;G>5000元时,按10%的税率纳税。
答案:import javax.swing.*;
public class Exam55
{
public static void main(String []args)
{
long m,G;
float sum;
String result=(String)JOptionPane.showInputDialog(null," 工资总额","输入对话框",JOptionPane.PLAIN_MESSAGE,null,null,null);
m=Integer.parseInt(result);
if(G<=800) sum=0;
else if(G>800&&G<=1500) sum=G*0.02;
else if(G>1500&&G<=3000) sum=G*0.05;
else if(G>3000&&G<=5000) sum=G*0.08;
else sum=G*0.1
System.out.println("sum="+sum);
}
}
55.编写一个Java应用程序,求100~200之间的素数,每行输出5个素数。
public class Exam55
{
public static void main(String []args)
{
int i,j,count=1;
for(i=100;i<=200;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)
break;
if(j>i/2)
{
System.out.print(" "+i);
count++;
}
if(count%6==0)
{
System.out.println();
count=1;
}
}
}
}
55.水仙花是一个n(n>=3)位数字的数,它等于每个数字的n次幂之和。例如,153=13+53+33。编写一个Java应用程序,求小于999的所有水仙花数。
答案:public class Exam54
{
public static void main(String []args)
{
int i,b,s,g,sum;
for(i=100;i<=999;i++)
{
b=i/100;
s=i%100/10;
g=i%10;
sum=b*b*b+s*s*s+g*g*g;
if(i==sum)
System.out.print(" "+i);
}
}
}