JAVA复习题
更新时间:2024-06-04 10:24:01 阅读量: 综合文库 文档下载
- java复制文件推荐度:
- 相关推荐
1。面向对象程序设计的主导思想是什么?
面向对象程序设计围绕现实世界的概念来组织模块,采用对象来描述问题空间的实体,用程序代码模拟现实世界中真实或抽象对象,使程序设计过程更自然、更直观。
2。什么是抽象?OOP如何实现抽象?
抽象就是提取一类事物的共同特征,方便用JAVA语言来定义类。 3。使用抽象和封装有那些好处? 抽象的好处:抽象就是忽略一个主题中与当前目标无关的那些方面,以便充分的注意与当前目标有关的方面,提高代码的复用性和安全性。 封装的好处:通过封装可以控制程序的某个部分所能访问类的成员,防治对象的滥用,从而保护对象中数据的完整性。 4。如何定义方法?OPP中方法有什么作用?
一个方法包括五个部分。1、访问权限(public),2.返回类型(topic)3.方法名(findtopic)4.参数(int topicld)5.方法体
OOP的作用:它将对象作为程序的基本单元,将程序和数据封装集中,以提高软件的重用性、灵活性和扩展性。
5。什么是访问控制符?有哪些控制符?
访问控制符用来修饰JAVA中类、以及类的方法和变量的访问控制属性。 访问控制符分为私有访问控制符(private)、公有访问控制符(public)、保护访问控制符(protected)及缺省访问控制符。 6。什么是继承?继承的特性会给OOP带来好处? 继承:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
继承的特性允许oop在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。就是说用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。 7。什么是接口?如何定义接口?
接口是由常量和抽象方法组成的特殊类。接口定义是由关键字interface引导,分为接口的声明和接口体。其中,interface声明接口名,在接口体中定义常量和方法。在接口体中只进行方法的声明,不能进行方法的实现。具体定义与法如下:
【public】interface接口名【extends父接口名列表】{ 【public】[static][final]域类型 域名=常量值; [public][abstract][native] 返回值 方法名(参数列表)[throw异常列表];} 8。向量和数组有何不同,它们分别适用什么场合?
区别:向量是动态数组,可以存放集合和对象,元素多是可以自动增加容量;数组只能存放指定类型的数据,不能自动调整大小。
数组适用的场合:1.所需处理的对象数目固定,或大致可以确定,尽管有些对象经常发生变化。2.所需处理的是简单数据类型。
向量适用的场合:1.如果需要频繁的进行对象的插入和删除工作,或者因为需要处理的对象数目不定。2.列表成员都是对象,或者可以用对象方便的表示。3.需要很快确定类表内是否存在某一特定对象,并且希望很快了解到对象的存放位置。
9。什么是字符串,java字符串分为那两类?
字符串就是一个或多个字符的序列。Java语法定义了string和stringbuffer两个类。
10。Java创建数组有哪些步骤?
首先,声明类型。其次,实例化时要声明数组的大小。 11。什么是递归方法?递归有哪两个基本要素?
递归方法是直接或间接地调用自身的一种算法,也就是编程设计中的数学归纳法。
边界条件和递归方程是递归的两个要素
12。简述图形界面的构成成分以及他们各自的作用。
图形界面的构成成分一般分为三类:.容器,控制组件及用户自定义成分。 容器的作用:容器中可以包含其他的许多界面成分和元素,容器可以按一定的规则来安排它所包含的元素。
控制组件的作用:完成与用户的一次交互,包括接受用户的一个命令,接收用户的一个文本输入,向用户显示一段文本和一个图形。 用户自定义的作用:不能像标准界面元素一样被系统识别和承认,只能起到装饰,美化等作用,而不影响用户的动作,不具有交互作用。 13。Java程序的菜单有哪两种方式,简述实现步骤。 Java程序的菜单分为JMenu和JMenuBar。
菜单的步骤:1.首先建立菜单(JMenu)、菜单子项(JMenuItem)、菜单条(JMenuBar)。2.然后将菜单子项加入到菜单中,最后将菜单加入到菜单条中。3.使用setJMenuBar()方法将菜单条加入到窗口中。 14。Java语言有哪些主要特点。
Java语言最主要的语言特点就是“write once,run anywhere”,也就是1.简单性;2.面向对象;3.体系结构中立、可移植;4.鲁棒性;5.安全性;6.高性能;7. 动态性
15。Java程序中使用的类分为哪两种。分别解释之。
Java程序中使用的类分为:系统定义的类和用户自己定义的类。其中,系统定义的类,即java类库,是系统定义好的类;用户自己定义的类一般格式如下:class类名{数据成员 成员方法} 16。Java Applet的特点有哪些?
Java Applet没有自己的程序入口,不能独立运行。它是一中嵌入到HTML文件中执行的JAVA程序。它可以再浏览器中运行,也可以使用J2SDK提供的appletviewer命令运行。
17。简述java虚拟机的概念和实现方法。
概念:JAVA虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现,是运行所有JAVA程序的抽象计算机,是JAVA语言的运行环境,他是JAVA最具吸引力的特性之一。
实现方法:JAVA虚拟机是可运行JAVA代码的假想计算机,只要根据JVM规格描述将解释器一直到特定的计算机上,就能保证经过编译的任何JAVA代码能够在该系统上运行。
18。Java的系统类—Object类有什么特殊之处
在java中,object类是所有类的根,object类定义在java.lang包中,是所有类的基类,即java中的任何类都是object类的派生类。Object类也是所有java类的祖先,在这个类中定义了所有的java对象都具有的相同行为。
19。简述Applet的基本工作原理。
编译好的字节码文件保存在WWW服务器上,同一个或另一个服务器上保存着嵌入了该字节码文件的HTML文件。当某一个浏览器向服务器请求下载嵌入了APPLET的HTML文件时,该文件从服务器上下载到客户端游浏览器解释HTML,当遇到,表明它嵌有一个APPLTE,浏览器会根据这个APPLET的名字和位置自动把字节码从服务器上下载到本地,并利用浏览器本身拥有的JAVA解释器执行字节码。
20。简述Java语言的特点和适用应用方向?
Java语言最主要的语言特点就是“write once,run anywhere”,也就是1.简单性;2.面向对象;3.体系结构中立、可移植;4.鲁棒性;5.安全性;6.高性能;7. 动态性
适用应用方向:解决传统的程序设计问题,更主要是与互联网密切相关,适合于网络化环境下编程。
21. 请描述 AWT事件模型。
AWT事件模型又称为委托模型,在新的事件处理模型中,事件由事件源产生,一个事件源上可以注册一个或多个接听器,它们可以响应特定的事件,新的事件处理模型不仅可以处理事件,还可以生成事件。 22. 在 Java中,怎样创建一个线程?
创建线程有两个方法。1.继承thread类(继承thread类创建线程的方法,在继承了thread类后,不能在继承其他的方法。)2.实现runnable接口(使用实现runnable接口来创建线程可以达到资源共享)。 二。填空题 1。Java字符采用Unicode编码方案。其特点是______________、______________ 等。
2。先将总的求解任务划分成若干子任务、为每个子任务设计一个子程序和若子任务复杂将子任务继续分解是结构化程序设计的基本流程。 3。java程序用final修饰符来定义最终类。
4。编程开始应用_______________命令将用到的系统包或类装载到内存。
5。Java是一种__________________执行的语言。由java编译器对源文件执行经编译生成扩展名为.class的字节码文件。 6。实体是可相互区别事物的物理存在。类是同类型实体的对象的相同对象的抽象描述。
7。OOA解释为面向对象分析方法,OOD解释为面向对象设计,OOP解释为面向对象的程序设计。
8。对象的属性包括静态属性和动态属性_。
9。对象的静态属性表示对象的数据特征,称为对象的属性。 10。对象的动态属性表示对象的行为或对象所具有的功能,也成为对象的_服务。 11。对象间的三种基本关系是包含、继承和关联。
12。Java Applet的特点是嵌在HTML网页中的非独立程序,由web浏览器内部包含的java
解释器解释执行、Java Application的特点是JAVA应用程序是完整的,需要独立的解释器来解释执行。
13。面向对象程序设计的三大主要优点是使程序设计过程更直观、更自然、数据具有更强的稳定性_、模拟了对象之间的通信。
14。HTTP的含义是超文本传输协议,HTML的含义是文本标记语言。
15。Java的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符等。 16。Public static void main(String args[])的作用为定义main( )方法。 17。String s=br.readLine()的作用是______________________________________。
18。Value a=Integer.parseInt(String s)的作用是____________________________________。 19。Btn1=new Button(“计算“)的作用是_______________________________________。
20。关键字this的意义和作用是引用当前对象的数据成员或数据方法_,super的意义和作用是引用当前对象的直接类。 21。Java通过覆盖和重载来实现多态。
22。Java通过源程序中的接口和类来创建包。SET CLASSPATH=C:\\的作用是添加环境变量classpath的路径。 23 System.exit()的作用是_________________________。Destroy()方法的作用是_________________。
24.队列是带链的线性数据结构。
25. g.drawString(“再见”,100,200)的含义和作用是_________________________________________。
26、开发与运行Java程序需要经过的三个主要步骤为编写JAVA源程序、编译JAVA源程序和运行JAVA程序。
27、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是applet类的子类并且存储该源程序文件的文件名为My Applet.java_。
28、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2__字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
29、设 x = 2 ,则表达式 ( x + + )/3 的值是1。
30、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为1和0
31、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
32、创建一个名为 MyPackage 的包的语句是pack MyPackage,该语句应该放在程序的位置为:首句。
33、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
34. Java 中类成员的限定词有以下几种: protected, private,public、缺省的 。其中, public 的限定范围最大。
35. Java 中所有类都是类Object 的子类。
36 . 请填出在 java.lang 包中与下列基本数据类型相对应的封装类: float : java.lang.Float, int : ________________ 。 37. Java 异常机制中用到的关键字,他们的含义是什么: Try 含义:调用了一个或多个可能产生异常的方法 , Catch 含义: 用来处理try块内生成的异常事件,
Finally 含义:为try块内的程序提供一个统一的出口 ,
Throw 含义: 明确的抛出一个异常,
Throws 含义:抛出IOException通知编译器 。 三。 选择题
1。 面向对象程序设计的主要优点有______________。
A. 编译执行 B .可重用性 C.安全稳定 D.可扩展性 E.简单易学 2。欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?( A)
A ArrayList myList=new Object(); B List myList=new ArrayList(); C ArrayList myList=new List(); D List myList=new List(); 3。paint()方法使用哪种类型的参数?(A)
A Graphics B Graphics2D C String D Color 4。.指出正确的表达式 (B)
A byte=128; B Boolean=null; C long l=0xfffL; D double=0.9239d; 5.指出下列程序运行的结果 (D) public class Example{
String str=new String(\ char[]ch={'a','b','c'};
public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);
System.out.print(ex.str+\ Sytem.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ ch[0]='g'; } }
A good and abc B good and gbc C test ok and abc D test ok and gbc
6.运行下列程序, 会产生什么结果(D)
public class X extends Thread implements Runable{ public void run(){
System.out.println(\ }
public static void main(String args[]) {
Thread t=new Thread(new X()); t.start(); }
A 第一行会产生编译错误 B 第六行会产生编译错误 C 第六行会产生运行错误 D 程序会运行和启动 7.给出下面代码,那个语句是正确的?(C) public class Person{
static int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]); } }
A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D 输出空。
8.下列代码哪几行会出错:(C) 1) public void modify() { 2) int I, j, k; 3) I = 100;
4) while ( I > 0 ) { 5) j = I * 2;
6) System.out.println (\7) k = k + 1; 8) I--; 9) } 10) }
A line 4 B line 6 C line 7 D line 8 9. 请你选择下列对 Java 语言的正确描述。 (A) (A) Java 是面向对象的程序设计语言。 (B) Java 是面向过程的程序设计语言。 (C) Java 是脚本语言。 (D) Java 是机器语言。
10. 在 Java 语言中,下列哪个变量名是 不正确 的 .(B) (A)studentNo (B) 67num
(C) $money (D) _postCode
11. 下列哪个 不是 面向对象的三大特性之一:(D) (A)封装性 (C) 继承性 (B)多态性 (D)重载
12. 关于抽象类下列哪个描述正确? (C)
(A) 抽象类不能包含抽象方法。 (B) 接口和抽象类是一回事。 (C )抽象类不能实例化,即不能生成对象。 (D) 抽象类可以实例化对象。
13. 如果你要做 GUI 编程,要在窗口上放置一个按钮,当点击按钮时使得窗口关闭,程序退出,则你应该怎样写 import 语句才正确? (A)
(A) import java.awt.*; (B) import java.awt.event.*; (C ) import javax.swing.*;
(D) import java.awt.*; import java.awt.event.*; 14 、关于被私有保护访问控制符 private protected 修饰的成员变量,以下说法正确的是(C )
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B. 可以被两种类访问和引用:该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问
15 、以下代码段将创建(C )个对象。 String s1=\String s2=\
A. 0 B 、 1 C 、 2 D 、 3
16。执行下列代码后,哪个结论是正确的 String[] s=new String[10]; (D) A s[10] 为 \为 null; C s[0] 为 未定义 D s.length 为10 17.下面的表达式哪个是正确的? (E)
A String s=\你好\i=3; s+=i; B String s=\你好\i=3; if(i==s){ s+=i};
C String s=\你好\你好\E. String s=null; int i=(s!=null)&&(s.length>0)?s.length():0; 18。.选出合理的标识符 (ACD)
A _sys1_lll B 2mail C $change D class 12。下列说法正确的是(C)
A java.lang.Clonable是类 B java.lang.Runnable是接口 C Double对象在java.lang包中 D Double a=1.0是正确的java语句
19。指出正确的表达式(A)
A double a=1.0; B Double a=new Double(1.0); C byte a = 340; D Byte a = 120; 20。定义一个类名为\的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为(CD):
A private class MyClass extends Object B class MyClass extends Object
C public class MyClass D public class MyClass extends Object
21。.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。(BCD)
A public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a) 24。如果下列的方法能够正常运行,在控制台上将显示什么?(ACD) public void example(){ try{
unsafe();
System.out.println(\ }
catch(SafeException e)
{System.out.println(\ finally{System.out.println(\
System.out.println(\}
A Test 1 B Test 2 C Test 3 D Test 4 25.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。(BCD) A public int add(int a) B public void add(long a)
C public void add(int a,int b) D public void add(float a) 26。下列哪个方法可用于创建一个可运行的类? (A)
A. public class X implements Runable{ public void run(){ ......} } B. public class X implements Thread{ public void run(){ ......} } C. public class X implements Thread{ public int run(){ ......} }
D. public class X implements Runable{ protected void run(){ ......} } E. public class X implements Thread{ public void run(){ ......} } 27 、下列关于修饰符混用的说法,错误的是(BD )
A、abstract 不能与 final 并列修饰同一个类 B 、 abstract 类中不可以有 private 的成员 C、 abstract 方法必须在 abstract 类中 D 、 static 方法中能处理非 static 的属性
28 、容器 Panel 和 Applet 缺省使用的布局编辑策略是( B)
A 、 BorderLayout B 、 FlowLayout C 、 GridLayout D 、 CardLayout 29 、以下标识符中哪项是不合法的 ( C)
A 、 BigMeaninglessName B 、 $int C 、 1 st D 、 $1 30 、 main 方法是 Java Application 程序执行的入口点,关于 main 方法的方法头以下哪项是合法的( B)
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[ ] )
31 、执行完以下代码 int [ ] x = new int[25] ;后,以下哪项说明是正确的(A )
A 、 x[24] 为 0 B 、 x[24] 未定义C 、 x[25] 为 0 D 、 x[0] 为空 32 、以下代码段执行后的输出结果为(B ) int x=3 ; int y=10 ; System.out.println(y%x); A 、 0 B 、 1 C 、 2 D 、 3
33 、以下哪个表达式是不合法的( D)
A 、 String x=”Hello”; int y=9; x+=y; B 、 String x=”Hello”; int y=9; if(x= =y) { }
C 、 String x=”Hello”; int y=9; x=x+y;
D 、 String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0 34 、编译运行以下程序后,关于输出结果的说明正确的是 ( C) public class Conditional{
public static void main(String args[ ]){ int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9 :9)); } }
A 、输出结果为: value is 99.99 B 、输出结果为: value is 9 C 、输出结果为: value is 9.0 D 、编译错误 35 、以下声明合法的是(C )
A 、 default String s ; B 、 public final static native int w( ) C 、 abstract double d ; D 、 abstract final double hyperbolicCosine( )
36. 下面的说法正确的是:(C)
A. Java 语言里的线程不是对象 B. Applet 需要 main 方法
C. Java 语言的对象都是 java.lang.Object 的子类 D. Java 支持多重继承 37. 下列哪个说法是错误的。(B) A.程序员可以定义新的异常类
B.Exception 可以用 try/catch 进行捕获处理 C.Exception 可以递交给上一级调用方处理
D.类似像 IOException 等异常 , 程序可以忽略不进行捕获和处理 38. 在 Java 语言中,下列哪个变量名是 不正确 的 .(B)
A. studentNo B. 567num C. $money D. _postCode 39. 以下哪项可能包含菜单条(B ) A. Panel B. Frame C. Applet D. Dialog
40. 声明并创建一个按钮对象b,应该使用的语句是( A ) A. Button b=new Button(); B. button b=new button(); C. Button b=new b(); D. b.setLabel(“确定”);
41. 以下访问权限控制中,哪一个权限级别最高?( A ) A、public B、protected C、private D、缺省 四、 判断正确与错误 1 .Java 程序里 , 创建新的类对象用关键字 new ,回收无用的类对象使用关键字 free.(F)
2 .对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(T)
3 .有的类定义时可以不定义构造函数,所以构造函数不是必需的。(F) 4 .类及其属性、方法可以同时有一个以上的修饰符来修饰。(T0 5 . Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 (F0. 6 .抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。(T) 7 . final 类中的属性和方法都必须被 final 修饰符修饰。(F) 8 .最终类不能派生子类,最终方法不能被覆盖。(T)
9 .子类要调用父类的方法,必须使用 super 关键字。(T) 10 .一个 Java 类可以有多个父类。(F)
11 .如果 p 是父类 Parent 的对象,而 c 是子类 Child 的对象,则语句 c = p 是正确的。(F)
12 .一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。(F)
13 .当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。(F)
14 .接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。(F)
15 .用“ + ”可以实现字符串的拼接,用 - 可以从一个字符串中去除一个字符子串。(F)
16 .使用方法 length( ) 可以获得字符串或数组的长度。(T)
17 .设 String 对象 s=”Hello ” ,运行语句 System.out.println(s.concat(“World!”)); 后 String 对象 s 的内容为 ”Hello world!” ,所以语句输出为 Hello world! (T)
18 .创建 Vector 对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。(F)
19 .所有的鼠标事件都由 MouseListener 监听接口的监听者来处理。(T) 20 .一个容器中可以混合使用多种布局策略(F)。
21 . Java 中,并非每个事件类都只对应一个事件。(T) 22 .一个线程对象的具体操作是由 run() 方法的内容确定的,但是 Thread 类的 run() 方法是空的 , 其中没有内容 ; 所以用户程序要么派生一个 Thread 的子类并在子类里重新定义 run() 方法 , 要么使一个类实现 Runnable 接口并书写其中 run() 方法的方法体。(T)
23 . Java 的源代码中定义几个类,编译结果就生成几个以 .class 为后缀的字节码文件。(F)
24 . Java Applet 是由独立的解释器程序来运行的。(T) 25 . Java Applet 只能在图形界面下工作。(F) 26 . Java 的字符类型采用的是 ASCII 编码。 (T)
27 . Java 的各种数据类型占用固定长度,与具体的软硬件平台环境无关 (T) 28 . Applet 是一种特殊的 Panel ,它是 Java Applet 程序的最外层容器。(F)
29 .子类的域和方法的数目一定大于等于父类的域和方法的数目。(F) 30 . System 类不能实例化,即不能创建 System 类的对象。(T)
31 .用户自定义的图形界面元素也可以响应用户的动作,具有交互功能 (T) 32 . Java 中数组的元素可以是简单数据类型的量,也可以是某一类的对象。(T)
33 . Vector 类中的对象不能是简单数据类型。(F) 34 . Java 中的 String 类的对象既可以是字符串常量,也可以是字符串变量。(T)
35 .容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。(F) 五。程序分析题:
1.预测以下代码的输出:(Name:AlishaID:C001) class Student{
String name; String id; void display(){
System.out.println(“Name:”+name+” ID :”+id);
}
public static void main(String args[]){ Student student=new student; student.name=”Alisha”; student.id=”C001”; student.display(); } }
2.给出下列的代码,哪行在编译时可能会有错误⑦ ① public void modify(){ ② int i, j, k; i = 100; ④ while ( i > 0 ){ ⑤ j = i * 2;
⑥ System.out.println (\); ⑦ k = k + 1; ⑧ } ⑨ }
3.分析指出以下程序的功能并作出注释,输出结果是 ( 1 ) public class A{
public int hashCode(){return 1;}
public Boolean equals(Object b){return true}
public static void main(String args[]){ Set set=new HashSet(); set.add(new A()); set.add(new A()); set.add(new A());
System.out.println(set.size()); } }
4.分析程序,回答问题。下列程序的运行结果是 ( 25 ) class A{ class Dog{
private String name; private int age; public int step; Dog(String s,int a) {
name=s; age=a; step=0; }
public void run(Dog fast) {
fast.step++; }
}
public static void main (String args[]) {
A a=new A();
Dog d=a.new Dog(\ d.step=25; d.run(d);
5. 如果有这样一个 Java 源文件如下: public class Test {
public static void main(String[] arguments) { System.out.println(\} }
class student {
public void func() {
System.out.println(\} }
阅读程序,回答下面几个问题: (1) 请写出这个文件的完整名称
(2) 请写出在命令行上如何编译这个文件
(3) 请写出这个文件编译后产生几个类文件,它们的完整名称分别是什么? (4) 请写出在命令行上如何运行这个程序? (5)这个程序的运行结果是什么?
6 、以下程序的输出结果为___value is_Hello________________ 。 public class Short{
public static void main(String args[ ]) { StringBuffer s = new StringBuffer(“Hello”);
if((s.length( )>5)&& (s.append(“there”) . equals(“False”))) ;
System.out.println(“value is”+s); } }
7、 读程序,写出正确的运行结果。(2,7,14,12) class test {
public static void main(String[] arg){ int a=1,b=6,c=4,d=2; switch (a++) { case 1: c++; d++; case 2: switch (++b)
{ case 7: c++; case 8: d++; } case 3: c++; d++; break; case 4: c++; d++;
}
System.out.println(a+\} }
8、写出下列程序完成的功能。(Sum= 1.0+1.0/2.0+...+1.0/100.0) public class Sum
{ public static void main( String args[ ]) { double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + ) sum += 1.0/(double) i ;
System.out.println( \ } } 9、(20)
import java.io.*; public class abc
{ public static void main(String args[]) { SubClass sb = new SubClass( ); System.out.println(sb.max( )); } }
class SuperClass
{ int a = 10 , b = 20 ; }
class SubClass extends SuperClass
{ int max( ) { return ((a>b)?a:b); } } 10、写出程序运行结果(s=180) import java.io.* ; public class abc {
public static void main(String args[ ]) { int i , s = 0 ;
int a[ ] = {10 ,20 ,30 ,40 ,50 ,60 ,70 ,80 ,90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ } }
11、写出程序运行结果(Hello! I love JAVA.) import java.io.*; public class abc
{ public static void main(String args[ ]) { AB s = new AB(\ System.out.println(s.toString( )); }
}
class AB { String s1; String s2;
AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2;} }
12.写出程序运行结果(10,9) public class test { static int m = 9;
public static void main(String[] args) { test fd1 = new test(); fd1.m++;
test fd2 = new test();
System.out.println(fd1.m + “,” + fd2.m); } }
13. 写出程序的输出结果为 。(value is Hello) public class Short{
public static void main(String args[ ]) { StringBuffer s = new StringBuffer(“Hello”);
if((s.length( )>5)&& (s.append(“there”) . equals(“False”))) ;
System.out.println(“value is”+s); }
14. 请说出下列代码的执行结果 (equals): String s = \
String s1 = new String(s);
if (s = = s1) System.out.println(\if (s.equals(s1)) System.out.println(\15. 阅读以下程序,输出结果为 。(1.13) class Q1{
public static void main ( String args[ ] ) { double d=1.23;
Dec dec=new Dec( ); dec.decrement(d);
System.out.println(d); }
classs Dec{
public void decrement(double decMe){ decMe = decMe - 0.1; }
}
16.阅读下列代码,其运行结果是( 10 ) public class Test{
public static void main(String args[]){ int a=025; int b=a>>1;
System.out.println(b); } }
17. 分析本程序的输出 (九九乘法表) public class lianxi16 {
public static void main(String[] args) { for(int i=1; i<10; i++) { for(int j=1; j<=i; j++) {
System.out.print(j + \ if(j*i<10){System.out.print(\}
System.out.println(); } } }
六 . 编写程序题
1. 编程实现软件系统用户登录的用户名和口令检查,两者正确,欢迎进入,三次机会,若输入错误,提出警告,退出系统。 import java.io.File;
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Test {
ArrayList user_list = new ArrayList();
//将user_list存入文件
public void writeData() throws Exception {
FileOutputStream fo=new FileOutputStream(\
ObjectOutputStream fobj = new ObjectOutputStream(fo); fobj.writeObject(user_list); fobj.close();
fo.close(); }
//从文件读数据到user_list
public void readData() throws Exception {
File f =new File(\ if(f.exists()) {
FileInputStream fin=new FileInputStream(f);
ObjectInputStream fobj = new ObjectInputStream(fin); user_list = (ArrayList)fobj.readObject(); fobj.close(); fin.close(); } }
//判别登录用户类型,返回值 0:用户名、密码均不同;1:用户名相同;2:用户名、密码均相同
public int isUser(User u)throws Exception {
readData();
int F=0; //0:用户名、密码均不同;1:用户名相同;2:用户名、密码均相同
for(int i=0;i User ur = (User)user_list.get(i); if(ur.userName.equals(u.userName) && ur.passWord.equals(u.passWord)) { F=2; } if(ur.userName.equals(u.userName)&& !(ur.passWord.equals(u.passWord))) { F=1; } } return F; } public void addUser(User u) throws Exception { readData(); user_list.add(u); writeData();//回存文件 } //列出所有用户 public void listUsers()throws Exception { readData(); String result=\ for(int i=0;i User us = (User)user_list.get(i); result = result+ us.userName+\ } JOptionPane.showMessageDialog(null,result); } public static void main(String[] args) throws Exception { Test t = new Test(); String val = JOptionPane.showInputDialog(\请选择:\\n[1] 登录\\n[2] 注册\ if (val != null) { if (val.equals(\登录 for(int i=0;i<3;i++){ String name = JOptionPane.showInputDialog(\请输入用户名\ String pass = JOptionPane.showInputDialog(\请输入密码\ User us = new User(name, pass); int b = t.isUser(us); if (b == 2){ // 成功登陆 JOptionPane.showMessageDialog(null, \登陆成功,欢迎登入\ break; } if (b == 1){ // 密码错误 JOptionPane.showMessageDialog(null, \密码错误,请重新输入\ } if (b == 0){ // 该用户不存 JOptionPane.showMessageDialog(null, \该用户不存在,请重新输入\ } } } if (val.equals(\注册 String name = JOptionPane.showInputDialog(\请输入用户名\ String pass = JOptionPane.showInputDialog(\请输入密码\ User us = new User(name, pass); int v = t.isUser(us); if (v == 0)// 该用户名未注册 { t.addUser(us); JOptionPane.showMessageDialog(null, \你已注册成功\ } if (v == 1 || v == 2) JOptionPane.showMessageDialog(null, \该用户名已使用,请重新输入\ } } } } ----------------------------------------------------------------------------------------------------------------------import java.io.Serializable; public class User implements Serializable { String userName; String passWord; public User(String userName,String passWord) { this.userName=userName; this.passWord=passWord; } } 2.编程实现GUI界面下的一个广告内容窗体,并嵌入web 网页(HTML文档)中,在IE浏览器下运行。 3.编程求一个整型数组元素的最大值、最小值、平均值和所有元素的和。 4.输入全班同学的某课程考试成绩,从高向低排序打印,并统计和计算及格率。 import java.util.Scanner; public class ChengJiTongJiJiGeLu { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Scanner类的构造方法。 int a[] = new int[10]; System.out.println(\输入10个同学的成绩,中间以空格隔开\ for (int i = 0; i < a.length; i++) { a[i] = sc.nextInt(); // 依次输入数字中间以空格隔开。 } // 统计及格率 double j = 0.0; for (int i = 0; i < a.length; i++) { if (a[i] >= 60) { j++; } } double s = j / a.length; System.out.println(\及格率为:\ ChengJiTongJiJiGeLu.maopao(a); // 调用排序方法。 for (int i = 0; i < a.length; i++) System.out.print(a[i] + \ } // 定义冒泡排序方法。 public static void maopao(int array[]) { int i; int k; for (i = 0; i < array.length; i++) { for (k = 0; k < array.length - 1 - i; k++) { if (array[k] < array[k + 1]) { int temp = array[k]; array[k] = array[k + 1]; array[k + 1] = temp; } } } } } 5.在GUI界面下编程输出显示如下图案 JAVA支持彩色几何图形绘 6.打印输出10行杨晖三角形 public class YangHui { public static void main(String args[]) { final int ROW = 10; int a[][] = new int[ROW + 1][]; for (int i = 0; i <= ROW; i++) { a[i] = new int[i + 1]; // 指定每行的列数 } yanghui(a, ROW); } static void yanghui(int a[][], int ROW) { for (int i = 0; i <= ROW; i++) for (int j = 0; j <= a[i].length - 1; j++) { if (i == 0 || j == 0 || j == a[i].length - 1) a[i][j] = 1; else a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } for (int i = 0; i <= ROW; i++) { for (int j = 0; j <= a[i].length - 1; j++) System.out.print(a[i][j] + \ System.out.println(); } } } 7. 设计APPLET界面,输入自己班级,姓名,学号和简历,显示自己的QQ头像和网络格言。 8. 编写一个程序,输入手机号码,能判别运营商,网名,大致归属地名等 9. 编写简单JAVA程序,实现从界面输入X和Y,能够分别计算X+Y, X-Y,X*Y,X/Y, import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Computer extends JFrame implements ActionListener { private boolean dotExist, operated, equaled; // 帮助运算的布尔变量 private double storedNumber; // 目前的结果 private char lastOperator; // 表示上一运算符 private JTextField operation; // 结果栏 private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 运算符 private JButton[] numbers; // 数字 // 构造者 public Computer() { setTitle(\ // 初始化变量 dotExist = false; // 表示当前的数是否有小数点 operated = false; // 表示任意运算符是否被按下 equaled = false; // 表示等号是否被按下 storedNumber = 0; lastOperator = '?'; // 初始化窗口变量 operation = new JTextField(\ operation.setEditable(false); numbers = new JButton[10]; for (int i = 0; i < 10; i++) numbers[i] = new JButton(\ dot = new JButton(\ plus = new JButton(\ minus = new JButton(\ multi = new JButton(\ div = new JButton(\ sqrt = new JButton(\√\ equal = new JButton(\ changePN = new JButton(\ clear = new JButton(\ // 将窗口物体放入窗口 GridBagLayout layout = new GridBagLayout(); getContentPane().setLayout(layout); addComponent(layout, operation, 0, 0, 4, 1); addComponent(layout, numbers[1], 1, 0, 1, 1); addComponent(layout, numbers[2], 1, 1, 1, 1); addComponent(layout, numbers[3], 1, 2, 1, 1); addComponent(layout, numbers[4], 2, 0, 1, 1); addComponent(layout, numbers[5], 2, 1, 1, 1); addComponent(layout, numbers[6], 2, 2, 1, 1); addComponent(layout, numbers[7], 3, 0, 1, 1); addComponent(layout, numbers[8], 3, 1, 1, 1); addComponent(layout, numbers[9], 3, 2, 1, 1); addComponent(layout, dot, 4, 0, 1, 1); addComponent(layout, numbers[0], 4, 1, 1, 1); addComponent(layout, sqrt, 4, 2, 1, 1); addComponent(layout, plus, 1, 3, 1, 1); addComponent(layout, minus, 2, 3, 1, 1); addComponent(layout, multi, 3, 3, 1, 1); addComponent(layout, div, 4, 3, 1, 1); addComponent(layout, equal, 5, 0, 2, 1); addComponent(layout, changePN, 5, 2, 1, 1); addComponent(layout, clear, 5, 3, 1, 1); } // 对按钮进行反应的方法 public void actionPerformed(ActionEvent e) { JButton btn = (JButton)e.getSource(); if (btn == clear) { operation.setText(\ dotExist = false; storedNumber = 0; lastOperator = '?'; } else if (btn == equal) { operate('='); equaled = true; } else if (btn == plus) { operate('+'); equaled = false; } else if (btn == minus) { operate('-'); equaled = false; } else if (btn == multi) { operate('*'); equaled = false; } else if (btn == div) { operate('/'); equaled = false; } else if (btn == changePN) { operate('p'); operate('='); equaled = true; } else if (btn == sqrt) { operate('s'); operate('='); equaled = true; } else { if (equaled) storedNumber = 0; for (int i = 0; i < 10; i++) if (btn == numbers[i]) { if (operation.getText().equals(\ operation.setText(\ else if(! operated) operation.setText(operation.getText() + i); else { operation.setText(\ operated = false; } } if (btn == dot && ! dotExist) { operation.setText(operation.getText() + \ dotExist = true; } } } // 进行运算的方法 private void operate(char operator) { double currentNumber = Double.valueOf(operation.getText()).doubleValue(); if (lastOperator == '?') storedNumber = currentNumber; else if (lastOperator == '+') storedNumber += currentNumber; else if (lastOperator == '-') storedNumber -= currentNumber; else if (lastOperator == '*') storedNumber *= currentNumber; else if (lastOperator == '/') storedNumber /= currentNumber; else if (lastOperator == 'p') storedNumber *= -1; else if (lastOperator == 's') storedNumber = Math.sqrt(currentNumber); else if (lastOperator == '=' && equaled) storedNumber = currentNumber; operation.setText(\ operated = true; lastOperator = operator; } // 快捷使用GridBagLayout的方法 private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height) { GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.BOTH; constraints.insets = new Insets(10, 2, 10, 2); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = col; constraints.gridy = row; constraints.gridwidth = width; constraints.gridheight = height; layout.setConstraints(component, constraints); if (component instanceof JButton) ((JButton)component).addActionListener(this); getContentPane().add(component); } // 主方法初始化并显示窗口 public static void main(String[] args) { Computer calc = new Computer(); calc.setSize(290, 400); calc.setVisible(true); } } 10.编写将用户输入的人民币金额阿拉伯数字(例如1560.32元)转换为大写的程序. import java.io.BufferedReader; import java.io.InputStreamReader; public class ShuZiZhuanHuan{ public static void main(String args[]) { try{ System.out.print(\输入数字:\ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s=br.readLine(); char[] c=new char[s.length()]; c=s.toCharArray(); for(int i=0;i if(c[i]=='9')c[i]='玖'; if(c[i]=='0')c[i]='零'; System.out.print(c[i]); } System.out.println(); } catch(Exception e){ } } } 11.用 JAVA APPLICATION和JAVA APPLET两种形式在屏幕输出”学好JAVA语言,提高编程能力!” public class xuexi { public static void main(String[] args) { System.out.println(\学好JAVA语言,提高编程能力!\ } } import java.awt.Container; import javax.swing.JLabel; import javax.swing.JApplet; import javax.swing.JPanel; public class XuexiApplet extends JApplet { public void init() { Container con = getContentPane(); JPanel panel = new JPanel(); JLabel label = new JLabel(\学好JAVA语言,提高编程能力!\ panel.add(label); con.add(panel); } } if(c[i]=='9')c[i]='玖'; if(c[i]=='0')c[i]='零'; System.out.print(c[i]); } System.out.println(); } catch(Exception e){ } } } 11.用 JAVA APPLICATION和JAVA APPLET两种形式在屏幕输出”学好JAVA语言,提高编程能力!” public class xuexi { public static void main(String[] args) { System.out.println(\学好JAVA语言,提高编程能力!\ } } import java.awt.Container; import javax.swing.JLabel; import javax.swing.JApplet; import javax.swing.JPanel; public class XuexiApplet extends JApplet { public void init() { Container con = getContentPane(); JPanel panel = new JPanel(); JLabel label = new JLabel(\学好JAVA语言,提高编程能力!\ panel.add(label); con.add(panel); } }
正在阅读:
JAVA复习题06-04
定义论点材料03-24
66kV输电线路状态维护检修实施方案10-09
苏教版三年级科学下册教学计划及教案07-12
丽贝岛丽贝日落海滩度假村(Lipe Sunset Beach Resort)04-05
分子结构练习题03-23
小清新的相关文章推荐02-14
Vantage别墅智能家居解决方案06-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- JAVA
- THGQC-1 80C51实验指导书
- 11.2.2与三角形有关的角
- 特种经济动物疾病防治(自考)
- 毕业论文定稿-我国上市公司会计信息披露现存问题及优化策略 - 百
- 基于单片机的变频恒压供水系统开题报告
- 关于严格规范减刑、假释、暂予监外执行切实防止司法腐败的意见》
- 中美贸易产品结构分析
- 基于神经网络PID算法人工温室温度控制系统的外文翻译 - 图文
- 以“爱”营造氛围,用“心”管理班级
- 第六章 数列第一讲(等差数列及其前n项和)
- 2012学年七年级班主任工作计划
- 煤矿职业卫生专篇 - 图文
- 六年级上册1234分析导学案教案
- 过程控制课后习题答案
- 基于单片机的心率计设计
- 民间资本投资文化产业的路径探析
- 南昌市2010年科技计划项目指南
- 六年级下册数学培优讲义
- 数据库习题答案
- (财会字11号)《金融企业会计制度》