Java经典试题

合集下载

Java经典笔试题(含答案)

Java经典笔试题(含答案)

this is a teacher tom B) this is a teacher this is a Person tom C) 运行出错 D) 编译有两处错误 7. 以下说法错误的是() A) super.方法()可以调用父类的所有非私有方法 B) super()可以调用父类的所有非私有构造函数 C) super.属性可以调用父类的所有非私有属性 D) this 和 super 关键字可以出现在同一个构造函数中 8. 以下关于 final 关键字说法错误的是(A,C)(两项) A) final 是 java 中的修饰符,可以修饰类、接口、抽象类、方法和属性 B) final 修饰的类肯定不能被继承 C) final 修饰的方法不能被重载 D) final 修饰的变量不允许被再次赋值 9. 访问修饰符作用范围由大到小是(D) A) private-default-protected-public B) public-default-protected-private C) private-protected-default-public D) public-protected-default-private 10. 以下(D)不是 Object 类的方法 A) clone() B) finalize() C) toString() D) hasNext() 11. 多态的表现形式有(A) A) 重写 B) 抽象 C) 继承
Java 经典笔试题(含答案)
选择题(共 50 题,每题 1.5 分,共 75 分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用 super 和 this 关键字时,以下描述正确的是(A) A) 在子类构造方法中使用 super()显示调用父类的构造方法,super()必须 写在子类构造方法的第一行,否则编译不通过 B) super()和 this()不一定要放在构造方法内第一行 C) this()和 super()可以同时出现在一个构造函数中

java试题库及答案

java试题库及答案

java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。

垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。

10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。

java基础50道经典练习题及答案

java基础50道经典练习题及答案

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程序,将一个字符串反转并输出。

50道经典java题目

50道经典java题目
【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
【程序38】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
【程序39】
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
【程序20】
题目:有
一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
【程序21】
【程序19】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
1.程序分析:(a&gt; b)?a:b这是条件运算符的基本例子。
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程ห้องสมุดไป่ตู้7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

java基础面经典试题(附答案)

java基础面经典试题(附答案)

基础知识部分:1. JDK是什么?JRE是什么?a) 答:JDK:java开发工具包。

JRE:java运行时环境。

2. 什么是java的平台无关性?a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。

也就是一处编写,处处运行。

这就是java的跨平台性。

3. 在一台电脑上配置java环境,path起什么作用?如何配置?a) 答:path的作用是在DOS环境下,能在任意位置使用JDK目录中b in文件夹中的可执行程序,来编译执行java程序。

b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。

4. 什么样的标识符是合法的?a) 由字母、数字、_和$组成,长度不限。

其中字母可以是大写或小写的英文字母,数字为0到9。

b) 标识符的第一个字符不能是数字。

c) 标识符区分大小写。

d) 标识符不能包含空格。

5. Java有几种基本数据类型?a) byte,short,int,long,float,double,char,boolean6. 什么是隐式类型转换?什么是显示类型转换?a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。

b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。

7. &&和&区别,||和|区别?a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。

b) 而& 和|则将两边的表达式都运算完毕后,再算结果。

8. break,continue区别?a) break结束所有循环,continue结束当次循环,进入下次循环。

9. 类的命名规则是什么?a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。

b) 类名最好见名知意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。

10. 类体的内容由两部分构成,哪两部分?a) 一部分是变量的定义,用来刻画属性。

java理论试题及答案

java理论试题及答案

java理论试题及答案Java理论试题及答案一、单选题1. Java语言的特点是什么?- A. 面向过程- B. 面向对象- C. 编译型语言- D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?- A. `class`- B. `interface`- C. `public`- D. `void`答案:A3. 下列哪个是合法的Java标识符?- A. `class`- B. `default`- C. `2things`- D. `class_name`答案:D4. Java中的继承是单继承还是多继承?- A. 单继承- B. 多继承- C. 既不是单继承也不是多继承- D. 可以是单继承也可以是多继承答案:A5. Java中的异常处理机制是通过哪两个关键字实现的? - A. `try` 和 `catch`- B. `if` 和 `else`- C. `switch` 和 `case`- D. `for` 和 `while`答案:A二、多选题1. 下列哪些是Java的基本数据类型?- A. `int`- B. `String`- C. `double`- D. `char`答案:A, C, D2. 在Java中,下列哪些可以作为方法的返回类型?- A. `int`- B. `void`- C. `String`- D. `double`答案:A, B, C, D3. 下列哪些是Java的访问修饰符?- A. `public`- B. `private`- C. `protected`- D. `default`(无修饰符)答案:A, B, C, D三、判断题1. Java程序的执行都是从`main`方法开始的。

()- 答案:正确2. Java中的所有类都是继承自`ng.Object`类的。

() - 答案:正确3. Java语言支持多重继承。

()- 答案:错误4. `final`关键字修饰的类不能被继承。

java笔试题大全带答案(经典11题)

java笔试题大全带答案(经典11题)

java笔试题大全带答案(经典11题)1.不通过构造函数也能创建对象吗()A. 是(推荐学习:java面试题大汇总)B. 否分析:答案:AJava创建对象的几种方式(重要):(1) 用new语句创建对象,这是最常见的创建对象的方法。

(2) 运用反射手段,调用ng.Class或者ng.reflect.Constructor类的newInstance()实例方法。

(3) 调用对象的clone()方法(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

(1)和(2)将显式调用构造函数;(3)它是内存中已有对象的副本,所以不会调用构造函数;(4)类的对象是从文件中恢复的,不会调用构造函数。

(1)和(2)将显式调用构造函数;(3)它是内存中已有对象的副本,所以不会调用构造函数;(4)类的对象是从文件中恢复的,不会调用构造函数。

2.下面哪些是对称加密算法()A. DESB. MD5C. DSAD. RSA分析:答案:A分析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES 常用的非对称加密算法有:RSA、DSA、ECC使用单向散列函数的加密算法:MD5、SHA3.下面的代码段,当输入为2的时候返回值是()public static int get Value(int i){int result=0;switch(i){case 1:result=result +icase 2:result=result+i*2case 3:result=result+i*3}return result;}登录后复制A. 0B. 2C. 4D. 10答案:C分析:result = 0 + 2 * 2;4.以下Java代码段会产生几个对象public void test(){String a="a";String b="b";String c="c";c=a+""+b+""+c;System.out.print(c);}登录后复制分析:答案: 一个对象,因为编译期进行了优化,3个字符串常量直接折叠为一个5.Math.round(-11.2)的运行结果是。

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中,所有的类都必须显式地指定一个父类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.public class ReturnIt{returnType methodA(byte x, double y){ //line 2return (short)x/y*2;}}what is valid returnType for methodA in line 2?答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型.2.1) class Super{2) public float getNum(){return 3.0f;}3) }4)5) public class Sub extends Super{6)7) }which method, placed at line 6, will cause a compiler error?A. public float getNum(){return 4.0f;}B. public void getNum(){}C. public void getNum(double d){}D. public double getNum(float d){return 4.0d;}Answer:BA属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下:Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不兼容的返回类型找到:void需要:floatpublic void getNum(){}^1 错误B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private);重载:必须具有不同的参数列表;可以有不同的返回类型,只要参数列表不同就可以了;可以有不同的访问修饰符;把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对.3.public class IfTest{public static void main(String args[]){int x=3;int y=1;if(x=y)System.out.println("Not equal");elseSystem.out.println("Equal");}}what is the result?Answer:compile error 错误在与if(x=y) 中,应该是x==y; =是赋值符号,==是比较操作符4. public class Foo{public static void main(String args[]){try{return;}finally{ System.out.println("Finally");}}}what is the result?A. print out nothingB. print out "Finally"C. compile errorAnswer:B java的finally块会在return之前执行,无论是否抛出异常且一定执行.5.public class Test{public static String output="";public static void foo(int i){try {if(i==1){throw new Exception();}output +="1";}catch(Exception e){output+="2";return;}finally{output+="3";}output+="4";}public static void main(String args[]){foo(0);foo(1);24)}}what is the value of output at line 24? Answer:13423 如果你想出的答案是134234,那么说明对return的理解有了混淆,return是强制函数返回,本题就是针对foo(),那么当执行到return的话,output+="4"; 就不再执行拉,这个函数就算结束拉.6. public class IfElse{public static void main(String args[]){if(odd(5))System.out.println("odd");elseSystem.out.println("even");}public static int odd(int x){return x%2;}}what is output?Answer:Compile Error7. class ExceptionTest{public static void main(String args[]){try{methodA();}catch(IOException e){System.out.println("caught IOException");}catch(Exception e){System.out.println("caught Exception");}}}If methodA() throws a IOException, what is the result? (其实还应该加上:import java.io.*;) Answer:caught IOException 异常的匹配问题,如果2个catch语句换个位置,那就会报错,catch 只能是越来越大,意思就是说:catch的从上到下的顺序应该是:孙子异常->孩子异常->父亲异常->老祖先异常.这么个顺序.8. int i=1,j=10;do{if(i++>--j) continue;}while(i<5); (注意不要丢了这个分号呦)After Execution, what are the value for i and j?A. i=6 j=5B. i=5 j=5C. i=6 j=4D. i=5 j=6E. i=6 j=6Answer:D9. 1)public class X{2) public Object m(){3) Object o=new Float(3.14F);4) Object[] oa=new Object[1];5) oa[0]=o;6) o=null;7) oa[0]=null;8) System.out.println(oa[0]);9) }10) }which line is the earliest point the object a refered is definitely elibileto be garbage collectioned?A.After line 4B. After line 5C.After line 6D.After line 7E.After line 9(that is,as the method returns)Answer:D如果6) o=null 变成o=9f ,并且把7)去掉,那么8)将会输出什么呢?10. 1) interface Foo{2) int k=0;3) }4) public class Test implements Foo{5) public static void main(String args[]){6) int i;7) Test test = new Test();8) i = test.k;9) i = Test.k;10) i = Foo.k;11) }12) }what is the result? Answer:compile successed and i=0 接口中的int k=0虽然没有访问修饰符,但在接口中默认是static和final的11. what is reserved words in java?A. runB. defaultC. implementD. importAnswer:B,D12. public class Test{public static void main(String[] args){String foo=args[1];Sring bar=args[2];String baz=args[3];}}java Test Red Green Bluewhat is the value of baz?A. baz has value of ""B. baz has value of nullC. baz has value of RedD. baz has value of BlueE. baz has value of GreenF. the code does not compileG. the program throw an exceptionAnswer:G分析:感觉原应该多一些语句吧,至少应该有红绿蓝的赋值语句之类的,才能叫java Test Red Green Blue 才能有后面的选项,所以现在感觉很奇怪,不过就这个样子吧.这个问题在于:数组参数的理解,编译程序没有问题,但是运行这个程序就会出现问题,因为参数args没有给他分配空间那么他的长度应该是0,下面却用拉args[1]........等等的语句,那么定会出现越界错误. 错误如下:Exception in thread "main" ng.ArrayIndexOutOfBoundsException: 1at Test.main(Test.java:4)13. int index=1;int foo[]=new int[3];int bar=foo[index];int baz=bar+index;what is the result?A. baz has a value of 0B. baz has value of 1C. baz has value of 2D. an exception is thrownE. the code will not compileAnswer:B分析:《thinking in java》中的原话:若类的某个成员是基本数据类型,即使没有进行初始化,java也会确保它获得一个默认值,如下表所示:基本类型默认值booleanfalsechar'\u0000'(null)byte(byte)0short(short)0intlong0Lfloat0.0fdouble0.0d千万要小心:当变量作为类的成员使用时,java才确保给定其默认值,。

相关文档
最新文档