JAVA练习题
- 格式:docx
- 大小:17.09 KB
- 文档页数:9
Java⽇常练习题,每天进步⼀点点(11)⽬录1、对接⼝的描述正确的是()2、类中的数据域使⽤private修饰为私有变量,所以任何⽅法均不能访问它。
3、已知如下类定义:4、在java的⼀个异常处理中,可以包含多个的语句块是()。
5、关于Java语⾔中的final关键字的使⽤,下列说法正确的是()6、在 main() ⽅法中给出的整型数组,如果将其写到⼀个⽂件中,需要()。
7、下列有关Servlet的⽣命周期,说法不正确的是?8、What is displayed when the following is executed?9、假定Base b = new Derived(); 调⽤执⾏b.methodOne()后,输出结果是什么?10、下⾯关于变量及其范围的陈述哪些是不正确的()答案汇总:总结承蒙各位厚爱,我们⼀起每天进步⼀点点!(⿏标选中空⽩处查看答案)1、对接⼝的描述正确的是()正确答案: A⼀个类可以实现多个接⼝接⼝可以有⾮静态的成员变量在jdk8之前,接⼝可以实现⽅法实现接⼝的任何类,都需要实现接⼝的⽅法题解:A,⼀个类只能有⼀个直接⽗类,但是继承是有传递性的。
⼀个类可以实现多的接⼝。
⼀个接⼝可以继承多个类。
B,接⼝中没有普通变量(普通成员变量),接⼝中都是常量,默认修饰符:public static finalC,JDK8之前,接⼝中的⽅法都是默认public abstract的,JDK8之后,接⼝中可以有static、default的修饰的⽅法,⼀旦被修饰,⽅法必须有⽅法体(抽象⽅法可是没有⽅法体的),接⼝中的⽅法都不能被private和protected 修饰,同时外部接⼝、类只能被public修饰或者不写,但是内部接⼝、类可以被四个访问修饰符修饰。
D,实现接⼝,其实就是需要重写接⼝中的abstract⽅法,⼀旦实现的类没有重写完,那么这个类必须是个抽象类(抽象类中可以没有抽象⽅法,但是有抽象⽅法的类必须是抽象类)。
大学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、Java 语言具有许多的优点和特点,下列的选项___反映了Java 程序并行机制的特点。
A )安全性 B )多线程 C )跨平台 D )可移植 答案: B 知识点: java 基础 难度系数C 2、下列关于JAVA 语言特点的叙述中,错误的是____。
A )Java 是面向过程的编程语言 B )Java 支持分布式计算 C )Java 是跨平台的编程语言 D )Java 支持多线程 答案:A 知识点: java 基础 难度系数C 3、定义私有的成员函数或成员变量,正确的是____。
A )不需要定义,缺省的访问级就是私有级 B )在类的开头部分集中定义 C )成员函数需要定义,而成员变量不需要定义 D )利用private 关键字定义答案: D 知识点: 类成员 难度系数C4、下列语句正确的是________。
A )int a={1,2,3}B )int b=(1,2,3);C )int c[]={1,2,3}D )int []d={1 2 3}(难度系数C )答案:C 知识点:数组班级:姓名: 学号:试题共页加白纸张密封线5、在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。
A)if – else B)switch C)try D)throw(难度系数B)答案:C知识点:异常6、下列表述中,不正确的是___。
A)标识符区分大小写B)改变变量的值不会改变其存储位置C)常量可以完全大写D)单精度变量赋值常数后面的字母“f”可以省略答案:D知识点:变量难度系数C7、下列陈述正确的是_________。
A)一个组件只能发生一种事件B)一个监听器处理一种事件C)多个事件监听器被注册到一个组件会引起编译错误D)如果多个事件监听器被注册到一个组件上,这些事件监听器一般都会起作用,但各个事件的处理顺序不确定(难度系数A)答案:D知识点:事件处理8、________属于容器的构件。
java基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。
为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。
1. 编写一个Java程序,打印输出"Hello, World!"。
```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。
```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个Java程序,将一个字符串反转并输出。
一、单选题1、下列构造方法的调用方式中,正确的是()。
A、按照一般方法调用B、由用户直接调用C、只能通过new 自动调用D、被系统调用2、在Java 中,能实现多重继承效果的方式是()A、内部类B、适配器C、接口D、同步3、在Java 中,所有类的根类是()。
A、ng.ObjetB、ng.ClassC、java.applet.AppletD、java.awt.Frame4、按照Java 的标识符命名规范,下列表示一个类的标识符正确的是()A、HelloworldB、HelloWorldC、helloworldD、helloWorld5、Java语言的类型是()A、面向对象语言B、面向过程语言C、汇编程序D、形式语言6、下列对继承的说法,哪个是正确的? ()A、子类能继承父类的所有方法和状态B、子类能继承父类的非私有方法和状态C、子类只能继承父类public方法和状态D、子类只能继承父类的方法,而不继承状态7、下列哪些内容是异常的含义?()异常是一个运行时错误7、()是不能被当前类的子类重新定义的方法。
A、抽象方法B、私有方法C、最终方法D、构造方法8、下列命令中,哪个命令是Java的编译命令?()A、javacB、javaC、javadocD、appletviewer9、下列有关Java语言的叙述中,正确的是()A、Java是不区分大小写的B、源文件名与public类型的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10、若数组a定义为int[][]a=new int[3][4],则a是()A、一维数组B、二维数组C、三维数组D、四维数组11、下列关于Java语言特点的叙述中,错误的是( )A、Java支持分布式计算B、Java是面向过程的编程语言C、Java是跨平台的编程语言D、Java支持多线程12、用来导入已定义好的类或包的语句是()A、importB、mainC、public classD、class13、如要抛出异常,应用下列哪种子句?()A、catchB、throwC、tryD、finally14、下列的哪个选项可以正确用以表示十六进制值16?()A、0x8B、0x10C、08D、01015、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )。
50道java经典练习题Java是一门广泛使用的编程语言,许多程序员在学习和实践中都会遇到各种各样的问题和挑战。
为了提高自己的编程技能,解决问题的能力和代码的质量,有一些经典的Java练习题非常值得一试。
在本文中,我们将介绍50道Java经典练习题,希望能够对你的学习和实践有所帮助。
1. 编写一个程序,输入两个整数,求它们的和。
2. 编写一个程序,用循环结构输出1到100之间的所有奇数。
3. 编写一个程序,使用递归计算n的阶乘。
4. 编写一个程序,找出一个整数数组中的最大值。
5. 编写一个程序,将一个字符串反转输出。
6. 编写一个程序,判断一个字符串是否是回文。
7. 编写一个程序,将一个整数转换为二进制表示的字符串。
8. 编写一个程序,实现冒泡排序算法对一个整数数组进行排序。
9. 编写一个程序,将两个有序数组合并为一个有序数组。
10. 编写一个程序,计算一个字符串中每个字符出现的次数。
11. 编写一个程序,判断一个整数是否是素数。
12. 编写一个程序,生成斐波那契数列前n个数字。
13. 编写一个程序,找出一个整数数组中的前k个最大值。
14. 编写一个程序,计算一个整数数组的平均值。
15. 编写一个程序,判断一个字符串是否是有效的括号序列。
16. 编写一个程序,将一个整数翻转输出。
17. 编写一个程序,计算两个整数的最大公约数。
18. 编写一个程序,找出一个字符串中最长的连续子串。
19. 编写一个程序,找出一个字符串中出现次数最多的字符。
20. 编写一个程序,将一个整数数组循环右移k位。
21. 编写一个程序,计算一个浮点数的平方根。
22. 编写一个程序,将一个字符串按单词逆序输出。
23. 编写一个程序,判断一个字符串是否是有效的回文字符串。
24. 编写一个程序,计算两个浮点数的最大公约数。
25. 编写一个程序,找出一个整数数组中的前k个最小值。
26. 编写一个程序,判断两个字符串是否互为变位词。
27. 编写一个程序,将一个整数数组按奇偶分成两个数组。
Java语⾔练习题库(含答案)单选题1. 为了保证⽅法的线程安全,声明⽅法的时候必须⽤哪个修饰符?(A) new(B) transient(C) void(D) synchronized2. 编译Java源⽂件使⽤哪个?(A) javac(B) jdb(C) javadoc(D) junit3. 哪⼀种类的对象中包含有Internet地址。
(A) Applet(B) Datagramsocket(C) InetAddress(D) AppletContext4. 有关GUI容器叙述,不正确的是?(A) 容器是⼀种特殊的组件,它可⽤来放置其它组件(B) 容器是组成GUI所必需的元素(C) 容器是⼀种特殊的组件,它可被放置在其它容器中(D) 容器是⼀种特殊的组件,它可被放置在任何组件中5. 使⽤javadoc⽣成的⽂档的⽂件格式是?(A) XML格式(B) ⾃定义格式(C) ⼆进制格式(D) HTML格式6. 下列有关类、对象和实例的叙述,正确的是哪⼀项?(A) 类就是对象,对象就是类,实例是对象的另⼀个名称,三者没有差别(B) 对象是类的抽象,类是对象的具体化,实例是对象的另⼀个名称(C) 类是对象的抽象,对象是类的具体化,实例是类的另⼀个名称(D) 类是对象的抽象,对象是类的具体化,实例是对象的另⼀个名称7. 在事件委托类的继承体系中,最⾼层次的类是哪项?(A) java.util.EventListener(B) java.util.EventObject(C) java.awt.AWTEvent(D) java.awt.event.AWTEvent8. Java语⾔中异常的分类是哪项?(A) 运⾏时异常和异常(B) 受检异常和⾮受检异常(C) 错误和异常(D) 错误和运⾏时异常9. 使⽤下列哪些关键字可以判定实参的具体类型?(A) as(B) is(C) instanceof(D) extends10. 在⽅法的声明中,要求该⽅法必须抛出异常时使⽤哪个关键字?(A) Throw(B) catch(C) finally(D) throws11. Applet的布局设置默认是FlowLayout,下列中哪项代码可以改变Applet的布局⽅式?(A) setLayoutManager(new GridLayout());(B) setLayout (new GridLayout(2,2));(C) setGridLayout (2,2);(D) setBorderLayout();12. 下列哪项正确?(A) JDK中包含JRE,JVM中包含JRE(B) JRE中包含JDK,JDK中包含JVM(C) JRE中包含JDK,JVM中包含JRE(D) JDK中包含JRE,JRE中包含JVM13. 在MyThread类的main⽅法中,为⽤Thread实例化。
一、单选题(每题2分,共20分)1、Java 属于以下哪种语言?A 、机器语言B 、 汇编语言C 、高级语言D 、以上都不对 2、下面哪种类型的文件可以在Java 虚拟机中运行?A 、.javaB 、.jreC 、.exeD 、.class3、安装好JDK 后,在其bin 目录下有许多exe 可执行文件,其中java.exe 命令的作用是以下哪一种?A 、Java 文档制作工具B 、Java 解释器C 、Java 编译器D 、Java 启动器4、以下关于变量的说法错误的是?A 、变量名必须是一个有效的标识符B 、变量在定义时可以没有初始值C 、变量一旦被定义,在程序中的任何位置都可以被访问D 、在程序中,可以将一个byte 类型的值赋给一个int 类型的变量,不需要特殊声明5、请先阅读下面的代码。
int x = 1; int y = 2;if (x % 2 == 0) { y++; } else { y--; }System.out.println("y=" + y);上面一段程序运行结束时,变量y 的值为下列哪一项?A 、1B 、2C 、3D 、switch 语句6、以下哪个选项可以正确创建一个长度为3的二维数组?A 、 new int [2][3];B 、 new int[3][];C 、 new int[][3];D 、 以上答案皆不对7、下面哪一个是正确的类的声明? DA 、 public void HH {…}B 、 public class Move(){…}C 、 public class void number{}D 、 public class Car {…}8、在以下什么情况下,构造方法会被调用?A 、 类定义时B 、 创建对象时C 、 调用对象方法时D 、 使用对象的变量时9、在Java 中,针对类、成员方法和属性提供了4种访问级别,以下控制级别由小到大依次是( )。
1.编写程序,用数组实现乘法小九九的存储和输出。
【提示:采用多个一维数组。
】public class Multipation {public static void main(String[] args) {// TODO Auto-generated method stubint x[][]=new int[9][9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(i>=j){int m=i+1;int n=j+1;x[i][j]=m*n;System.out.print(m+"*"+n+"="+x[i][j]);}}System.out.println();}}}2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。
SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。
public class Student {/***@param args*/private int ID;private String name;private float score;public void SetRecord(int ID,String name,float score){this.ID=ID;=name;this.score=score;}public float getRecord(int ID){if(ID==this.ID)return this.score;elsereturn -1;}public static void main(String[] args) {// TODO Auto-generated method stubStudent s=new Student();s.SetRecord(0,"alex",100);float Sco=s.getRecord(0);System.out.print(Sco);}}3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。
Java练习题库(含答案)一、Java语法基础(1-18)1、在Java中,负责对字节码解释执行的是()。
答案:BA、垃圾回收器B、虚拟机C、编译器D、多线程机制2、下列描述中,正确的是()答案:AA、Java程序的main方法必须写在类里面。
B、Java程序中可以有多个main方法。
C、Java程序中类名必须与文件名一样。
(public修饰的才有这要求)D、Java程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来。
3、下列描述中,正确的是()答案:AA、Java中的标识符是区分大小写的B、源文件名与public类名可以不相同C、Java源文件扩展名为.jarD、Java源文件中public类的数目不限4、下列关于Java中变量命名规范的描述中,正确的是( ) 答案:BA、变量由字母、下划线、数字、$符号随意组成。
(数字不能开头)B、变量不能以数字开头。
C、A和a在java中是同一个变量。
D、不同类型的变量,可以起相同的名字。
5、以下选项中,不是Java合法标识符的是( ) 答案:CA、 VOIDB、 x3xC、 finalD、 abc$def6、在Java中定义一个类时,所使用的关键字是()。
答案:AA、classB、publicC、structD、class 或struct7、下列关于运算符优先级别排序正确的是()答案:AA、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;8、表达式(15+3*8)/4%3的值是( )答案:AA、 0B、 1C、 2D、 399、已知字符A对应的ASCII码值是65,那么表达式"A" + 1的值是()答案:CA.、66 B、B C、A1 D、非法表达式,编译出错10、下列关于boolean类型的叙述中,正确的是()答案:DA、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型11、下面关于for循环的描述正确的是( ) 答案:AA、 for循环体语句中,可以包含多条语句,但要用大括号括起来。
50道java基础编程练习题Java是一种广泛应用于软件开发领域的编程语言,掌握其基础编程技能对于程序员来说是非常重要的。
为了帮助大家巩固和提高Java基础编程能力,下面将介绍50道Java基础编程练习题,希望对大家有所帮助。
1. 编写一个Java程序,输出"Hello, World!"。
2. 编写一个Java程序,计算并输出1到100之间所有整数的和。
3. 编写一个Java程序,判断一个数是否为偶数,并输出结果。
4. 编写一个Java程序,判断一个数是否为素数,并输出结果。
5. 编写一个Java程序,求解一个数的阶乘,并输出结果。
6. 编写一个Java程序,判断一个字符串是否为回文,并输出结果。
7. 编写一个Java程序,将一个字符串反转,并输出结果。
8. 编写一个Java程序,求解一个数列的斐波那契数,并输出结果。
9. 编写一个Java程序,将一个数组中的元素按照从小到大的顺序进行排序,并输出结果。
10. 编写一个Java程序,求解一个数的平方根,并输出结果。
11. 编写一个Java程序,判断一个数是否为完全平方数,并输出结果。
12. 编写一个Java程序,计算并输出1到100之间所有奇数的和。
13. 编写一个Java程序,判断一个字符串是否为有效的手机号码,并输出结果。
14. 编写一个Java程序,将一个字符串中的所有空格去除,并输出结果。
15. 编写一个Java程序,求解一个数的倒数,并输出结果。
16. 编写一个Java程序,判断一个数是否为质数,并输出结果。
17. 编写一个Java程序,计算并输出1到100之间所有偶数的和。
18. 编写一个Java程序,判断一个字符串是否为有效的邮箱地址,并输出结果。
19. 编写一个Java程序,将一个字符串中的所有字母转换为大写,并输出结果。
20. 编写一个Java程序,求解一个数的立方,并输出结果。
21. 编写一个Java程序,判断一个数是否为回文数,并输出结果。
JAVA基础编程练习题【程序1】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序2】判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是【程序3】打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【程序4】将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
【程序5】利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B 表示,60分以下的用C表示。
【程序6】输入两个正整数m和n,求其最大公约数和最小公倍数。
【程序8】求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【程序9】一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000【程序10】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次【程序11】有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
java考试题及答案一、选择题(每题2分,共20分)1. Java语言的标识符可以包含以下哪些字符?A. 数字B. 下划线C. 美元符号D. 空格答案:B2. 下列哪个选项是Java中的关键字?A. classB. mainC. publicD. all of the above答案:D3. Java中,哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B6. 下列哪个选项不是Java集合框架的一部分?A. ListB. MapC. SetD. String答案:D7. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B8. 在Java中,下列哪个选项不是线程安全的?A. VectorB. ArrayListC. LinkedListD. HashMap答案:B9. Java中,下列哪个选项是正确的继承关系?A. Object is a subclass of StringB. String is a subclass of ObjectC. Object is a superclass of StringD. String is a superclass of Object答案:B10. 下列哪个选项不是Java中的访问修饰符?A. publicB. privateC. protectedD. global答案:D二、填空题(每题2分,共20分)1. Java中,用于定义类的关键字是______。
答案:class2. Java中,用于定义接口的关键字是______。
Java练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,判断一个整数是奇数还是偶数。
6. 使用三元运算符计算两个整数中的较大值。
7. 编写一个Java程序,实现字符串的拼接。
8. 声明一个布尔型变量并赋值为true,然后输出该变量的值。
9. 编写一个Java程序,输出1到100的所有偶数。
10. 使用for循环输出九九乘法表。
二、数组与字符串1. 声明一个整型数组并初始化,然后输出数组中的所有元素。
2. 编写一个Java程序,实现数组的逆序输出。
3. 计算一个整型数组的平均值。
4. 编写一个Java程序,查找数组中的最大值和最小值。
5. 使用冒泡排序算法对整型数组进行排序。
6. 编写一个Java程序,实现字符串的反转。
7. 判断一个字符串是否为回文。
8. 输出一个字符串中字母和数字的个数。
9. 编写一个Java程序,实现字符串的截取。
10. 使用StringBuilder类拼接一个由100个“Java”组成的字符串。
三、面向对象1. 定义一个学生类(Student),包含姓名、年龄和成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个学生对象并设置其属性,然后调用打印学生信息的方法。
3. 定义一个矩形类(Rectangle),包含长和宽属性,并实现计算面积和周长的方法。
4. 编写一个Java程序,创建两个矩形对象,并比较它们的面积大小。
5. 定义一个动物类(Animal),包含吃、睡和叫的方法,然后创建一个狗类(Dog)继承动物类,并重写叫的方法。
6. 编写一个Java程序,演示多态性,创建一个动物数组,包含狗和猫对象,并调用它们的叫方法。
java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。
答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。
java编程练习题及答案Java编程练习题及答案一、选择题1. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个是Java中的合法标识符?A. 2variableB. forC. variable2D. class答案:C3. 在Java中,哪个方法用于获取当前对象的引用?A. this()B. super()C. clone()D. new()答案:A4. 以下哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A5. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案:B二、简答题1. 请简述Java中的继承是如何工作的?答案:Java中的继承允许一个类(子类)继承另一个类(父类)的属性和方法。
子类可以扩展或修改父类的行为,实现代码复用。
继承是面向对象编程的核心概念之一。
2. 请解释Java中接口和抽象类的区别?答案:接口定义了一组方法规范,但不提供实现。
任何实现接口的类都必须提供接口中所有方法的具体实现。
抽象类可以包含抽象方法和具体方法,并且可以有成员变量。
抽象类可以作为其他类的基类,但不能被实例化。
三、编程题1. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。
```javaimport java.util.Scanner;public class SimpleCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字: ");double num1 = scanner.nextDouble();System.out.print("请选择运算符(+, -, *, /): "); char operator = scanner.next().charAt(0);System.out.print("请输入第二个数字: ");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0"); }break;default:System.out.println("无效的运算符");}if (result != 0) {System.out.println("结果是: " + result);}scanner.close();}}```2. 编写一个Java程序,实现一个简单的学生管理系统,可以添加学生信息、显示所有学生信息。
1、在下列说法中,选出最正确的一项是( )。
1.Java语言是以类为程序的基本单位的2.Java语言是不区分大小写的3.多行注释语句必须以//开始4.在Java语言中,类的源文件名和该类名可以不相同2、下列选项中不属于Java虚拟机的执行特点的一项是( )。
1.异常处理2.多线程3.动态链接4.简单易学3、下列选项中属于Java语言的垃圾回收机制的一项是( )。
1.语法检查2.堆栈溢出检查3.跨平台4.内存跟踪4、下列选项中属于 Java语言的安全性的一项是( )。
1.动态链接2.高性能3.访问权限4.内存跟踪5、下列选项中,属丁JVM执行过程中的特点的一项是( )。
1.编译执行2.多进程3.异常处理4.静态链接6、在Java语言中,那一个是最基本的元素?( )1.方法2.包3.对象4.接口7、如果有2个类A和B,A类基于 B类,则下列描述中正确的一个是( )。
1.这2个类都是子类或者超类2.A是B超类的子类3.B是A超类的子类4.这2个类郡是对方的子类8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?( )1.abstract2.private3.protected4.不使用保留字9、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么?( )1.13个字节码文件,扩展名是.class2.1个字节码文件,扩展名是.class3.3个字节码文件,扩展名是.java4.3个字节码文件,扩展名是.class10、下列属于Java语言的特点的一项是( )。
1.运算符重载2.类间多重继承3.指针操作4.垃圾回收11、在创建Applet应用程序时,需要用户考虑的问题是( )。
1.窗口如何创建2.绘制的图形在窗口中的位置3.程序的框架4.事件处理12、于Java语言的内存回收机制,下列选项中最正确的一项是( )。
1.Java程序要求用户必须手工创建一个线程来释放内存2.Java程序允许用户使用指针来释放内存3.内存回收线程负责释放无用内存4.内存回收线程不能释放内存对象13、下列关于Java程序结构的描述中,不正确的一项是( )。
一、判断题1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。
()2、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。
( )3、方法中的形参可以和方法所属类的属性同名。
( )4、接口无构造器,不能有实例,也不能定义常量。
( )5、利用File对象可以判断一个文件或目录是否存在。
( )6、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。
( )7、BorderLayout是面板的缺省布局管理器。
( )8、BorderLayout最多可以使用5个组件。
( )9、一个面板(JPanel)不能被加入另一个面板(JPanel)中。
( )10、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。
( )11、线程可以用yield使同优先级的线程运行。
( )12、System.in是标准输入流,能用read方法读取键盘的输入。
( )13、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。
( )二、填空题1、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:(1) x &&y||!z&&ture (2) !x||!y&&!z(3) (!x&&!y)||(!y&&!z) (4) x&&y||true&&!z2、求下面表达式的值:(1) 已知x=2、y=6、z=5.0,求x+(int)y/2*z%4(2) 已知x=123,求x/100+x%100/10+x%10(3) 已知x=160、y=2.8、z=5,求(byte)x +(int)y+(float)z;(4) 设int x=17,y=5; 执行语句x%=x++/--y 后x的值为。
(5) 设int a=7,b=6,c=5;,表达式(a+b)>(c*c)&&b==c||c>b 的值为。
(6) 设int a=3,b=5,c=7;,表达式a>c||c>b!=0&&c==b+a 的值为。
3、下列表达式中n和x被赋值为多少?int n=0;int x=1;n=x++ + x++; //这里n= , x=n=n++ - x--; //这里n= , x=n=x-- + -x++; //这里n= , x=n=++x + x++; //这里n= , x=4、使用方法为组件设置布局管理器,JFrame的缺省布局管理器是,内容面板的缺省布局管理器是。
5、写出4个常见的异常例子:、、和。
重新抛出一个异常用语句。
6、线程通过方法可以休眠一段时间,然后恢复运行,当时,线程进入死亡状态。
7、编写一个线程可以用和来实现。
8、创建文件(c:\test.txt)对象的语句是,DataInputStream对象提供方法可以按行读取文件内容。
9、Container 的________方法可以将_______组件加入容器。
10、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。
11、使用方法为组件设置布局管理器,JFrame的缺省布局管理器是,内容面板的缺省布局管理器是。
12、Java.swing.JFrame.getContentPane()的返回类型是。
13、数据越界抛出的异常类是,整数除零抛出的异常类是,算术溢出抛出的异常类是。
三、选择题1、下面哪些是不合法的变量名称?( )A) 2D B) True C) _name D) T1 E) while-ture2、下列变量定义不正确的是:( )A) boolean status=false; B) float d = 45.6;C) char c = “a”; D) int k = 1+’1’; E) float f=1/4;3、下列数组的定义不合法的是:( )A) char c[][]=new char[2][3];B) char c[][]=new char[6][];C) char [][]c=new char[3][3];D) char [][]c=new char[][4];E) int []a[] = new int[10][10];4、对于下列代码:public class Example{String str=new String("hello");char ch[]={'d','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.println(ex.str+"and"+ex.ch[0]);}public void change(String str,char ch[]){str="world";ch[0]= 'a';}}输出结果是: ( )A) hello and d B) hello and aC) world and d D) world and a5、下列说法哪个是正确的?( )A) 子类不能定义和父类同名同参数的方法B) 子类只能继承父类的方法,而不能重载C) 重载就是一个类中有多个同名但有不同形参和方法体的方法D) 子类只能覆盖父类的方法,而不能重载6、如果一个程序段中有多个catch,则程序会按如下哪种情况执行?( )A) 找到合适的例外类型后继续执行后面的catchB) 找到每个符合条件的catch都执行一次C) 找到合适的例外类型后就不再执行后面的catchD) 对每个catch都执行一次7、以下哪一项不是File类的功能: ( )A) 创建文件B) 创建目录C) 删除文件D) 拷贝文件8、下列说法哪个是正确的?( )A) BorderLayout是面板的缺省布局管理器B) 当鼠标指针位于一个GUI组件的边上时,发生一个MouseOver事件C) 一个面板(Jpanel) 不能被加入到另一个面板(Jpanel)中D) 在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
9、在java程序中,下列关于线程的说法错误的是: ( )A) run方法是运行线程的主体B) 多个进程运行时执行顺序是按顺序执行的C) 如果线程死亡,它便不能运行D) 在java中,高优先级的可运行线程会抢占低优先级线程10、关于JDBC访问数据库的说法错误的是:( )A) 建立数据库连接时,必须加载驱动程序,可采用Class.forName()实现B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法C) 建立数据库连接时,必须要进行异常处理D) JDBC中查询语句的执行方法必须采用Statement类实现四、程序阅读题1、阅读下面的程序,程序保存为Test.java:1) public class Test2) {3) public static void main(String[] args)4) {5) System.out.println(args[2]);6) }7) }以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?2、阅读下面的程序:①public class Test{②public static void main(String[] a){③int i = Integer.parseInt(a[0]);④switch (i) {⑤case 1:System.out.println("Frist season");break;⑥case 2:System.out.println("Second season");⑦case 3:System.out.println("3th season");break;⑧case 4:System.out.println("Last season");⑨}⑩}⑪}上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 2 运行得到的输出结果是什么?3、阅读下面的程序:①public class Test{②public static void main(String[ ] args) {③int x,y=2,i=0,j=0;④if(args.length<2) System.exit(-1);⑤x = Integer.parseInt(args[1]);⑥switch(x){⑦case 1:switch(y){⑧case 1:i++;break;⑨case 2:j++;break;⑩default:i++;j++;⑪}⑫case 2:i++;j++;break;⑬default:i++;j++;⑭}⑮System.out.println("i="+i);⑯System.out.println("j="+j);⑰}⑱}上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 1 2 3 运行得到的运行结果是什么?4、阅读下面的程序,程序保存为Test.java:1) public class Test2) {3) short mValue;4) public static void main(String[] args)5) {6) int a = 32;7) int b = 56;8) Test os = new Test(a+b);9) os.Show( );10) }11) protected Test(short aValue) { mValue = aValue; }12) public void Show( ) { System.out.println(mValue); }13) }上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?5、阅读下面的程序:class test{public static void main(String[] args){int i = 1;int All = 0;for (;i<=10;i++){if (i%6==0) break;if(i%2==0) {i=i+2;continue;}All = All + i;}System.out.println(All);}}上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?6、阅读下面的程序,程序保存为Test.java:1) public class Test2) {3) public static void main(String[] args)4) {5) int i = 100;6) int j = 0;7) boolean b = true;8) while (b)9) {10) if (b||(i<50)) b = false;11) else b = true;12) j=j+1;13) i=i-1;14) }15) System.out.println(j);16) }17) }上面的程序经编译,运行后输出的结果是什么?7、阅读下面的程序:1) public class test2) {3) public static void main(String argv[])5) Bird b = new Bird();6) b.Fly(3);7) }8) }9) class Bird10) {11) static int Type = 2;12) private void Fly(int an_Type)13) {14) Type = an_Type;15) System.out.println("Flying..."+Type);16) }17) }上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?8、阅读下面的程序:1) abstract class Base{2) abstract public void myfunc();3) public void another(){4) System.out.println("Another method");5) }6) }7) public class Abs extends Base{8) public static void main(String argv[]){9) Base b = new Abs();10) b.another();11) }12) public void myfunc(){13) System.out.println("My Func");14) }15) public void another(){16) myfunc();17) }18) }以上程序经编译后,运行结果是什么?9、阅读下面的程序:1) class Super{2) public int i=0;3) public Super(){4) i=1;5) }7) public class Sub extends Super{8) public Sub(){9) i=2;10) }11) public static void main(String args[]){12) Sub s=new Sub();13) System.out.println(s.i);14) }15) }上面的程序经编译后,运行结果是什么?10、阅读下面的程序,程序保存为Test.java:1) public class Test {2) public static void main(String[ ] args) {3) int index=0;4) while (index<=100) {5) index+=10;6) if (index==40)7) break;8) System.out.println("The index is "+index);9) }10) }11) }上面的程序经编译,运行后输出的结果是什么?五、问答题1、设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少?(1) while(x<=y) x=2*x;(2) while(y/x>5) if(y-x>25) x=x+1; else y=y/x;(3) do{x=2*x;} while(x<y);(4) do{x=y/x;y=y-x;}while(x>=y);(5) do{y=y/x-1; if(y>=x) y=x;} while(y>=1);2、简述对象、类的概念。