Java语言
测试题
——Java语言
一、选择题
1、关于被私有保护访问控制符private protected修饰的成员变量,以下
说法正确的是()。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其
他包中的该类的子类
B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
2、以下代码段将创建()个对象。
String s1="bc";
String s2="bc";
A、0
B、1
C、2
D、3
3、编译并运行以下程序,以下描述哪个选项是正确的()
1: class X{
2: protected String toString(){
3: return super.toString();}
4: }
A、编译通过运行无异常
B、编译通过但运行时出错
C、行2出错,不能成功编译
D、不能成功编译,行3出错
4、下列关于修饰符混用的说法,错误的是()
A、abstract不能与final并列修饰同一个类
B、abstract类中不可以有private的成员
C、abstract方法必须在abstract类中
D、static方法中能处理非static的属性
5、容器Panel和Applet缺省使用的布局编辑策略是()
A、BorderLayout
B、FlowLayout
C、GridLayout
D、CardLayout
6、以下标识符中哪项是不合法的( )
A、BigMeaninglessName
B、$int
C、1 st
D、$1
7、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[ ])
8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的
()
A、x[24]为0
B、x[24]未定义
C、x[25]为0
D、x[0]为空
9、以下代码段执行后的输出结果为()
int x=3; int y=10;
System.out.println(y%x);
A、0
B、1
C、2
D、3
10、以下哪个表达式是不合法的()
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
11、编译运行以下程序后,关于输出结果的说明正确的是()
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、编译错误
12、以下声明合法的是()
A、default String s;
B、public final static native int w( )
C、abstract double d;
D、abstract final double hyperbolicCosine( )
13、关于以下application的说明,正确的是()
1: class StaticStuff
2: {
3: static int x=10;
4: static { x+=5;}
5: public static void main(String args[ ])
6: {
7: System.out.println("x=" + x);
8: }
9: static { x/=3;}
10: }
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
14、关于以下程序代码的说明正确的是()
1. class HasStatic{
2. private static int x=100;
3. public static void main(String args[ ]){
4. HasStatic hs1=new HasStatic( );
5. hs1.x++;
6. HasStatic hs2=new HasStatic( );
7. hs2.x++;
8. hs1=new HasStatic( );
9. hs1.x++;
10. HasStatic.x- -;
11. System.out.println("x="+x);
12. }
13. }
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:x=103
D、程序通过编译,输出结果为:x=102
15、以下选项中循环结构合法的是()
A、while (int i<7)
{ i++;
System.out.println("i is "+i);
}
B、 int j=3;
while(j)
{ System.out.println(" j is "+j);
}
C、 int j=0;
for(int k=0; j + k !=10; j++,k++)
{ System.out.println(" j is "+ j + "k is"+ k);
}
D、 int j=0;
do{
System.out.println( "j is "+j++);
if (j = = 3) {continue loop;}
}while (j<10);
16、类Test1定义如下:
1.public class Test1{
2. public float aMethod(float a,float b){ }
3.
4.}
将以下哪种方法插入行3是不合法的。()
A、public float aMethod(float a, float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a, int b){ }
D、private float aMethod(int a,int b,int c){ }
17、类Test1、Test2定义如下:
1. public class Test1
2.{ public float aMethod(float a,float b) throws
3. IOException { }
4. }
5. public class Test2 extends Test1{
6.
7.}
将以下哪种方法插入行6是不合法的。()
A、float aMethod(float a,float b){ }
B、public int aMethod(int a,int b)throws Exception{ }
C、public float aMethod(float p,float q){ }
D、public int aMethod(int a,int b)throws IOException{ }
18、关于以下程序段,正确的说法是()
1. String s1="abc"+"def";
2. String s2=new String(s1);
3. if(s1= =s2)
4. System.out.println("= = succeeded");
5. if (s1.equals(s2))
6. System.out.println(".equals() succeeded");
A、行4与行6都将执行
B、行4执行,行6不执行
C、行6执行,行4不执行
D、行4、行6都不执行
19、以下说法哪项是正确的()
1.class MyListener
2.extends MouseAdapter implements MouseListener{
3. public void mouseEntered(MouseEvent mev)
4. { System.out.println("Mouse entered."); }
5. }
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常
20、关于以下程序段的说法,正确的是()
1:class MyListener implements
2: ActionListener,ItemListener{
3: public void actionPerformed(ActionEvent ae){
4: System.out.println("Action");}
5: public void itemStateChanged(ItemEvent ie){
6: System.out.println("Item");
7: }
8:}
A、可通过编译
B、第2行产生编译错误
C、第3行产生编译错误
D、第5行产生编译错误
21、通过调用 new List(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。()
A、该列表不支持复选
B、该列表有10个选项
C、根据需要该列表可能有垂直滚动条
D、该列表支持10个可见选项
22、以下哪项可能包含菜单条()
A、Panel
B、Frame
C、Applet
D、Dialog
23、以下代码完成画线功能,指出所画线的颜色()
1.g.setColor(Color.red.green.yello.cyan);
2.g.drawLine(0,0,100,100);
A、red
B、green
C、yellow
D、cyan
24、关于以下代码所画图形的说明,正确的是()
1.g.setColor(Color.black);
2.g.drawLine(10,10,10,50);
3.g.setColor(Color.red);
4.g.drawRect(100,100,150,150);
A、一条40像素长的垂直红线,一个边长为150像素的红色四方形
B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形
C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形
D、一条50像素长的垂直红线,一个边长为150像素的红色四方形
25、编译并运行以下程序(命令:java AB 1),关于运行结果的描述以下哪个选项是正确的()
class AB{
public static void main(String [ ] args){
long i=0;
try{
i=Integer.parseInt(args[0]);
}catch(Exception e){ }
switch(i)
{case 0: System.out.println("0");
case 1: System.out.println("1");
default : System.out.println("default"); }
}
}
A、编译出错
B、打印出“0”
C、打印出“1”
D、打印出“default”
26、若JAVA程序中定义了3个类,编译后可生成()个字节码文件。
A、4
B、3
C、2
D、1
27、下列不是合法标识符的是()
A、$false
B、def
C、_object
D、a-class
28、JAVA中采用Unicode编码,一个Unicode编码占用()字节。
A、 16
B、1
C、2
D、4
29、不是构造函数特点的是()
A、构造函数与类名相同
B、构造函数可带参数也可不带
C、构造函数带有返回类型
D、构造函数主要完成对类对象的初始工
作
30、下列哪一个不能加到容器(container)中()
A、a Menu
B、a Component
C、a Container
D、a Panel
31、在JAVA中用于文本处理的类中,方法getText( )的作用是()
A、向文本区设置内容
B、编辑文本区的内容
C、创建一个新的文本
D、取得文本中的内容
32、JAVA.awt共定义了()种布局编辑类。
A、3
B、4
C、5
D、2
33、若一个类要引用其他包中的public类,不可采用的方法是()
A、直接引用public类
B、使用包名、类名为前缀
C、加载需要使用的类
D、加载整个包
34、break中断语句,若在一个FOR语句中加入break语句,它可以()
A、对FOR语句执行没有影响
B、中断本次循环,进入
下一次循环
C、退出FOR循环,执行FOR语句后面的语句
D、以上说法均不对
35、下列变量名哪些合法,哪个不合法?()
A、Ab?1
B、1name
C、_int
D、private
36、System.out.println("The sky is blue".substring(4,9));打印出什么结果?()
A、sky is
B、sky i
C、sky is blue
D、以上都不正确
37、下面哪种StringBuffer方法类似于reverse( )方法?
A、append()
B、insert()
C、setCharAt()
D、replace()
38、Java不支持下面哪种继承?()
A、多实现继承
B、多接口继承
C、单实现继承
D、单接口继承
39、类和接口用来分别从其它类和接口派生能力地关键词是哪一个?()
A、super
B、extends
C、this
D、implements
40、接口的方法语法格式默认为什么访问级?
A、private
B、package
C、public
D、protected
41、下面哪个接口是标记接口?()
A、Cloneable
B、UIResource
C、只有a
D、a和b
42、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
A、start( )
B、 stop( )
C、 init( )
D、paint( )
43、若a的值为3时,下列程序段被执行后,c的值是多少?()
c = 1;
if ( a>0 )
if ( a>3 ) c = 2;
else c = 3;
else c = 4;
A、1
B、2
C、3
D、4
44、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使
用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
45、若需要定义一个类域或类方法,应使用哪种修饰符?()
A、static
B、package
C、private
D、public
46、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A、.java
B、 .class
C、.html
D、.exe
47、设 a = 8,则表达式 a >>> 2 的值是( )。
A、1
B、2
C、3
D、4
48、若在某一个类定义中定义有如下的方法: abstract void performDial( );
该方法属于()。
A、本地方法
B、最终方法
C、解态方法
D、抽象方法
49、编译Java Applet 源程序文件产生的字节码文件的扩展名为
( )。
A、java
B、class
C、html
D、exe
二、填空题
1、按钮图形用户界面中一个重要的基本组件,如何创建一个“操作”按钮,请写出一个语
句:_______________________________。
2、(int)(Math.random( )*6)+1的功能是_______________________________。
3、System.out.println(”output”+5+5); System.out.println(5+5+”output”); 这两
条语句显示结果分别是______________________、___________________。
4、画布是一个用来画图的矩形背景组件,它可以响应_________和__________事件。
5、静态初始化器是对类进行_________,静态初始化器不是方法,所以没有方法名、返回值、
参数列表。
6、java程序可含多个类,每个类分_________和_________。
7、创建时必须指明数组的_________, java系统自动检查_________是否越界。
8、一个Java Application程序有几类组成,且含有________为主类,是它是程序执行的入
口点。
9、Frame作为一个Application的最外层容器,向Frame窗口中添加和移出组件的方法是
_________和_________。
10、对象是。
11、J2SE是为在基于的低端台式计算机中开发Java应用程序的解决方案。
12、利用Applet小程序浏览器运行Applet文件时,在运行命令时需指定嵌入了Applet
的。
13、Java程序中包括注释、、成员方法定义和成员方法实现等Java应用程序
构成单元。
14、是指在Java虚拟机的支持下,能够利用Java解释器进行解释执行的
Java语言程序。
15、Java小程序Applet是运行在浏览器的中的Java应用程序。
16、作为其他各种数据管理对象的公共父接口,定义了这些接口对象中具有
公共特征的属性和方法。
17、Java应用程序的和是衡量一个利用Java语言开发
的软件系统性能的重要技术指标。
18、Java应用程序的运行环境由Java虚拟机、和计算机操作系统构成。
19、Java中基本数据类型封装对象的构造方法主要包括两种形式:一种是以该数据封装对
象对应的Java基本数据类型为参数,另一种是以为参数。
20、表示哈希表中的节点数量与当前系统能够容纳的最大节点数量的比值,
它代表了平均检索时间。
21、存储在中的元素在存储过程中已经按照元素的码值和排序方式对数据
进行了排序。
22、继承抽象列表对象、抽象集合对象和向量对象。
23、通常是AWT组件对象中的原始对象类型。
24、的作用是接受某个组件对象产生的事件消息,并根据实现接口中定义的
方法对事件消息进行处理。
25、实现事件监听器接口的对象必须通过监听器接口中定义的方法获取,从
而可解析出事件中包含的详细信息。
26、通常用于响应低层事件对象发出的事件消息。
27、Swing组件对象是以为基础定义的。
28、线程是应用程序执行体的一部分,必须有启动或终止。
29、应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则处于
下。
30、线程是程序内部的具有的顺序代码流。
31、上下文主要由三部分组成:处理机、CPU执行的代码和代码操作的
数据。
32、可利用该对象中定义的方法实现按照特定功能的线程集中式分组管理和统
一状态调度。
33、在对线程组的状态进行管理过程中,加入到某线程组中的所有线程对象均被视
为。
34、线程调度的意义在于处理机对处于可执行状态的多个线程对象进行的协调,
以避免多个线程争用有限资源而导致应用系统死机或崩溃。
35、Java中多个用户线程对共享资源的维护和管理是通过实现的。
36、在多线程并发执行的情况下,线程保护问题是多线程应用程序设计过程
中的敏感问题。
37、守护线程具有的优先级,用于为系统中的其他对象和线程提供服务。
38、在JDK平台中定义的技术用于在独立类型Java应用程序、Java Applet和Java
CGI程序中对数据库进行访问。
39、连接接口对象Connection表示之间的一个会话过程。
40、Java语言规范将软件系统在运行中可能发生的各种错误划分为和错误,分
别对应于一般性错误和致命性错误。
41、Java中定义的异常处理机制的主要作用在于。
42、作为提高Java语言应用程序稳定性的一个重要的措施。
43、管道流用于在Java应用程序间、Java线程间或Java代码段之间进行和
信息交换。
44、只有对象中记录对象状态信息的才能被序列化存储。
45、过滤流的功能是。
三、判断题
1、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2、对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相
同的新对象。
3、有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4、类及其属性、方法可以同时有一个以上的修饰符来修饰。
5、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.
6、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7、final类中的属性和方法都必须被final修饰符修饰。
8、最终类不能派生子类,最终方法不能被覆盖。
9、子类要调用父类的方法,必须使用super关键字。
10、一个Java类可以有多个父类。
11、如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。
12、一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。
13、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止
运行。
14、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
15、用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。
16、使用方法length( )可以获得字符串或数组的长度。
17、设String对象s="Hello ",运行语句System.out.println(s.concat("World!"));后
String对象s的内容为"Hello world!",所以语句输出为
Hello world!
18、创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超
越这个数值。
19、所有的鼠标事件都由MouseListener监听接口的监听者来处理。
20、一个容器中可以混合使用多种布局策略。
21、Java中,并非每个事件类都只对应一个事件。
22、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是
空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
23、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
24、Java Applet是由独立的解释器程序来运行的。
25、Java Applet只能在图形界面下工作。
26、Java的字符类型采用的是ASCII编码。
27、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
28、Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
29、子类的域和方法的数目一定大于等于父类的域和方法的数目。
30、System类不能实例化,即不能创建System类的对象。
31、用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。
32、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
33、Vector类中的对象不能是简单数据类型。
34、Java中的String类的对象既可以是字符串常量,也可以是字符串变量。
35、容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
36、https://www.360docs.net/doc/8c13733687.html,ng包是java语言的核心类库,包含了运行java程序必不可少的系统类。
37、为了提高开发效率,可利用子类继承父类中所有方法,方便实现已有代码的重复使用。
38、若String s=” how do you do ”用int J=s.index((int)’o’,2); 最后J的值是5。
39、用户界面是用户与计算机系统交互的接口
40、接口能够直接扩展两个或多个父接口。
41、类只能实现单接口。
四、简答题
1、Java由那些特点?
2、编译后的Java程序能直接运行吗?
3、Java为什么能跨操作系统平台运行?
4、Java和C++的不同之处有那些。
5、如果在Command状态下输入:java HelloJava出现以下结果:Bad command or file name
可能是什么原因?若出现以下结果:Exception in thread "main" https://www.360docs.net/doc/8c13733687.html,ng.NoClassDefFoundError: HelloJava可能是什么原因?
6、在HelloJava.class所在的路径下,输入命令:java HelloJava.class看看会出现什么
结果,为什么?
7、Java虚拟机是实实在在的机器吗?
8、如何改变Applet的背景色和前景色?
9、试着将一个程序另存为另一个文件名,而程序名不变,再从新编译看看会有什么结果。
为什么?
10、假设有两个包含数值的字符串,分别为"10011"和"200.22",先将其转换为所代表的数
值,然后相加,最后,再将其转换为字符串。
11、什么是强制类型转换?在什么情况下需要用到强制类型转换?
12、在使用while 语句时应注意什么,为什么?
13、字符串缓冲区的容量与长度之间的差别是什么?
14、将StringBuffer转换成String的三种方法是什么?
15、String类的concat()方法与StringBuffer中的append()方法都可以连接两字符串,
它们之间有何区别?
16、什么是最终类,如何定义最终类?试列举一最终类的例子。
17、如何定义静态域?静态域有什么特点?如何访问和修改静态域的数据?
18、什么是静态初始化器?它有什么特点?与构造函数有什么不同?
19、最终域和易失域各自有何特点?如何定义它们?
20、许多Java实现将包名映射为目录,你能想出实现包的其它方式吗?
21、无名包是什么?
22、为什么发布的包应具有唯一的包名?
23、为什么Import指令只从指定包导入类型名,而不从该包的子包导入呢?例如,为什么
import.java.awt.*;只从java.awt而不从java.awt.event导入类型名呢?
24、如何定义方法?在面向对象程序设计中方法有什么作用?
25、什么是抽象方法?它有何特点?如何定义抽象方法?如何使用抽象方法?
26、如何定义静态方法?静态方法有何特点?静态方法处理的域有什么要求?
27、简述最终方法、本地方法和同步方法的定义方法和使用场合。
28、面向对象的程序有哪3个基本的特征?
29、什么是继承?什么是父类?什么是子类?继承的特性给面向对象编程带来了什么好处?
什么是单重继承,什么是多重继承?
30、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?
31、解释this和super的意义和作用。
32、父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?
33、什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?
34、Java程序如何实现多态?有哪些方式?
35、为什么多实现继承想法差而多接口继承地想法较好?
36、什么是图形用户界面?它与字符界面有何不同?你是否曾使用过这两种界面?试列举出图
形用户界面中你使用过的组件。
37、简述图形界面的构成成分,它们各自的作用。
38、Java程序的图形用户界面中有哪些用户自定义成分?
39、图形用户界面由哪三类组成?
40、设计和实现图形用户界面的工作主要有哪些?
41、什么是选择事件?哪些操作将引发选择事件?可能产生选择事件的GUI组件有哪些?它们
之间有什么异同?分别适合于什么场合?
42、构建程序的图形用户界面的主要任务有哪两个?
43、图形用户界面中事件和事件响应的基本原理是什么?
44、为什么Java中的事件模型为代理事件模型。
45、如何创建标签,试举出标签中常用的方法有哪些。
46、按钮是如何产生事件的。
47、能够触发ACTION_PERFORMED事件的动作包括哪些。
48、ActionEvent类的重要方法有哪些。
49、Java中用于文本处理的基本组件有哪两种。
50、简述创建文本框、文本区域的方法?
51、请说明封装的好处。
52、请说明实例方法和类方法的区别。
53、简要介绍一下菜单的类型。
54、介绍一下异常处理机制的原则。
55、使用同步会有哪些负面效应?
56、比较JDBC与ODBC API.
57、请说明Java的网络功能.
58、套接字的通信协议是什么?
59、请说明服务器和客户机连接时各自所做的相应工作。
60、服务器如何来处理多个客户端的要求?
61、Java对数据报的支持与它对TCP套接字的支持的联系与区别。
62、Java中的继承与C++的语法有哪些不同?
63、为什么需要Applet和Servlet之间的通信?
64、为什么Java提供了数据流?
65、请介绍在对象的读写过程中,Java所采用的序列化的方式。
66、请介绍一下管道。
67、请说明文件有哪几种形式。
68、请说明文件访问有哪几种方式。
69、请说明与数组相比,Vector类的特点。
70、请说明Java的跨平台性和安全性等优点的代价。并指出解决这个问题的方法。
71、要实现本地方法的调用,通常需要的几个步骤是什么?
72、Java 数组与C++数组的区别有?
73、为什么在编程过程中要养成代码规范的习惯?
74、类或接口各部分的顺序是怎样的?
75、注释通常用于哪些情况?
76、请说明Java的几种命名规范.
77、请指出几种常见错误类型.
78、请说断点的含义.
79、请说明单步调试程序.
80、什么是堆栈跟踪?
81、在Java里中的引用与C++中的指针有何区别?
五、综合题
1、编写一个Java Application,利用JDK软件包中的工具编译并运行这个程序,在屏幕上
输出"Welcome to Java World!"。
2、编写一个Java Applet,使之能够在浏览器中显示"Welcome to Applet world!"的字符串信息。
3、下列程序的输出结果会是什么?
public class Test
{
public static void main(String args[])
{
System.out.println("3" + "5");
System.out.println("3" + 5);
System.out.println(3 + "5");
}
}
4、写出以下程序运行的结果:
public class Test
{
public static void main( String args[])
{
float a=3.25F,b=-2.5F;
int c,d;
c=(int)(a*b);
d=(byte)386;
System.out.println("c="+c);
System.out.println("d="+d);
}
}
5、求一个整数的20%是多少,要求结果为整数(小数部分四舍五入),用以下表达式存在
什么问题,应该怎样写表达式?
int a,b;
b=a*20/100
6、编写一个程序,求圆的面积,圆的半径由命令行参数输入。
注:将命令行参数符给 半径r(double 型)使用的语句为:
r=Double.parseDouble(args[0]);
需要引入包https://www.360docs.net/doc/8c13733687.html,ng.Double,只需在文件开头使用如下语句:import https://www.360docs.net/doc/8c13733687.html,ng.Double;
7、说出以下方法实现什么功能:
public static double myFuction(double a,double b,double c)
{
double result;
result =(a
result =(result return result; } 8、写出下面表达式的运算结果,设a =3,b =-5,f=true: (1)--a%b++ (2)(a>=1&&a<=12?a:b) (3)f^(a>b) 《java语言基础》练习题 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/8c13733687.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象 答案:A Java语言入门教程 引言 您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机 程序?无论您是想自己写出游戏程序的14岁孩子,还是对计算机编程已经好奇了20年的70岁老人,这篇文章都适合您。在本文中,我将通过教您用Java程序设计语言编程使您了解计算机程序的原理。 在讲授计算机编程的知识之前,我首先做如下假设: ?我假设您目前对计算机编程一无所知。如果您已经懂一些编程知识的话那么本文的开始部分对您来说就会显得十分简单。尽可放心跳过这些章节,从新知识处开始学习。 ?我假设您对计算机的使用有一些了解。具体说就是我假设您已经知道如何编辑、复制、删除和重命名文件,以及如何获取有关您的系统的信息等等。 ?为简单起见,我假设您的机器运行Windows95、98、2000、NT或XP操作系统。使用其他操作系统的用户将这里学到的概念运用到自己的系统中应 该也是比较容易的。 ?我假设您有学习的欲望。 进行Java编程需要的所有工具都可以轻松在网上免费获得。网上还有大量的Java学习资料,所以学完本文以后您可以很容易去学习更多内容以继续提高水平。在这里学习的Java编程在编译器、开发环境、阅读材料等等上没有任何花销。学会了Java再学习其他的语言就变得容易了,所以这里是个不错的起点。 交待完这些事情,我们就准备好了。让我们开始吧! 编程术语 记住,我假定您不懂编程。下面是一些术语,它们将有助于您的理解:?计算机程序——计算机程序是一组指令,告诉计算机应该怎么做。指令可 以告诉计算机将几个数相加,或比较两个数字并根据比较的结果作出决 定,如此之类。计算机程序只是面向计算机的一组指令而已,正如菜谱是 厨师的指令,乐谱是乐师的指令一样。计算机准确地执行这些指令的同时 也就完成了有用的工作,如计算支票簿收支,或者在屏幕上显示一个游戏,或运行一个字处理程序。 ?编程语言——为了能使计算机辨识您给它的指令,这些指令需要以一种计算机能够理解的语言书写,即编程语言。有很多计算机编程语言:Fortran、Cobol、Basic、Pascal、C、C++、Java、Perl,正如有很多人类语言一样。 它们都是用不同的方式来表达类似的概念。 ?编译器——使用人可以阅读的编程语言(如Java)写好程序后,还要用编译器将其翻译成计算机可执行的形式。您很可能在您的计算机上见到过 第1章 Java语言概述 一、判断题 1.Java语言是一种解释执行的语言,这个特点是Java语言的一个缺点。(F)2.Java源程序的文件名一定要与文件中某个类的名称一致。(T) 3.Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。(T) 4.Java中的标识符和关键字都是区分大小写的,如果把声明类的class写成Class或者CLASS,编译会出错。(T) 5.Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取,它不一定与程序的主类名一致。(F) 6.在JDK命令行开发工具中,用编译程序javac.exe编译生成的文件是二进制可执行文件。(F) 7.Java程序可以分为Java Application和Java Applet两类。(T) 8.Java虚拟机可以在Microsoft Windows系列、Linux、UNIX、Mac OS等操作系统下执行Java字节码程序。(T) 9.javac是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是class。(T) 10.appletviewer是Java小应用程序(Applet)浏览器,可以执行HTML文件 中的JavaApplet。它是个模拟浏览器,可以显示Applet的运行结果。(T) 二、选择题 1.Java工具JDK中用来运行Applet程序的命令是(D)。 A.java B.javac C.applet D.appletviewer 2.列说法不正确的是(B)。 A.一个Java源程序经过编译后,得到的文件扩展名一定是class B.一个Java源程序编译通过后,得到的结果文件数也只有一个 C.一个Java源程序编译通过后,得到的结果文件数可能有多个 D.一个Java源程序编译通过后,不一定能用Java解释器执行 3.编译Ja源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A.java B.class C.html D.exe 4.安装JDK时,为了能方便地编译和运行程序,应该设置环境变量变量的名称是(C)。 A.JAVAHOME B.java C.path C.classpath 5.Java编译程序的文件名是(C)。 A.java.exe java语言特点: 1、简单 2、面向对象 3、分布性 4、可移植行 5、解释性语言 6、安全性 7、健壮性 8、多线程 9、高性能 10、动态 package demo; 包包名 public class Test 公共的类类名 public static void main(String[] args) 公共的静态的无返回值方法名参数类型参数名称 System.out.print(“1”);输出语句 System.out.println(“2”);输出语句换行 import java.util.Scanner; Scanner sc=new Scanner(System.in);创建输入对象 int i=sc.nextInt();获得输入的值 nextDouble(),next(),nextByte()... hasNextInt();判断输入的是否是int类型数字,是返回true 不是返回false // 小类型数据转到大类型,自动类型转换 // 大类型转小类型,强制类型转换 八大基本数据类型 byte short int long float double char boolean 所占字节 1 2 4 8 4 8 2 1 (在内存的存储空间) 二进制位数8 16 32 64 32 64 16 8 默认值: 分支语句 if(条件1){ 执行代码1 }else if(条件2){ 执行代码2 }else{ 条件1和条件2都不满足就执行此处代码 } String a="y""y".equals(a); 两个String类型值对比 final 最终的常量职能赋值一次,之后不可更改 static final int PA = 300;// 全局常量 final double PI=3.14;//局部常量量不需要static static int a = 10;// 全局变量 全局变量(成员变量)整个类中有效 局部变量方法体内有效 // 怎么创建类:1、创建类名2、创建属性3、创建方法?// 定义属性:类型属性名称 // 自定义方法:public void add(int a,int b){} // 设置属性:School s=new School(); https://www.360docs.net/doc/8c13733687.html,="南大" // 调用方法: https://www.360docs.net/doc/8c13733687.html,(); // static修饰的方法可以直接用类名.方法名()调用 // 无返回值的方法用void修饰,不需要return // 有返回值的方法需要用return int[] a = new int[5];// 声明数组,并给定数组长度 int[] b = new int[] { 1, 2, 3 };// 声明数组并给数组赋值 int[] c = { 1, 2, 3 };// 直接给数组赋值 int[] arr = { 2, 5, 77, 99, 30, 58, 23 }; // 只要输出数组中的最大值 int max = arr[0];// 打擂台算法 for (int i = 1; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; } } import java.util.Arrays; Arrays.sort(int[] a);// 数组排序方法,升序 Java语言简介 1.Sun公司和Java的诞生 美国硅谷有一句行话,每10年~15年有一次轮回。最近的一次轮回就是从Java开始。 Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。 Sun 的Java 语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。Sun 内部人员把这个项目称为Green ,那时World Wide Web 还在图纸上呢。该小组的领导人是James Gosling ,是一位非常杰出的程序员。他出生于1957年,于1984年加盟Sun Microsystem 公司,之前在一家IBM研究机构工作。他是SunNeWs 窗口系统的总设计师。也是第一个用C实现的EMACS的文本编辑器COSMACS 的开发者。 在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。 为了使整个系统与平台无关,Gosling 首先从改写C编译器着手。但是Gosling在改写过程中感到仅C是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?Gosling 回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身(后来发现Oak已是Sun公司另一个语言的注册商标,才改名为Java,即太平洋上一个盛产咖啡的岛屿的名字)。 Gosling 在开始写Java 时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式,即Java 语言编译后产生的是虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。这样一来,Java就成了平台无关语言。这和Gosling设计的SunNeWs 窗口系统有着相同的技术味道。在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。 Patrick Naughton 也是Sun公司的技术骨干,曾经是Open Windows 项目的负责人。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun 的两位领导人Scott McNealy 和Bill Joy 的关注,但Java的前途未卜。 到了1994年,WWW已如火如荼地发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。 这项工作由Naughton 和Jonathan Payne 负责,到1994年秋天,完成了WebRunner 第一章 1.Java语言的特点和优势:Java:一种简单的,面向对象的,分布式的,解释型的,强壮的,安全的,体系结构中立的,可移植的,高性能的,多线程的,动态的语言。 2.Java虚拟机及Java的跨平台原理 JVM(虚拟机)的运行过程: 1)代码的装入 2) 代码的校验 3) 代码的执行(有两种方式) (1)即时编译方式(JIT):解释器先将字节码编译成机器码,然后再执行该机器码。 (2)解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码的所有操作。 3、Windows下JDK的安装: 安装目录: bin目录中常用命令介绍 -javac.exe:Java源文件编译工具 Javac Hello。Java -java.exe:Java字节码解释程序 Java Hello 4、Path设置 C:\Java\jdk1.6.0_14\lib\tools.jar; C:\Java\jdk1.6.0_14\lib/dt.jar; 5、Classpath设置 classpath=.;c:\myjava; 6、用记事本编写java程序源代码 public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World!”); } } 7、Applet没有main()方法作为Java解释器的入口,我们必须编写HTML文件,将Applet 嵌入其中,然后用支持java的浏览器或者appletviewer来运行。 第二章 1、Java是严格区分大小写的 例:不能将class写成Class。Boy和boy是不同的标识符。 Java是一种自由格式的语言 程序代码分为结构定义语句和功能执行语句。 功能执行语句的最后必须用分号(;)结束。 一条语句可以写在若干行上。可以任意编排。 单词、字符串不能分开写在两行上,注意中英文标点 2、Java中的标识符 标识符是用来标识类、变量名、方法名等的有效字符序列。 -凡是自己可以起名字的地方都叫标识符,都遵守标识符的命名规则。 Java标识符命名规则 ?-标识符由字母、数字、下划线“_”和美元符“$”组成。 ?-标识符应以字母、下划线“_”和美元符“$”开头。 ?-Java标识符对大小写敏感,长度无限制。 ?-Java标识符取名应做到“见名知意”,且不能与Java语言的关键字重名。不能以数字开头 3、Java中的标识符 Java约定: ―类名的首字母大写。 ―变量名和方法名的首字母小写。 ―常量名全部字母大写。 ―运用驼峰标识。 一、标识符及字符集 Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定: 1.类、接口:通常使用名词,且每个单词的首字母要大写 2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔 4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。 Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。 Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限 二、关键字 Java常用关键字列表如下: 分类如下: 1.访问控制:private 私有的 protected 受保护的 public 公共的 2.类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步 transient 短暂 volatile 易失 3.程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行while 循环 if 如果 else 反之 for 循 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认 4.错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象 throws 声明一个异常可能被抛出 try 捕获异常 5.包相关import 引入 package 包 6.基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假 第一讲 Java语言概述1.Java语言有哪些特点? 2.什么叫做类?什么叫做对象? 3.简述Java的运行机制。 4.简述Java应用程序的开发流程。 5.当初Sun公司发展Java的原因是: (a)要发展航空仿真软件 (b)要发展人工智能软件 (c)要发展消费性电子产品 6.Java是从哪种语言改进并重新设计? (a)Ade (b)C++ (c)Pascal 7.Java因为什么快速发展而走红? (a)个人计算机与网络 (b)游戏软件 (c)系统软件 8.Java程序的种类有: (a)内嵌于Web文件中,由浏览器来观看的__________ (b)可独立运行的__________ (c)服务器端的_________ 9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。 10. 判断:用Javac编译Java源文件后得到代码叫字节码。() 参考答案 1.答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能 2.答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。 3.答:Java程序的运行必须经过编写、编译、运行三个步骤。编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java的Java源文件。编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。 4.Java应用程序的运行经过编写、编译、运行三个步骤。 第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。 第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译。 第3步,执行程序。在同样的命令窗口中输入“java filename”形式的命令执行程序。 完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。 5.c 6.b 7.a 8.Applet Application Servlets 9.软件模型 10.true Java语言程序设计及试题答案 一、单选题(共20分,每小题1分) 1、下面哪一个不是java语言的特点()。 (A)面向对象(B)安全性高 (C)与平台无关(D)复杂多变 2、下面的哪一个标识符是合法可用的()。 (A)2abcd (B)int (C)var# (D)abcd123 3、在基本数据类型中,整型(int)位长为()。 (A)8 (B)16 (C)32 (D)64 4、Java中的所有对象都是在运行时动态创建的,创建新对象可用的关键字为()。(A)new (B)string (C)byte (D)true 5、继承是指新的类获得已有类的属性和行为,称新类为已有类的()。 (A)子类(B)父类(C)对象(D)实体 6、读下面的程序: public _______clock { int hour; int minute; int second; public void settime (int newh, int newm,int news) {hour=newh; minute=newm; second=news; } } 划线位置应选择的关键字为()。 (A)new (B)class (C)system (D)out 7、读下面的三个程序段: public class Circle { int radius; } public class Rectangle{ double width=10.128; double height=5.1245; } public (7)ShaperTester { public static void (8)(String args[]){ Circle x; Rectangle y; x=(9)Circle(); y=(9)Rectangle(); System.out.println(x+””+y); } 1、简述java语言的特点? 1.2 Java语言是目前使用最为广泛的网络编程语言之一 (1分) 具有面向对象 (1分) 与平台无关性 (1分) 多线程性 (1分) 动态性等特点 (1分) 2、简述Java程序的开发过程? 1.3 (1)使用一个文字编辑器,编写源文件。(1分) (2)使用java编译器,编译源文件得到字节码文件。(2分) (3)运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。(2分) 3、 java源文件的命名规则是什么? 1.3 如果源文件中有多个类,那么只能有一个类是public类(1分) 如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分) 如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分) 4、怎样区分应用程序和小应用程序? 1.4 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main方法必须被说明为public static void (2.5分) 一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。(2.5分) 5、 Java中共有哪些基本数据类型? 2.2 基本类型共有8种,分四类分别是(1分) 逻辑型(1分) 字符型(1分) 整型(1分) 浮点型(1分) 6、 Java中数据类型分别用什么符号来表示的? 2.2 逻辑型用boolean 表示(1分) 字符型用char表示(1分) 整型共有4种分别是 byte、short、long、int (2分) 浮点型共两种float和double (1分) 7、简答标示符的概念及定义原则? 2.1 标示符是用来标识类名、变量名、方法名、类型名等有效字符序 第一章 1.1 public class Test{ public static void main(String[] args){ System.out.println("Welcome to Java !"); System.out.println("Welcome to Computer Science !"); System.out.println("Programming is fun ."); } } 1.2 public class Test{ public static void main(String[] args){ for(int i = 0;i <= 4;i++){ System.out.println("Welcome to Java !"); } } } 1.3 public class Test{ public static void main(String[] args){ System.out.println(" ]"); System.out.println(" ]"); System.out.println("] ]"); System.out.println(" ]]"); } } public class Test{ public static void main(String[] args){ System.out.println(" A"); System.out.println(" A A"); System.out.println(" AAAAA"); System.out.println("A A"); } } public class Test{ public static void main(String[] args){ System.out.println("V V"); System.out.println(" V V"); System.out.println(" V V"); System.out.println(" V"); } } 1.4 public class Test{ public static void main(String[] args){ System.out.println("a a^2 a^3");《java语言基础》考试题
Java语言入门教程
1 Java语言概述答案
java语言特点
Java语言简介
Java语言的特点和优势
java语言基础教程
Java语言概述(试题)
Java语言程序设计 及 试题答案
Java语言程序设计(一)复习资料--Java简答题
Java语言程序设计(基础篇)原书第十版 梁勇著 第一章答案