java练习题_附选择填空答案
A.while 循环先判断后执行,for 循环先执行后判断。
B.while 循环判断条件一般是程序结果,for 循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
7.下列修饰符中与访问控制无关的是 ( ) D
A.private
B.public
System.out.println(i+" "+getName()); try {
sleep((long)(Math.random()*1000)); }catch (InterruptedException e){} } System.out.println("DONE! "+getName()); }} 3. 按注释提示完成文件复制的程序
涉及到 AWT 的不清楚,自己看书吧。 不保证全部正确 2010-2011JAVA 期末试卷
一、填空题(每空 2 分,共 20 分)
1.Java 源程序的扩展名是
,经过编译后的程序的扩展名是 。
java class
2.Socket 通常也称为
,用于描述
和。
3.线程的优先级在 至 之间,数值越大
1-10 优先级越低
}
}
输出结果是
(1) 200
(2) 100
5.阅读程序,给出结果:
// AbstractClassDemo.java 源代码如下:
abstract class Shape { //定义抽象类 Shape 和抽象方法 display
abstract void display();
}
class Circle extends Shape {
(new Circle()).display(); //定义无名对象来调用对应的 display 方法 (new Rectangle()).display(); (new Triangle()).display(); } } 输出结果是: (1) Circle (2) Rectangle (3) Triangle
一、 选择
Java 试题(一)
1.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的 ?
A ArrayList myList=new Object();
B List myList=new ArrayList();
C ArrayList myList=new List();
3.符合对象和类关系的是: ( ) D
A、人和老虎
B、书和汽车
C、楼和土地
D、松树和植物
4.关于选择结构下列哪个说法正确? ( ) B
A.if 语句和 else 语句必须成对出现
B.if 语句可以没有 else 语句对应
C.一个 if 语句只能有一个 else if 语句与之对应
D.else if 结构中必须有 default 语句
13.下列说法哪个正确? ( )
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
14.关于方法 main()的说法哪个正确?( )
A. 方法 main()只能放在公共类中
B. main()的头定义可以根据情况任意更改
C. 一个类中可以没有 main()方法
22. 对于已经被定义过可能抛出例外的语句,在编程时: ( )
A、必须使用 try/catch 语句处理例外,或用 throws 将其抛出
B.如果程序错误,必须使用 try/catch 语句处理例外
C.可以置之不理
D.只能使用 try/catch 语句处理
23.下列哪个关键字用于实现接口 ( )
A.implements
6
//FileStream 源代码如下:
import java.io.*;
class FileStream {
public static void main(String args[]) {
try{
File inFile=new File("file1.txt"); //指定源文件
File outFile=new File("file2.txt"); //指定目标文件
);
}
static int fib(int n) {
if (n==0||n==1) {
return n;
}
else {
int sum=fib(n-1)+fib(n-2);
return sum;
}
}
}
输出结果为:
(2) 3
2. 多线程 CPU 调度
5
// TwoThreads.java 源代码如下: public class TwoThreadsDemo {
5.while 循环和 do…while 循环的区别是: ( ) D
A.没有区别,这两个结构任何情况下效果一样
1
B.while 循环比 do…while 循环执行效率高
C.do…while 循环执行次数可能为 0
D.while 循环执行次数可能为 0
6.关于 for 循环和 while 循环的说法哪个正确? ( ) B
void display() { //实现抽象类的方法
System.out.println("Circle");
}
}
class Rectangle extends Shape {
void display() {
//实现抽象类的方法 System.out.println("Rectangle");
}
}
4.指出下列程序运行的结果 public class Example{
String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){
三、程序阅读与填空题(每题 6 分,共 30 分)
1. 阅读程序给出结果
下列程序段用来计算 Fibonacci 序列的第 0,1,2,…各项
public class Fibonacci {
public static void main(String args[]) {
System.out.println("Fibonacci 第 4 项="+(1)fib(4)
public static void main(String[] args) {
new SimpleThread("Cat"). (1) ; new SimpleThread("Mouse"). (2) ; } } class SimpleThread(String str) { super(str); } public void run() { for (int i=0;i<10;i++) {
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类 public 方法和属性
D、子类只继承父类的方法,而不继承属性
18.关于构造函数的说法哪个正确? ( )
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
3
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
D. 所有对象的创建都必须放在 main()方法中
15.构造函数何时被调用? ( )
A、创建对象时
B、类定义时
C、使用对象的方法时 D、使用对象的属性时
16.抽象方法: ( )
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
17.关于继承的说法正确的是: ( )
class Triangle extends Shape {
void display() {
//实现抽象类的方法
8
System.out.println("Triangle"); } } public class AbstractClassDemo{ public static void main(String args[]){
A、可以通过浏览器调用嵌入了 Java 小程序的 HTML 文档
B、可以通过 appletviewer.exe 调用嵌入了 Java 小程序的 HTML 文档
C、可以通过 java.exe 调用嵌入了 Java 小程序的 HTML 文档
D、可以在 Java 集成开发环境中调用嵌入了 Java 小程序 HTML 文档
19.关于 super 的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在 main()方法中
20.覆盖与重载的关系是 ( )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final 修饰的方法可以被覆盖,但不能被重载
7
int x=200;
void prt(){
System.out.println("SubClass: "+x);
System.out.println("SuperClass: "+super.x);
}
public static void main(String args[]){
java练习题_附选择填空答案
涉及到AWT的不清楚,自己看书吧。
不保证全部正确2010-2011JAVA期末试卷一、填空题(每空2分,共20分)1.Java源程序的扩展名是,经过编译后的程序的扩展名是。
java class 2.Socket通常也称为,用于描述和。
3.线程的优先级在至之间,数值越大1-10 优先级越低4.构造方法是一种特殊的成员方法,构造方法名与相同类名5.Java语言只允许单继承,指每个类只能有一个。
父类二、选择题(每题2分,共50分)1.下列哪个概念是面向对象和面向过程程序设计所共有的() BA、继承B、流程控制C、抽象D、封装2.以下关于执行Java小程序的论述错误的是:() AA、可以通过浏览器调用嵌入了Java小程序的HTML文档B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档C、可以通过java.exe调用嵌入了Java小程序的HTML文档D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档3.符合对象和类关系的是:() DA、人和老虎B、书和汽车C、楼和土地D、松树和植物4.关于选择结构下列哪个说法正确?()BA.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.一个if语句只能有一个else if语句与之对应D.else if结构中必须有default语句5.while循环和do…while循环的区别是:()DA.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()BA.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()DA.private B.publicC.protected D.final8.方法内的形参:() BA.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()AA.表示方法可能会抛出异常B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4 D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B. main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。
java基础试题及答案
java基础试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个修饰符用于声明一个成员变量为类的私有成员?A. privateB. publicC. protectedD. static答案:A4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 下列哪个选项是Java集合框架中的一部分?A. StringB. ArrayListC. FileD. Thread答案:B7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. native答案:A9. 在Java中,哪个关键字用于定义一个内部类?A. innerB. nestedC. innerclassD. class答案:D10. Java中,哪个关键字用于定义一个静态方法?A. staticB. dynamicC. finalD. abstract答案:A二、填空题(每题3分,共15分)1. Java中,用于定义一个类的关键字是______。
答案:class2. Java程序的入口点是______方法。
答案:main3. 在Java中,______关键字用于声明一个变量为常量。
答案:final4. Java中,______关键字用于定义一个方法为静态的。
Java试题答案(全)
一、选择题答案选择第1题B选择第2题A选择第3题C选择第4题B选择第5题A选择第6题A选择第7题B选择第8题C选择第9题B选择第10题B选择第11题C二、多项选择题答案多项选择第1题BD多项选择第2题AE多项选择第3题AC多项选择第4题AE多项选择第5题AE多项选择第6题DEF多项选择第7题AC多项选择第8题BC多项选择第9题AB多项选择第10题CD多项选择第11题CD多项选择第12题ACD多项选择第13题ABD三、填空题答案填空第1题x=10,a=3,b=4,c=5填空第2题java.util填空第3题(public )(static )(void)(main)(String args[])填空第4题1填空第5题26四、编程题答案1public class HelloWorld{public static void main(String args[]) {System.out.println("Hello,World!");}}import java.awt.Graphics;import java.applet.Applet;public class HelloWorld extends Applet{ String s;public void init(){s="Hello World!";}public void paint(Graphics g){g.drawString(s,25,25);}}2class yanghui{public static void main (String args[]) {int i,j;int yhlevel=10;int yanghui[][];System.out.println("杨晖三角形:");yanghui=new int[yhlevel][];for(i=0;i<yanghui.length;i++)yanghui[i]=new int[i+1];yanghui[0][0]=1;for (i=1; i<yanghui.length;i++){yanghui[i][0]=1;for(j=1;j<yanghui[i].length-1;j++)yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];yanghui[i][yanghui[i].length-1]=1;}for (i=0; i<yanghui.length;i++){for(j=0;j<yanghui[i].length;j++)System.out.print(yanghui[i][j]+" ");System.out.println();}}}输出结果是:杨晖三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 13import java.io.*;public class MemoController{FileOutputStream fos;OutputStreamWriter osw;BufferedWriter bw;public MemoController(){try{fos=new FileOutputStream("memo.txt",true);osw=new OutputStreamWriter(fos);bw=new BufferedWriter(osw);}catch(FileNotFoundException e){};}public synchronized void append(String s){try{bw.write(s,0,s.length());bw.flush();bw.close();osw.close();fos.close();}catch(IOException e){}}public static void main(String args[]){MemoController mmc=new MemoController();mmc.append("I am xubin ");}}4import java.io.*;class Phones{static FileOutputStream fos;public static final int lineLength = 81;public static void main(String args[]) throws IOException{byte[] phone = new byte[lineLength];byte[] name = new byte[lineLength];int I;try{fos = new FileOutputStream("phone.numbers");}catch(FileNotFoundException e){ }while (true){System.err.println("Enter a name (enter 'done' to quit)");readLine(name);if ("done".equalsIgnoreCase(new String(name,0,0,4))){break;}System.err.println("Enter the phone number");readLine(phone);for (int i=0;phone[i]!= 0;i++){fos.write(phone[i]);}fos.write(',');for (int i=0;name[i]!= 0;i++){fos.write(name[i]);}fos.write('\n');}fos.close();}private static void readLine(byte line[]) throws IOException {int i=0,b=0;while ((i<lineLength-1)&&((b=System.in.read())!='\n')){line[i++] = (byte)b;}line[i]=(byte) 0;}}。
Java试题(附答案)
Java试题(附答案)⼀、单选题(每道⼩题只有⼀个正确的选项)1、Java程序中要⽤变量来存储学⽣性别信息,从节约内存空间的⾓度最好选择哪种数据类型( D )A)int B)short C)byte D)boolean2、Java语⾔中基本的数据类型不包括( C ):A)整型B)浮点型C)数组D)逻辑型3、Java程序中⽤来定义常量必须⽤到的关键字是(A)A)final B)class C)void D)static4、下列属于Java语⾔中字符常量的是( B )A)”m”B)‘!’C)a D)$5、⼀个简单的Java程序可能没有⽤到的关键字是(C )A)void B)public C)int D)static6、下列关于Java程序中数组的使⽤说法正确的是(A)A)数组必须在使⽤前定义B)同⼀个数组中的元素类型必须不同C)数组是⼀种特殊的变量不需在使⽤前声明D)数组的元素不可以是数组7、程序设计语⾔的发展主要经历了三个阶段,其中不包括(A)A)数学语⾔B)机器语⾔C)汇编语⾔D)⾼级语⾔8、关于程序设计语⾔下列说法错误的是( C )A)Java、C++、VB等都是当前⼴泛使⽤的⾼级程序设计语⾔。
B)⼀项任务可以使⽤多种语⾔来实现,使⽤前需要综合考虑选择合适的语⾔。
C)因特⽹的应⽤开发必须使⽤Java语⾔来实现。
D)Java是⼀种完全⾯向对象的⾼级语⾔,在因特⽹的应⽤开发中⼴泛应⽤。
9、经过编译后的Java程序的扩展名是( B )A).java B).class C).exe D).bat10、关于Java源程序的说法错误的是( C )A)⽂件名必须和主类名⼀致B)使⽤“javac”对java程序进⾏编译C)java程序的编译运⾏须借助辅助软件D)java源程序的扩展名为.java11、若已定义x和y是double型变量,则表达式x=1,y=x+3/2执⾏后y的值为( D )A)1 B)2 C)3 D)2.512、Java语⾔中整型常量有三种形式即⼋进制整数、⼗进制整数和⼗六进制整数。
java基础入门考试题目及答案
java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
答案:main3. 在Java中,所有的类都是_________类的子类。
答案:Object4. Java中,用于声明一个私有方法的关键字是_________。
JAVA各章习题及答案-全解
第1章Java入门一、选择题1.下列选项中,不属于Java语言特点的一项是〔C 〕.〔A〕分布式〔B〕安全性〔C〕编译执行〔D〕面向对象[解析]Java程序采用解释执行的方法.在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行.2.在Java语言中,〔 C 〕是最基本的元素?〔A〕方法〔B〕包〔C〕对象〔D〕接口[解析]构成Java程序的基本元素类〔抽象的对象〕. 3.编译一个定义了3个类和10个方法的Java源文件后,会产生〔D 〕个字节码文件?扩展名是〔D 〕?〔A〕13个字节码文件,扩展名为.class〔B〕1个字节码文件,扩展名为.class〔C〕3个字节码文件,扩展名为.java〔D〕3个字节码文件,扩展名为.class[解析]源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class.4.在创建Applet应用程序时,需要用户考虑问题是〔B 〕.〔A〕窗口如何创建〔B〕绘制的图形在窗口中的位置〔C〕程序的框架〔D〕事件处理[解析]创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以与事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定.5.Java语言属于〔B 〕种语言?〔A〕面向机器的语言〔B〕面向对象的语言〔C〕面向过程的语言〔D〕面向操作系统的语言[解析]Java语言是一种纯面向对象的语言.6.下列关于Application和Applet程序的说法中不正确的一项是〔B 〕.<A>Application使用解释器java.exe<B>Application不使用独立的解释器〔C〕Applet在浏览器中运行〔D〕Applet必须继承Java的Applet类[解析]Application程序包含main<>方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行. 7.下列选项中,不属于Java核心包的一项是〔A 〕.〔A〕javax.swing 〔B〕java.io〔C〕java.utile 〔D〕ng[解析]凡是以java开头的包都是Java核心包,以javax 开头的包则属于Java扩展包.8.下列描述中,不正确的是〔A 〕.〔A〕不支持多线程〔B〕一个Java源文件不允许有多个公共类〔C〕Java通过接口支持多重继承〔D〕Java程序分为Application和Applet两类[解析]Java是支持多线程的语言.9.阅读下列代码,选出该代码段正确的文件名〔C 〕.class A{void method1<>{System.out.println<"Method1 in class A">;}}public class B{void method2<>{System.out.println<"Method2 in class B">;}public static void main<String[] args>{System.out.println<"main<> in class B">;}}〔A〕A.java 〔B〕A.class〔C〕B.java 〔D〕B.class[解析]Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java. 10.编译下面源程序会得到哪些文件〔D 〕?class A1{}class A2{}public class B{public static void main<String[] args>{}}〔A〕只有B.class文件〔B〕只有A1.class 和A2.class文件〔C〕编译不成功〔D〕A1.class、A2.class和B.class文件[解析]由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件.11.编译Java程序时,用于指定生成class文件位置的选项是〔 A 〕.A.-d B.-g C.-verbose D.-nowarn 12.下列标识符〔名字〕命名原则中,正确的是〔 C 〕. A.类名的首字母小写 B.接口名的首字母小写C.常量全部大写 D.变量名和方法名的首字母大写13.下面哪种注释方法能够支持javadoc命令?〔C〕A.// B./*...*/ C./**...*/ D./**...**/ 14.下面哪些选项是正确的main方法说明?〔D〕A.void main<>B.private static void main<String args[]> C.public main<String args[]> D.public static void main<String args[]>二、填空题1.Java程序的编译和执行模式包括2点,是半编译和半解释.2.Java语言支持TCP/IP 协议,从而使得Java程序在分布式环境中能够很方便地访问处于不同地点的对象. 3.开发Java程序的一般步骤是:源程序编辑、生成字节码和解释执行.4.每个Java Application程序可以包括许多方法,但是必须有且只能有一个main<> 方法,统一格式为public static void main<String[] args> ,它是程序执行的入口.5.JVM把字节码程序与各种不同的操作系统和硬件分开,使得Java程序独立于平台.6.在Java程序中,能在WWW浏览器上运行的是Applet 程序.7.Java源程序文件和字节码文件的扩展名分别为.java 和.class .8.如果在Java程序中需要使用java.utile包中的所有类,则应该在程序开始处加上import java.utitle.* 语句.三、判断题1.Java语言具有较好的安全性和可移植性与与平台无关等特性.〔√ 〕2.Java语言的源程序不是编译型的,而是编译解释型的.〔√ 〕3.Java Application程序中,必有一个主方法main<>,该方法有没有参数都可以.〔√ 〕4.java.util.Scanner<System.in>可以接收用户从键盘输入的简单数据.〔√ 〕5.Java程序中不区分大小写字母.〔× 〕6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行.〔√ 〕7.System类中的println<>方法分行显示信息,而print<>方法不分行显示信息.〔√ 〕8.当前路径的标识是".".〔√ 〕9.java命令不区分大小写,而javac命令区分大小写.〔× 〕10.printf<>和 format<>方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流〔S ystem.out对象〕中.〔√ 〕11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class.〔× 〕第2章标识符与简单数据类型一、选择题1.下列〔D 〕是合法的标识符?〔A〕12class 〔B〕void 〔C〕-5 〔D〕_blank 2.下列〔B 〕不是Java中的保留字?〔A〕if 〔B〕sizeof 〔C〕private 〔D〕null 3.下列〔C 〕不是合法的标识符?〔A〕$million〔B〕$_million〔C〕2$_million 〔D〕$2_million4.下列选项中,〔B 〕不属于Java语言的基本数据类型?〔A〕整数型〔B〕数组〔C〕浮点型〔D〕字符型5.下列关于基本数据类型的说法中,不正确的一项是〔D 〕.〔A〕boolean类型变量的值只能取真或假〔B〕float是带符号的32位浮点数〔C〕double是带符号的64位浮点数〔D〕char是8位Unicode字符[解析]Java中的字符采用的是16位的Unicode字符. 6.下列关于基本数据类型的取值范围的描述中,正确的一个是〔B 〕.〔A〕byte类型的取值范围是-128~128〔B〕boolean类型的取值范围是真或假〔C〕char类型的取值范围是0~65536〔D〕short类型的取值范围是-32767~32767[解析]根据每种类型占几个字节即可推算出其取值范围,如byte类型占1个字节,即共包含28个数值,其取值范围范围应为-128~127,其他类型也是如此.7.下列关于Java语言简单数据类型的说法中,正确的一项是〔A 〕.〔A〕以0开头的整数代表8进制整型常量〔B〕以0x或0X开头的整数代表8进制整型常量〔C〕boolean类型的数据作为类成员变量的时候,相同默认的初始值为true〔D〕double型数据占计算机存储的32位8.下列Java语句中,不正确的一项是〔C 〕.〔A〕$e, a, b = 10; 〔B〕char c, d = ‘a’;〔C〕float e = 0.0d; 〔D〕double c = 0.0f;[解析]不能将double类型的常量赋值给float类型的变量.9.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是〔D 〕.〔A〕byte的默认值是0 〔B〕boolean的默认值是false 〔C〕char类型的默认值是’\0’〔D〕long类型的默认值是0.0L10.下列语句中不正确的一个是〔B 〕.〔A〕float f = 1.1f; 〔B〕byte b = 128;〔C〕double d = 1.1/0.0; 〔D〕char c = <char>1.1f;[解析]bytel类型变量的取值范围是-128~127. 11.下列表达式1+2+ "aa"+3的值是〔B 〕.〔A〕"12aa3" 〔B〕"3aa3 " 〔C〕"12aa" 〔D〕"aa3"[解析]整数和整数相加得到两个整数的和,而整数和字符串相加得到的是字符串.12.已知y=2, z=3, n=4,则经过n=n+ -y*z/n运算后n的值为〔A 〕.〔A〕3〔B〕-1 〔C〕-1 〔D〕-3[解析]根据运算符的优先级,该表达式相当于n=n+ <<-y>*z>/n.13.已知a=2, b=3,则表达式a%b*4%b的值为〔A 〕.〔A〕2 〔B〕1 〔C〕-1 〔D〕-2[解析]根据运算符的优先级,该表达式相当于<<a%b>*4>%b.14.已知x=2, y=3, z=4,则经过z- = --y – x--运算后,z的值为〔D 〕.〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]在表达式运算过程中,--y的值变为2,x—的值还是2,等号右侧运算后的值为0,因此z的值没有变化. 15.表达式<12==0> && <1/0 < 1>的值为〔B 〕.〔A〕true B〕false 〔C〕0 〔D〕运行时抛出异常[解析]由于<12==0>的值为false,因此整个表达式发生短路运算,即<1/0 < 1>就没有参与运算,整个表达式的值为false.16.设有类型定义short i=32; long j=64; 下面赋值语句中不正确的一个是〔B 〕〔A〕j=i; 〔B〕i=j; 〔C〕i=<short>j; 〔D〕j=<long>i;[解析]long类型的数据不能自动转变为short类型,因此不能将long类型的变量直接赋值给short类型. 17.现有1个char类型的变量c1=66和1个整型变量i=2,当执行c1=c1+<char>i;语句后,c1的值为〔D 〕.〔A〕'd' 〔B〕'D' 〔C〕68 〔D〕语句在编译时出错[解析]两个字符型的数据相加,得到的是一个整数,而如果把整数再赋值给一个字符型变量则会在编译时出错. 18.下列说法中,正确的一项是〔D 〕.〔A〕字符串"\\abcd" 的长度为6〔B〕False是Java的保留字〔C〕123.45L代表单精度浮点型〔D〕False是合法的Java标识符[解析]Java语言对字符的大小写是敏感的,False不是false,因此False是合法的Java标识符.19.以下的变量定义语句中,合法的是〔D 〕〔A〕float _*5 = 123.456F; 〔B〕byte $_b1 = 12345; 〔C〕int _long_ = 123456L;〔D〕double d = Double.MAX_V ALUE;[解析]〔A〕中_*5不是合法的标识符,〔B〕中12345超出byte范围,〔C〕中不能将long类型的常量赋值给int 型的变量.20.下列关于运算符优先级的说法中,不正确的一个是〔C 〕〔A〕运算符按照优先级顺序表进行运算〔B〕同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的〔C〕同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的〔D〕括号可以改变运算的优先次序[解析]同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的.二、填空题1.变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:字符型和数值型.2.Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是byte、int 、short 和long. 3.boolean 类型数据不可以做类型转换.4.在Java语言的基本数据类型中,占存储空间最少的类型是boolean ,该类型占用的存储空间为 1 位. 5.Java语言中的保留字具有特殊意义和作用,不能作为普通标识符使用.6.在Java语言中,浮点类型数据属于实型数据,可以分为单精度和双精度两种.7.char类型的数据可以表示的字符数共为65536 .8.定义初始值为10的8次方的常整型变量iLong的语句是final iLong = 100000000L.9.Java语言中的数据类型转换包括自动转换和强制转换两种.10.Java中的字符采用的是16位的Unicode 编码.11.数据类型中存储空间均为64位的两种数据类型是long 和double .12.表达式9*4/ -5%5的值为-2 .〔十进制表示〕13.表达式5&2的值为0 .〔十进制表示〕14.表达式42<<4的值为672 .〔十进制表示〕15.表达式11010011>>>3的值为11010 .〔二进制表示〕16.表达式7|3的值为7 .〔十进制表示〕17.表达式10^2的值为8 .〔十进制表示〕18.Java语言中的逻辑与<&&>和逻辑或<||>运算采用短路方式进行运算.19.若a、b为int型变量,并且已分别赋值为5和10,则表达式<a++>+<++b>+a*b的值为82 .20.假设i=10, j=20, k=30,则表达式!<i<j+k> || !<i+10<=j> 的值为false .三、判断题1.Java语言使用的是Unicode字符集,每个字符在内存中占8位.〔×〕2.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变.〔√〕3.所有的变量在使用前都必须进行初始化.〔×〕4.已知byte i = <byte>127; i = i +1;这两个语句能被成功编译.〔√〕5.String str="abcdefghi"; char chr=str.charAt<9>; 〔×〕6.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6]; 〔√〕7.int i,j; boolean booleanValue=<i==j>; 〔×〕8.int intArray[]={0,2,4,6,8}; int length=int Array.length<>;〔×〕9.String str="abcedf"; int length=str.length; 〔×〕10.short shortValue=220; byte byteValue=shortValue; 〔×〕11.int[] intArray[60]; 〔×〕12.char[] str="abcdefgh"; 〔×〕13.说明或声明数组时不分配内存大小,创建数组时分配内存大小.〔√〕14.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型.〔√〕第3章运算符、表达式与语句一、选择题1.下列〔D 〕不属于Java语言流程控制结构?〔A〕分支语句〔B〕跳转语句〔C〕循环语句〔D〕赋值语句[解析]Java语言流程控制结构只包括分支、循环和跳转三种语句.2.假设a是int类型的变量,并初始化为1,则下列〔D 〕是合法的条件语句?〔A〕if<a>{} 〔B〕if<a<<=3>{}〔C〕if<a=2>{}〔D〕if<true>{}[解析]条件语句中的"条件表达式"只能是boolean类型,不能是其他类型.3.下列说法中,不正确的一个是〔C 〕.〔A〕switch语句的功能可以由if…else if语句来实现〔B〕若用于比较的数据类型为double型,则不可以用switch语句来实现〔C〕if …else if语句的执行效率总是比switch语句高〔D〕case子句中可以有多个语句,并且不需要大括号{}括起来[解析]语句执行效率高低要根据具体语句来确定,不能简单地说if…else if语句的执行效率总是比switch语句高. 4.设a、b为long型变量,x、y为float型变量,ch为char 类型变量且它们均已被赋值,则下列语句中正确的是〔 B 〕.〔A〕switch<x+y> {} 〔B〕switch<ch+1> {}〔C〕switch ch {} 〔D〕switch<a+b>; {}[解析]switch后面的表达式必须放在括号<>中,且表达式的类型只能是byte、short、int和char类型,不能是其他类型.5.下列循环体执行的次数是〔 C 〕.int y=2, x=4;while<--x != x/y>{ }〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]第1次执行while时,--x的值为3,3/2=1,满足等号两端值不等的条件,执行一次循环体;第2次执行while 时,--x的值为2,2/2=1,条件满足,又执行一次循环体;第3次执行while时,--x的值为1,1/2=0,条件满足,再次执行一次循环体;第4次执行while时,--x的值为0,0/2=0,条件不满足满足,结束循环.因此在这个循环语句执行的过程中,循环体共执行了3次.6.下列循环体执行的次数是〔 B 〕.int x=10, y=30;do{ y-=x;x++; }while<x++<y-->;〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]执行1次循环体后,y的值为20,x值为11,然后执行while,此时x++的值为11,y—的值为20,因此x++<y—条件满足,判断完后,x的值变为12,y的值变为19;接着执行第2次循环体,执行完第2次循环体后,y的值为9,x值为13,然后执行while,此时x++的值为13,y—的值为9,因此x++<y—条件不满足,结束循环.因此在这个循环语句执行的过程中,循环体共执行了2次.7.已知如下代码:switch<m>{case0:System.out.println<"Condition 0">;case1:System.out.println<"Condition 1">;case2:System.out.println<"Condition 2">;case3:System.out.println<"Condition3">;break;default:System.out.println<"OtherCondition">; }当m的值为< D >时,输出"Condition 3"〔A〕2 〔B〕0、1 〔C〕0、1、2〔D〕0、1、2、3 [解析]当m的值为0、1、2、3时,都能输出"Condition 3",因为case 0、case 1、case 2后面的语句都没有break,因此可以继续向后执行.二、填空题1.跳转语句包括break、continue、return和throw 2.switch语句先计算switch后面的表达式的值,再和各case 语句后的值做比较.3.if语句合法的条件值是boolean 类型. 4.continue语句必须使用于循环语句中. 5.break语句有两种用途:一种从switch 语句的分支中跳出,一种是从循环语句内部跳出.6.do -while循环首先执行一遍循环体,而while循环首先判断表达式的值 . 7.与C++语言不同,Java语言不通过goto 语句实现跳转.8.每一个else子句都必须和它前面的一个距离它最近的if 子句相对应.9.在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会继续执行后面的case 语句块.10.在for循环语句中可以声明变量,其作用域是for循环体.第4章类与对象一、选择题1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?〔D 〕〔A〕protected 〔B〕public 〔C〕default〔D〕private2.在Java语言中,哪一个包中的类是自动导入的?〔 A 〕A〕ng B〕java.awtC〕java.io D〕java.applet[解析]只有ng包中的类能够被自动导入.3.给出下面的程序代码:public class X4_1_3 {private float a;public static void m< >{ }}如何使成员变量a被方法m< >访问〔 C 〕〔A〕将private float a改为protected float a〔B〕将private float a改为public float a〔C〕将private float a改为static float a〔D〕将private float a改为float a[解析]static类型的方法只能访问static类型的数据成员.4.有一个类B,下面为其构造方法的声明,正确的是〔 B 〕.〔A〕void B<int x> {} 〔B〕B<int x> {}〔C〕b<int x> {} 〔D〕void b<int x> {}5.下面关于类的说法,不正确的是〔 C 〕.〔A〕类是同种对象的集合和抽象〔B〕类属于Java语言中的复合数据类型〔C〕类就是对象〔D〕对象是Java语言中的基本结构单位[解析]类是对象的抽象,对象是类的实例6.下面关于方法的说法,不正确的是〔C 〕. 〔A〕Java中的构造方法名必须和类名相同〔B〕方法体是对方法的实现,包括变量声明和合法语句〔C〕如果一个类定义了构造方法,也可以用该类的默认构造方法〔D〕类的私有方法不能被其他类直接访问[解析]类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法. 7.关于内部类,下列说法不正确的是〔A 〕.〔A〕内部类不能有自己的成员方法和成员变量〔B〕内部类可用private或protected修饰符修饰〔C〕内部类可以作为其他类的成员,而且可访问它所在的类的成员〔D〕除static内部类外,不能在类内声明static成员8.定义外部类时不能用到的关键字是〔 C 〕.〔A〕final 〔B〕public 〔C〕protected 〔D〕abstract[解析]定义外部类不能使用protected修饰符.9.为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为〔 D 〕〔A〕abstract void f<> 〔B〕public void f<>〔C〕final void f<> 〔D〕static void f<> [解析]只有static类型的方法才可以直接使用类名来引用.10.定义一个公有double型常量PI,哪一条语句最好?〔 B 〕〔A〕public final double PI;〔B〕public final static double PI=3.14;〔C〕public final static double PI;〔D〕public static double PI=3.14;[解析]用public final static来定义常量,既可以节省存储空间,又可以保证数值不会被改变.二、填空题1.对象是对事物的抽象,而类是对对象的抽象和归纳.2.从用户的角度看,Java源程序中的类分为两种:系统定义的类和用户自己定义的类.3.一个类主要包含两个要素:数据成员和成员方法.4.创建包时需要使用关键字package .5.类中的构造方法是一个特殊的方法,该方法的方法名和类名相同.6.如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个默认构造方法.这个方法没有形式参数,也没有任何具体语句,不能完成任何操作.7.静态数据成员被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中.因此,一个类的任何对象访问它时,存取到的都是相同〔相同/不同〕的数值.8.静态数据成员既可以通过对象名来访问,也可以通过类名直接访问它.9.定义常量时要用关键字final ,同时需要说明常量的数据类型并指出常量的具体值 .10.方法体内定义变量时,变量前不能加修饰符;局部变量在使用前必须明确赋值,否则编译时会出错;而类变量在使用前可以不用赋值,它们都有一个默认的值.11.static方法中只能引用static 类型的数据成员和static 类型的成员方法;而非static类型的方法中既可以引用static 类型的数据成员和成员方法,也可以引用非static 类型的数据成员和成员方法.12.引用static类型的方法时,可以使用类名做前缀,也可以使用对象名做前缀.13.当程序中需要引用java.awt.event包中的类时,导入该包中类的语句为import java.awt.event.*.14.定义类时需要class 关键字,继承类时需要extends 关键字,实现接口时需要关键字implements .三、判断题1.类是一种类型,也是对象的模板.〔√〕2.类中说明的方法可以定义在类体外.〔×〕3.实例方法中不能引用类变量.〔×〕4.创建对象时系统将调用适当的构造方法给对象初始化.〔√〕5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值.〔√〕6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值.〔√〕7.对象可作方法参数,对象数组不能作方法参数.〔×〕8.class是定义类的惟一关键字.〔√〕9.Java语言会自动回收内存中的垃圾.〔√〕第5章子类与继承一、选择题1.已知有下面类的说明:public class X5_1_1 extends x{private float f =10.6f;int i=16;static int si=10;public static void main<String[] args> {X5_1_1 x=new X5_1_1<>;}}在main<>方法中,下面哪条语句的用法是正确的?〔 A 〕A.x.f B.this.si C.X5_1_1.i D.X5_1_1.f[解析]由于x是在main方法内部定义的对象,因此它可以引用类的非static类型的属性,因此选A,而this和super不能在main方法中使用,使用类名只能引用本类的静态属性,因此B、C、D不对. 2.下列程序的运行结果是〔C 〕.public class X5_1_2 extends x{int ab<>{static int aa=10;aa++;System.out.println<aa>;}public static void main<String[] args> { X5_1_2 x=new X5_1_2<>;x.ab<>;}}A.10 B.11C.编译错误D.运行成功,但不输出[解析]方法体内的局部变量不能使用static修饰符.3.下面关于接口的说法中不正确的是〔C 〕.A.接口中所有的方法都是抽象的B.接口中所有的方法都是public访问权限C.子接口继承父接口所用的关键字是implements D.接口是Java中的特殊类,包含常量和抽象方法[解析]子接口继承父接口所用的关键字也是extends,只有类实现接口时才使用implements.4.区分类中重载方法的依据是〔 A 〕.A.形参列表的类型和顺序B.不同的形参名称C.返回值的类型不同D.访问权限不同[解析]形参表的类型和顺序不同时区分重载方法的唯一标志.5.子类对象能否直接向其父类赋值?父类对象能否向其子类赋值?〔 B 〕A.能,能B.能,不能C.不能,能D.不能,不能[解析]子类对象可以直接赋值给父类对象,而父类对象不能直接赋值给子类对象.6.Java语言类间的继承关系是〔 A 〕.A.单继承B.多重继承C.不能继承D.不一定[解析]Java语言类间的继承关系是单继承,但一个类可以实现多个接口.7.Java语言接口间的继承关系是〔B 〕.A.单继承B.多重继承C.不能继承D.不一定[7.解析]Java语言接口间的继承关系允许多重继承. 8.一个类实现接口的情况是〔A 〕.A.一次可以实现多个接口B.一次只能实现一个接口C.不能实现接口D.不一定[解析]Java语言允许一个类一次实现多个接口.9.定义外部类的类头时,不可用的关键字是〔 C 〕. A.public B.finalC.protected D.abstract[解析]定义外部类时不能使用protected关键字.10.如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量?〔 B 〕A.不能引用,必须改名,使它们的名称不相同B.在成员变量前加this,使用this访问该成员变量C.在成员变量前加super,使用super访问该成员变量D.不影响,系统可以自己区分[解析]this可以用来引用本类对象.11.下面说法不正确的是〔 B 〕.A.抽象类既可以做父类,也可以做子类B.abstract和final能同时修饰一个类C.抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口D.声明为final类型的方法不能在其子类中重新定义[解析]abstract和final不能同时修饰一个类,因为abstract 类需要子类,而final类不能有子类.二、填空题1.消息就是向对象发出服务请求,是对数据成员和成员方法的引用.2.在面向对象系统中,消息分为两类公有消息和私有消息.3.在面向对象程序设计中,采用继承机制可以有效地组织程序结构.充分利用已有的类来创建更复杂的类,大大提高程序开发的效率,提高代码的复用率,降低维护的工作量.4.数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员.5.子类可以重新定义与父类同名的成员方法,实现对父类方法的覆盖.6.子类在重新定义父类已有的方法时,应保持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关. 7.this代表了当前对象的一个引用,super表示的是当前对象的直接父类对象的引用.8.抽象类不能创建对象,该工作由抽象类派生的非抽象子类来实现.9.如果父类中已有同名的abstract方法,则子类中就不能〔能/不能〕再有同名的抽象方法.10.abstract类中不能有private 访问权限的数据成员或成员方法.11.interface 是声明接口的关键字,可以把它看成一个特殊类.接口中的数据成员默认的修饰符是public static final ,接口中的成员方法默认的修饰符是public abstract .12.如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须实现该接口的所有抽象方法;如果实现某接口的类是abstract的抽象类,则它可以不实现该接口所有的方法.但是对于这个抽象类任何一个非抽象的子类而言,它们父类所实现的接口中的所有抽象方法以与自身所实现接口中的抽象方法都必须有实在的方法体. 13.包的作用有两个,一是划分类名空间,二是控制类之间的访问.14.封装也称信息隐藏,是指类的设计者只为类的使用者提供类的可以访问的部分〔包括类的数据成员和成员方法〕,而把类中的其他成员隐藏起来,使用户不能访问的机制.15.Java提供了4种访问权限来实现封装机制,即private 、protected 、默认和public .16.Java中提供两种多态机制, 重载与覆盖.17.当一个构造方法需要调用另一个构造方法时,可以使用关键字this ,同时这个调用语句应该是整个构造方法的第一条可执行语句.18.如果子类自己没有构造方法,那么父类也一定没有〔有/没有〕带参的构造方法,此时它将继承父类的无参构造方法作为自己的构造方法;如果子类自己定义了构造方法,则在创建新对象时,它将先执行父类的构造方法,然后再执行自己的构造方法 .19.对于父类的含参数构造方法,子类可以通过在自己的构造方法中使用super 关键字来调用它,但这个调用语句必须是子类构造方法的第一条可执行语句.20.创建一个名为myPachkage的包的语句为package myPackage; ,该语句应该放在程序第一行位置.三、判断题1.Java语言中,构造方法是不可以继承的.〔√〕2.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目.〔×〕3.抽象方法是一种只有说明而无具体实现的方法.〔√〕4.Java语言中,所创建的子类都应有一个父类.〔√〕5.调用this 或super构造方法的语句必须放在第一条语句.〔√〕6.一个类可以实现多个接口,接口可以实现"多重继承".〔√〕7.实现接口的类不能是抽象类.〔√〕8.使用构造方法只能给实例成员变量赋初值.〔√〕9.Java 语言不允许同时继承一个类并实现一个接口.〔×〕。
java基础测试题及答案
一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符( C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:(B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态C.类、封装 D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么? ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C.2, 1 D.2, 25、下面哪条语句把方法声明为抽象的公共方法?(B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的?( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( B )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JA V A”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.s.indexOf(‘V’);D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
java考试题及答案
java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。
A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。
答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。
答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。
答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。
答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。
答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。
()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。
java初级试题及答案
java初级试题及答案一、选择题(每题2分,共20分)1. Java语言中的“==”操作符用于比较两个对象的:A. 引用B. 值C. 类型D. 内存地址答案:A2. 下列哪个是Java的关键字?A. classB. functionC. returnD. include答案:A3. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. structure答案:A4. Java中的main()方法必须定义为:A. public static voidB. private static voidC. public static intD. private static int答案:A5. 下列哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A6. Java中的字符串是:A. 可变的B. 不可变的C. 动态的D. 静态的答案:B7. 在Java中,哪个类定义了基本的输入输出流?A. java.io.InputStreamB. java.io.OutputStreamC. java.io.FileInputStreamD. java.io.FileOutputStream答案:A8. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. HashMapD. Map答案:B10. Java中的哪个类提供了日期和时间的表示?A. DateB. TimeC. CalendarD. DateTime答案:A二、填空题(每空2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
java基础练习题答案
java基础练习题答案一、选择题1. Java是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 以下哪个是Java的基本数据类型?A. StringB. IntegerC. booleanD. Object答案:C3. Java中的main方法是:A. 程序的入口点B. 程序的结束点C. 程序的循环点D. 程序的异常处理点答案:A4. 在Java中,哪个关键字用于定义类?A. classB. functionC. structD. interface答案:A5. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. A和B答案:D二、填空题1. Java是一种面向________的语言。
答案:对象2. Java程序的执行流程是从________方法开始的。
答案:main3. 在Java中,所有的类都是继承自________类。
答案:Object4. 一个Java程序可以包含多个类,但只有一个________类。
答案:公共(public)5. Java的垃圾回收机制用于________内存。
答案:自动回收三、简答题1. 请简述Java的跨平台特性。
答案:Java的跨平台特性主要得益于它的编译和运行机制。
Java 源代码首先被编译成字节码,这些字节码可以在任何安装了Java虚拟机(JVM)的平台上运行,而不需要重新编译。
2. 什么是Java的封装性?答案:封装性是面向对象编程的一个核心概念,它指的是将对象的数据(属性)和行为(方法)捆绑在一起,并隐藏内部实现细节,只通过公共接口与外部交互。
四、编程题1. 编写一个Java程序,计算并打印1到100的整数之和。
```javapublic class SumCalculator {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("The sum of numbers from 1 to 100 is: " + sum);}}```2. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
