达内的一道java测试题
- 格式:doc
- 大小:26.00 KB
- 文档页数:3
达内java面试题一、简介Java作为目前最广泛应用的编程语言之一,对于软件开发工程师而言,掌握Java语言以及相关技术是必备的能力之一。
因此,在面试过程中,Java面试题成为了考察应聘者Java编程知识水平和实际应用能力的常用手段。
本文将介绍一些常见的达内Java面试题,并分析解答策略。
二、面试题目举例1. 核心Java1.1 什么是Java的封装性?封装性是指将数据和操作数据的方法(即行为)包含在一个类中,并对外提供公共的访问方法,隐藏具体的实现细节,使得类的使用者无需关心内部细节。
具体实现方式包括使用private修饰符限制属性的访问权限以及提供获取数据和设置数据的公共方法。
1.2 Java中的继承和接口的区别是什么?继承是一种类与类之间的关系,通过继承可以实现代码的复用,并且可以通过重写父类的方法来实现多态。
而接口则是一种规范、一种约定,通过接口可以定义一组需要实现的方法,实现类需要实现接口中定义的所有方法。
......(继续列举其他面试题目)三、解答策略1. 理解问题在回答面试题之前,应该充分理解题目中所涉及的概念和要求。
对于问题中出现的术语和关键词,需要确保自己对其含义的理解准确,以避免答非所问。
2. 从主要点展开在回答问题时,可以从主要点展开,明确表达自己的观点。
可以先给出一个简洁的回答,然后逐步扩展添加详细的解释和例子,以确保回答的完整性和准确性。
3. 引用实际经验在解答问题过程中,适当引用自己的实际经验可以更加生动和具体地说明问题。
这可以是自己在学习或工作中遇到的问题,以及通过实践和学习获得的解决方案和经验。
四、总结通过参与Java面试题的解答,可以巩固自己对Java编程知识和应用能力的理解和掌握。
同时,也可以通过对面试题目的思考和解答,发现自己在知识体系和实际应用方面的不足,从而进行有效的补充和提升。
最终,积极准备和参与面试,相信可以在求职过程中更好地展示自己的能力和潜力。
Java测试题(含答案和部分解析)一、选择题1. 以下哪个不是Java基本数据类型?A. intB. charC. StringD. boolean答案:C解析:Java的基本数据类型包括:int, byte, short, long, float, double, char, boolean。
String是一个类,不是基本数据类型。
2. 在Java中,下列哪个操作符用于取模?A. %B. /C.D. -答案:A解析:取模操作符是%,用于获取两个数相除的余数。
3. 以下哪个方法可以实现字符串的截取?A. substring(int start, int end)B. substring(int start)C. substring(int start, int length)D. substring(int index)答案:A解析:substring(int start, int end)方法用于截取字符串,从start开始到end结束(不包括end)。
4. 以下哪个方法用于判断字符串是否为空?A. isEmpty()B. isBlank()C. isEmptyD. isNull()答案:A解析:isEmpty()方法是String类的一部分,用于判断字符串是否为空。
二、填空题5. 在Java中,一个类中的构造方法如果没有显式定义,系统会自动提供一个默认的构造方法,该构造方法称为______。
答案:默认构造方法6. 在Java中,如果一个方法没有返回值,则其返回类型应定义为______。
答案:void7. 在Java中,用于表示正则表达式的类是______。
答案:Pattern三、判断题8. 在Java中,所有的类都默认继承自Object类。
答案:正确9. Java中的静态变量在类加载时初始化。
答案:正确10. 在Java中,可以使用一个对象的引用调用另一个对象的成员变量。
答案:错误解析:对象的引用只能调用该对象自己的成员变量或方法。
java考试试题及答案解析一、单选题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. publicC. staticD. void答案:A解析:在Java中,关键字class用于声明一个类。
public、static 和void分别是访问修饰符、修饰符和返回类型,不用于声明类。
2. 下列哪个选项是Java中的保留字?A. finalB. StringC. SystemD. main答案:A解析:final是Java中的保留字,用于声明一个变量、方法或类不可被修改。
String是类名,System是类名,main是方法名。
3. 在Java中,下列哪个选项是正确的方法声明?A. public void myMethod();B. public int myMethod();C. public myMethod();D. public void myMethod(int a);答案:D解析:在Java中,方法声明需要指定返回类型和参数列表。
选项A和B缺少参数列表,选项C缺少返回类型。
选项D是正确的方法声明。
4. 下列哪个选项是Java中的合法变量名?A. 2variableB. _variableC. $variableD. variable2答案:D解析:在Java中,变量名必须以字母、下划线或美元符号开头,不能以数字开头。
选项A以数字开头,选项B和C包含非法字符。
选项D是合法的变量名。
5. 在Java中,下列哪个选项是正确的数组声明?A. int[] myArray;B. int myArray[];C. int[] myArray = new int[5];D. int myArray = new int[5];答案:C解析:在Java中,数组声明需要指定数组类型和变量名,然后使用new关键字创建数组实例。
选项A和B缺少数组实例化,选项D将数组赋值给非数组类型的变量。
大学 —— 学年第 学期 Java 程序设计 ?课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考察 □ B 卷 □ 开卷一、单项选择题〔20题;每题2分, 共40分〕 1.165/2的值是___。
A 〕0 B 〕82 C 〕3 D 〕83 答案: B 〔难度系数 C 〕知识点: 表达式 2.在HTML 中,用________标签来强制显示Applet 。
A 〕 name,height,width B 〕codebase, height,width C 〕 code, name D 〕 code, height,width 答案: D 〔难度系数B 〕 知识点: 小应用程序 3、 在Java Applet 程序用户自定义的Applet 子类中, 一般需要重载父类的_____方法来完成主类实例的初始化工作。
A 〕start( ) B 〕 stop( ) C 〕init( ) D 〕paint( ) 答案: C 〔难度系数C 〕 知识点: 小应用程序 4.创立一个标识有“关闭〞按钮的语句是___。
A 〕 TextField b = new TextField(“关闭〞); B 〕 Label b = new Label(“关闭〞);C 〕 Checkbox b = new Checkbox(“关闭〞);D 〕 Button b = new Button(“关闭〞);答案: D 〔难度系数C 〕 知识点: GUI 编程5、在编写异常处理的Java 程序中, 每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。
6.以下关于循环语句描述正确的选项是___。
班级:姓名: 学号:试题共页加白纸张密封线A〕for循环不可能产生死循环B〕while循环不可能产生死循环C〕for循环不能嵌套while循环D〕即使条件不满足do……while循环体内的语句也至少执行一次答案: D〔难度系数B〕知识点: 循环7、以下描述正确的选项是___。
请用JA V A语言回答Barbara_111@1.设X为FLOAT型变量,Y为DOUBLE型变量,a为INT型变量,B为LONG型变量,C为CHAR型变量,则表达式X+Y*A/X+B/Y+C的值为_FLOAT_类型。
X=2.5A=7Y=4,则表达式X+A%3*(INT)Y的值为_7.5_2.输出1到100中的偶数,一行5个。
int count = 0;for(int i=0; i<=100; i++){if(i % 2 == 0){System.out.print(i);count ++;}if(count % 5 ==0 && count > 0)System.out.println();}3.打印出所有的“水仙花数”。
所谓水仙花数指一个三位数,其各位数字的立方和等于该数本身。
for(int i=0; i<1000; i++){int a = Integer.parseint(String.valueOf(i).substring(0,1));int b = Integer.parseint(String.valueOf(i).substring(1,2));int c = Integer.parseint(String.valueOf(i).substring(2,3));if(a^3 + b^3 + c^3 == i)System.out.println(i);}4.打印一个三角形的0-9的乘法表。
for(int a=9; a>0 ; a--){for(int b=9; b>a; b--){System.out.print(a + “*” + b + “=” + a*b);}System.out.println();}5.创建一个有两个方法的类,其中第一个方法两次调用每二个方法;第一次不使用THIS,第二次使用THIS。
public class Test(){public void a(){b();this.b();}public void b(){}}PS:搞不懂这题啥意思,感觉作这题很白痴.6.编写从键盘读入10个字符入入一个字符数组,并在屏幕上显示它们的程序。
达内java面试题集Java面试题集Java是目前全球最流行的编程语言之一,具有广泛的应用领域和众多的就业机会。
为了帮助大家准备Java面试,下面整理了一些常见的Java面试题,希望对您的面试备考有所帮助。
一、基础知识题1. Java是什么?它有哪些特点和优势?Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle)于上世纪90年代开发并推出。
它具有平台无关性、跨平台性、强大的生态系统和丰富的类库等特点和优势。
2. 请解释一下Java的平台无关性。
Java的平台无关性是指Java程序可以在任何支持Java虚拟机(JVM)的系统上运行,而不受具体操作系统的限制。
这是因为Java代码首先被编译成中间字节码,然后由JVM解释执行。
只要目标系统拥有适当的JVM实现,就可以运行同样的Java程序。
3. 什么是Java虚拟机(JVM)?它有什么作用?Java虚拟机(JVM)是Java运行环境的核心组件,它负责解释和执行Java字节码。
它的主要作用是提供一个安全、独立于操作系统的运行环境,使Java程序得以跨平台运行。
4. Java的基本数据类型有哪些?Java的基本数据类型包括整数类型(byte、short、int、long)、浮点数类型(float、double)、字符类型(char)和布尔类型(boolean)。
5. Java中的自动装箱和拆箱是什么意思?自动装箱是指将基本数据类型自动转换为对应的包装类对象,而拆箱则是相反的过程。
例如,将int自动装箱为Integer对象,再将Integer拆箱为int。
二、面向对象题1. 什么是面向对象编程(OOP)?它有哪些特点?面向对象编程是一种编程范式,它以对象作为程序的基本单位,通过封装、继承和多态等机制来实现代码的重用和灵活性。
它的特点包括封装性、继承性、多态性和抽象性。
2. 什么是封装?为什么要使用封装?封装是将数据和行为封装在一个类中,对外部隐藏实现细节,只暴露必要的接口供其他类使用。
JAVA测试题(三套含答案)1.在单一文件中import、class和package的正确出现顺序是:AA.package, import, classB.class, import, packageC.import, package, classD.package, class, import2.public static void main方法的参数描述是:A,DA.String args[]B.Strings args[]C.String argsD.String []args3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,DA.float f=;B.char c="a";C.byte b=257;D.boolean b=null;E.int i=10;4. 编译,运行下列代码后的结果是:Dpublic class Test {public static void main (String args []) {int age;age = age + 1;"The age is " + age);}}A.编译,运行后没有输出B.编译,运行后输出:The age is 1C.能通过编译,但运行时产生错误D.不能通过编译4.下面那些关键字不是JAVA的关键字BA ifB thenC gotoD whileE case5.下面那些不是合法的变量定义:A,FC. _whatavariableD. _3_6.内部数据类型byte的取值范围是B - 65, 535B.(–128) – 127C.(–32,768) – 32,767D.(–256) – 2557.下列哪些表达式返回true ABA."john" == "john"B."john".equals("john")C."john" = "john"D."john".equals(new Button("john"))8.声明公用的abstract方法的正确格式是A A.public abstract void add();B.public abstract void add() {}C.public abstract add();D.public virtual add();9.下面的代码能打印出的结果为:Cint i=1;switch (i) {case 0:"zero");break;case 1:"one");case 2:"two");default:"default");}B.one, defaultC.one, two, defaultD.default10.下面的代码能打印出的结果为:Bint i=9;switch (i) {default:"default");case 0:case 1:"one");case 2:"two");}A.default, zeroC.error default clause not definedD.no output displayed11.下面的代码那个能正常的编译通过:B,C Aint i=0;if(i) {"Hello");Bboolean b=true;boolean b2=true;if(b==b2) {"So true");}C.int i=1;int j=2;if(i==1|| j==2)"OK");Dint i=1;int j=2;if(i==1 &| j==2)"OK");12.不与在同一个目录下,如果你试图编译,运行下面的代码,那么会是什么结果C import .*;public class Mine {public static void main(String argv[]){Mine m=new Mine();int amethod() {try {FileInputStream dis=new FileInputStream("");}catch (FileNotFoundException fne) {"No such file found");}catch(IOException ioe) {} finally{"Doing finally");return 0;}}13.当你试图准备编译,运行下面代码时会发生:C A.编译和运行很正常B.编译时错误C.运行时错误class Base {}class Sub extends Base {}class Sub2 extends Base {}public class CEx{public static void main(String argv[]){Base b=new Base();Sub s=(Sub) b;}}14.当你试图准备编译,运行下面代码时会发生:Dpublic class Tux extends Thread{static String sName = "vandeleur";public static void main(String argv[]){Tux t = new Tux();(sName);void piggy(String sName){sName = sName + " wiggy";start();}public void run(){for(int i=0;i < 4; i++){sName = sName + " " + i;}}A.编译时错误B.编译成功,并打印出"vandeleur wiggy"C.编译成功,并打印出" vandeleur wiggy 0 1 2 3" D.编译成功,并打印出" vandelur"15.在什么情况下类获得默认的构造方法:BB.类中没有定义任何构造方法时C.在类中至少定义了一个构造方法时16.listener(监听器)方法的正确的访问修饰符是什么A(即默认为空)17. 假定有一个包含引起异常(不是一个RuntimeException)的代码的方法,用什么方式告诉方法的调用者要捕获该异常:B ExceptionExceptionExceptionD.不用特别指定18.下面的代码能打印出的结果是:A,Bpublic class MyFor{public static void main(String argv[]){int i;int j;outer:for (i=1;i <3;i++)inner:for(j=1; j<3; j++) {if (j==2)continue outer;"Value for i=" + i + " Value for j=" +j);}}for i=1 value for j=1B. Value for i=2 value for j=1C. Value for i=2 value for j=2D. Value for i=3 value for j=119.那个代码能够添加在void amethod(int i) throws Exception {}B. void amethod(long i)throws Exception {}C. void amethod(long i){}D. public void amethod(int i) throws Exception {}20.运行下面代码能够得出的结果BString s=new String("Bicycle");char iEnd=3;icC. icyD. error: no method matching substring(int,char)21.下面定义的变量能执行那些操作AString s1=new String("Hello")String s2=new String("there");String s3=new String();A.s3=s1 + s2;B.s3=s1-s2;C.s3=s1 & s2;E.s3=s1 && s222. | 3);能打印出什么结果DA 6B 0C 1D 723. 传递4,0来运行下列代码中的方法divide(int a, int b),结果是:A public void divide(int a, int b) {try {int c = a / b;} catch (Exception e) {"Exception ");} finally {"Finally");}A.打印输出: Exception FinallyB.打印输出: FinallyC.打印输出: ExceptionD.没有任何输出24. 对public void ad d(int a) {…}方法的重写方法:AA.必须返回voidB.必须返回intC.可以返回任何需要的类型25. 对public void add(int a) {…}方法的重载方法应返回:CC.任何类型26. 下列类分别在不同的文件中定义:Cclass Vehicle {public void drive() {"Vehicle: drive");}}class Car extends Vehicle {public void drive() {"Car: drive");}}public class Test {public static void main (String args []) {Vehicle v;Car c;v = new Vehicle();c = new Car();();();v = c;();}}编译和执行类Test后,结果是:A.在语句v= c;处产生编译时错误B.在语句v= c;处产生运行时错误C.输出:Vehicle: driveCar: driveCar: driveD.输出:Vehicle: driveCar: driveVehicle: drive27. 在子类构造方法内的什么位置可以对超类的构造方法(super())进行调用:BA.子类构造方法的任何地方B.子类构造方法的第一条语句处C.子类构造方法的最后一条语句处D.不能对超类的构造方法进行调用28. 下列代码中有明显的语法错误的语句是:C1.public class Test {3.Employee e = new Employee("Bob", 48);4.();5.6. e = Null;7. e = new Employee("Denise", 36);8.();9.10.}}10116829. 选择可以建立线程的接口:AC.少数用于管理的系统部件30. 选择正确生成text field的代码,此text field最多能够显示10个字符(假定其字体有固定大小)并最初显示“hello”串:A TextField("hello", 10) ;TextField(10,"hello");TextField("hello",max,10);TextField("hello",10,max);31. 选择定义在Graphics类中的方法:A,C(int, int, int, int) ;(Image, int, int, ImageObserver) ;(String, int, int) ;(Component);(boolean);(Object);32. 从下面的布局管理器中选择按行放置控件、从左到右、从上到下,当一行装满时开始新的一行的布局管理器:B33. 选择可以替换一个Container对象布局的方法:A(aLayoutManager);(aLayoutManager);(aLayoutManager);34. 一个类Example的main()方法的参数是args,类被如下调用执行:java Example catmain方法中访问args[0]的输出是什么AD.抛出一个NullPointerException异常E.抛出一个ArrayIndexOutOfBoundsException异常35.下面的代码编译,运行后得出的结果:Dpublic class Conv{public static void main(String argv[]){Conv c=new Conv();String s=new String("ello");(s);}public void amethod(String s){char c='H';c+=s;编译成功,打印出"Hello"B. 编译成功,打印出"ello"C. 编译成功,打印出elloHD. 编译错误36.执行后打印的结果为:Cpublic class Oct{public static void main(String argv[]){Oct o = new Oct();();}public void amethod(){int oi= 012;编译,执行下面的代码会出现的结果:Apublic class Ref{public static void main(String argv[]){Ref r = new Ref();(r);}public void amethod(Ref r){int i=99;void multi(Ref r){= *2;}}A. 一个编译时错误B. 99C. 198D. 一个运行时错误.38.现在你存储一个唯一的整型序列,那么你需要哪个容器接口A39. 给出下列代码,请选择2个正确输出D,Epublic class Example{public static void main(String args[]){int i=0;do{it for i is”+i);} while (--i>0);it for i is 3it for i is 2it for i is 1it for i is 040. 打印的结果为:DA -2BC -3D<测试二>Java程序员笔试题一、单项选择题(共10题,每题2分,共20分)1.下列说法哪一个是正确的。
用程序给出随便大小的十个数 ,序号是1到10 按从小到大的顺序输出,并输出相应的序号:
import java.util.Arrays;
import java.util.Random;
public class TestSort{
public static void main(String[] args) {
sort1();
System.out.println("\n");
sort2();
}
public static void sort1(){
int[][]ary = new int[10][2];//二维数组
Random r = new Random();
for (int i = 0; i < 10; i++) {
ary[i][0]=i+1;//存放序号
ary[i][1]=r.nextInt(100);//存放数值
}
for (int i = 0; i < ary.length; i++) {
System.out.print("["+ary[i][0]+"]");
System.out.print(",");
System.out.print(ary[i][1]+" ");
}
System.out.println();
//冒泡排序
for (int i = 0; i < ary.length-1; i++) {
for (int j = 0; j < ary.length-i-1; j++) {
if(ary[j][1]>ary[j+1][1]){
int temp1 = ary[j][0];
int temp2=ary[j][1];
ary[j][0]=ary[j+1][0];
ary[j][1]=ary[j+1][1];
ary[j+1][0]=temp1;
ary[j+1][1]=temp2;
}
}
}
for (int i = 0; i < ary.length; i++) {
System.out.print("["+ary[i][0]+"]");
System.out.print(",");
System.out.print(ary[i][1]+" ");
}
}
public static void sort2(){
int[]ary = new int[10];
Random r = new Random();
for (int i = 0; i < ary.length; i++) {
ary[i]=r.nextInt(100);
}
System.out.println(Arrays.toString(ary));
boolean[]used = new boolean[10];//用来记录那些数已经输出过了
for (int i = 0; i < ary.length; i++) {
int minIndex = 0;//最小数下标
while(used[minIndex]){
minIndex++;//忽略已经输出过的
}
for (int j = minIndex+1; j < ary.length; j++) {
if(used[j]){
continue;//忽略已经输出过的
}
if(ary[j]
}
}
System.out.print("["+(minIndex+1)+"],"+ary[minIndex]+" ");//输出这个最小的数以
及它的序号
used[minIndex]=true;
}
}
}