Java内部测试机试题
Java基础笔试机试测试题(带答案)
Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);System.out.println("sb = " + sb.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。
A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量 c 的值是()。
int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main 方法如下所示,该程序的运行结果是()。
Java内部测试笔试题及答案
《使用Java理解程序逻辑》内部测试-笔试试卷1) 给定某Java程序的main方法如下所示,该程序的运行结果是(B )。
public static void main(String[] args) {boolean boo = true;if (boo == false) {System.out.println("a");} else {System.out.println("b");}}A. 输出aB. 输出bC. 输出abD. 运行时出错2) 在Java中,下列代码的运行结果是(C )。
public static void main(String[] args) {int a=1,b=2,c=3;if(a<0)if(b<0)c=10;elsec=20;System.out.println(c);}A. 输出:10B. 输出:20C. 输出:3D. 编译报错3) 分析下面的Java程序段,编译运行后的输出结果是(D )。
public class Test {public void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {Test a = new Test();StringBuffer sb = new StringBuffer("stringbuffer1");a.changeString(sb);System.out.println("sb = " + sb);}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer24) 在Java中,包有多种用途,但不包含(C )。
Java程序设计在线测试满分题
B、ArrayIndexOutOfBoundsException
C、FileNotFoundException
D、NullPointerException
第三题、判断题(每题 1 分,5 道题共 5 分) 1、在异常处理中,若 try 中的代码可能产生多种异常则可以对应多个 catch 语句,若 catch 中的参数类
atch 语句处理异常
常,或用 throws 将其抛出
3、java 语言中,下列哪一子句是异常处理的出口( )。
A、try{„}子句
B、catch{„}子句
C、finally{„}子句 4、一个异常将终止( )。
A、整个程序
D、以上说法都对 B、叧终止抛出异常的方法
C、产生异常的 try 块 5、哪个关键字可以抛出异常?( )
A、float aFun(float a, float b)
B、public int aFun(int a, int b)
{}
throws Exception{ }
C、public float aFun(float p, fl D、public int aFun(int a, int b)
oat q){ }
1、关于异常,下列说法正确的是( )。
A、异常是一种对象。
B、一旦程序运行,异常将被创建 。
C、为了保证程序运行速度,要尽量避 免异常控制 。
D、以上说法都不对。
2、对于已经被定义过可能抛出异常的语句,在编程时: ( )
A、只能使用 try/catch 语句处理
B、可以置之不理
C、如果程序错误,必须使用 try/c D、必须使用 try/catch 语句处理异
Java基础笔试机试测试题带答案
Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。
A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量c的值是()。
int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main方法如下所示,该程序的运行结果是()。
public static void main(String [] args){int i=0;}a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。
JAVAS1测试试卷(试题)
17. 阅读下列代码,i 值为( )时输出结果中不包括“Test2”。(答案写到答题卡)【选一项】 switch(i){ default: System.out.println("无匹配"); case 1: System.out.println("Test1"); case 2: case 3: System.out.println("Test2"); break; case 4: System.out.println("Test3"); break; }
6. 分析如下所示的 java 代码,编译运行后的输出结果是( )。答案写到答题卡) 【选一项】 public static void main(String arg[]){ boolean b=true; System.out.println(b); if(b){ System.out.println(”真”); }else{ System.out.println(”假”); } }
10. 分析如下所示的 Java 代码,编译运行后的输出结果是( )。(答案写到答题卡) 【选一项】 public static void main(String args[]){ int a=100; while(a%2==0){ System.out.print(a); a=a/4; } }
A. 1002561 B. 10025 C. 100 D. 25
1. 下面( )是合法的 Java 变量名。(答案写到答题卡) 【选二项】
A. _myString B. $a+b C. myString D. 9myString
2. 在 Java 中,源文件 Test.java 中包含如下代码段,则程序编译运行结果是( 答题卡) 【选一项】 public class Test{ public static main(String[] args){ system.out.println(“Hello!”) } }
Java基础笔试机试测试题(带答案)
Java基础考试题班级:__________姓名:___________日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
publicclassTest{publicstaticvoidchangeString(StringBuffersb){sb.append("stringbuffer2");}publicstaticvoidmain(String[]args){StringBuffersb=newStringBuffer("stringbuffer1");changeString(sb);="+sb.toString());}}A. sb=stringbuffer2stringbuffer1B. sb=stringbuffer1C. sb=stringbuffer2D. sb=stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v'出现的位置,选()语句。
A)s.matches('v');B)s.charAt('v');C)s.indexOf('v');D)s.substring('v');4)下列代码运行后,变量c的值是()。
inta=15,b=10;doublec=a/b;a)1.5b)1.0c)1d)05)main方法如下所示,该程序的运行结果是()。
publicstaticvoidmain(String[]args){inti=0;}a)输出0b)输出1c)编译错误d)运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。
java机试题及答案
java机试题及答案# Java机试题及答案一、选择题1. 下列哪个选项是Java语言的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. struct答案:A3. Java中的异常处理是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-while答案:A二、简答题1. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是指Java虚拟机(JVM)自动释放不再使用的对象所占用的内存。
垃圾回收器会定期检查堆内存中的对象,如果对象不再被任何引用指向,就会将其标记为垃圾,并在适当的时机进行回收。
2. 描述Java中的多态性及其应用场景。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态性主要通过继承(子类重写父类方法)和接口(实现接口的类提供具体实现)来实现。
多态性使得代码更加灵活和可扩展,常用于设计模式和大型软件系统的架构中。
三、编程题1. 编写一个Java程序,实现计算一个整数数组中所有元素的总和。
```javapublic class SumArray {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};int sum = sumArray(numbers);System.out.println("The sum of the array is: " + sum);}public static int sumArray(int[] array) {int sum = 0;for (int num : array) {sum += num;}return sum;}}```2. 编写一个Java程序,实现对一个字符串进行反转。
java试题库及答案
java试题库及答案Java是一种广泛使用的高级编程语言,因其简洁、高效和跨平台性而备受程序员们的青睐。
为了帮助学习Java的同学更好地备战考试,我们特别整理了一份Java试题库及答案,希望对大家有所帮助。
一、基础知识题1. Java中基本数据类型有哪些?请简要说明各自的特点。
答:Java中的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。
其中整型用于存储整数,浮点型用于存储小数,字符型用于存储字符,布尔型用于存储真假值。
2. Java中如何进行输入输出操作?答:在Java中,可以使用Scanner类进行输入操作,System.out.println()进行输出操作。
二、面向对象题1. 请简要说明面向对象编程的三大特性是什么?答:面向对象编程的三大特性是封装、继承和多态。
封装指的是将数据和方法封装到一个类中,通过访问修饰符来控制对外部的访问权限;继承指的是子类可以继承父类的属性和方法;多态指的是同一个方法在不同的对象下有不同的实现。
2. Java中如何实现继承?请编写一个简单的代码示例。
答:在Java中,可以通过extends关键字来实现继承。
示例代码如下:```javaclass Animal {public void eat() {System.out.println("Animal is eating");}}class Dog extends Animal {public void bark() {System.out.println("Dog is barking");}}public class Main {public static void main(String[] args) {Dog myDog = new Dog();myDog.eat();myDog.bark();}```三、异常处理题1. Java中如何处理异常?请简要说明try-catch-finally语句的作用。
公司java基础机试题及答案
公司java基础机试题及答案1. 以下哪个选项是Java中的关键字?A. classB. interfaceC. publicD. All of the above答案:D2. Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Thread答案:A3. 在Java中,以下哪种类型的变量不能被声明为final?A. intB. doubleC. StringD. None of the above答案:D4. 下列哪个是Java中的合法标识符?A. 2variableB. variable2C. variable-2D. $variable答案:B5. Java中,哪个关键字用于抛出异常?A. throwB. throwsC. catchD. try答案:A6. 在Java中,以下哪个选项正确地声明了一个字符串数组?A. String[] array;B. String array[];C. Both A and BD. None of the above答案:C7. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. final答案:B8. 在Java中,以下哪个选项是正确的方法重载示例?A. public void display(int number);public void display(double number);B. public int add(int a, int b);public double add(double a, double b);C. Both A and BD. None of the above答案:C9. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. synchronized答案:A10. 在Java中,以下哪个选项是正确的内部类声明?A. class Outer {class Inner {}}B. class Outer {public class Inner {}}C. Both A and BD. None of the above答案:C11. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. Both A and BD. None of the above答案:C12. 在Java中,以下哪个选项是正确的泛型类声明?A. public class Box<T> { T t; }B. public class Box { T t; }C. Both A and BD. None of the above答案:A13. Java中,哪个关键字用于声明一个枚举类型?A. enumB. finalC. classD. interface答案:A14. 在Java中,以下哪个选项是正确的异常处理语句?A. try { } catch (Exception e) { }B. catch (Exception e) { } try { }C. Both A and BD. None of the above答案:A15. Java中,哪个关键字用于声明一个同步方法?A. synchronizedB. volatileC. transientD. strictfp 答案:A。
Java内部测试笔试题
14) 给定Java代码如下所示,则编译运行后,输出结果是( )。
public class test{ static int i; public int aMethod() { i++;
return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); System.out.println(test.aMethod()); } }
22) 在Java语言中,有如下代码:
下列x的定义中,( )可以使得上段代码编译通过。 A. double x = 100; B. char x = 100; C. String x = "100"; D. int x = 100; 23) 给定如下Java代码片段,编译运行时的结果是( )。
A. B. C. D.
0 1 2 3
15) 给定一个Java程序的代码如下所示,则编译运行后,输出 结果是( )。
public class Test { int count = 9; public void count1() { int count = 10; System.out.println("count1=" + count); } public void count2() { System.out.println("count2=" + count); } public static void main(String args[]) { Test t = new Test(); t.count1(); t.count2(); } }
100道经典的JAVA面试题及答案解析
第1章100多道经典的JAVA面试题及答案解析面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。
下面的章节我们会逐个分析这些特性。
封装封装给对象提供了隐藏内部特性和行为的能力。
对象提供一些能被其他对象访问的方法来改变它内部的数据。
在Java当中,有3种修饰符:public,private和protected。
每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:•通过隐藏对象的属性来保护对象内部的状态。
•提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
•禁止对象之间的不良交互提高模块化。
多态多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。
一个多态类型上的操作可以应用到其他类型的值上面。
继承继承给对象提供了从基类获取字段和方法的能力。
继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性。
抽象抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。
Java支持创建只暴漏接口而不包含方法实现的抽象的类。
这种抽象技术的主要目的是把类的行为和实现细节分离开。
抽象和封装的不同点抽象和封装是互补的概念。
一方面,抽象关注对象的行为。
另一方面,封装关注对象行为的细节。
一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。
常见的Java问题1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。
Java源文件被编译成能被Java 虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。
Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2.JDK和JRE的区别是什么?Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。
java测试试卷(六)
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.Java语言中提供了一个( )线程,自动回收动态分配的内存。
A.异步B.消费者C.守护D.垃圾收集2.以下哪个关键字可以用来为对象加互斥锁?()A、transientB、staticC、 serializeD、synchronized3.当()方法终止时,能使线程进入死亡状态.A.runB.setProrityC.yieldD.sleep4.用()方法可以改变线程的优先级.A.runB.setProrityC.yieldD.sleep5.线程通过( )方法可以使具有相同优先级线程获得处理器。
A.runB.setProrityC.yieldD.sleep6.线程通过()方法可以休眠一段时间,然后恢复运行。
A.runB.setProrityC.yieldD.sleep7.方法resume( )负责重新开始( )线程的执行。
A.被stop( )方法停止B.被sleep()方法停止C.被wait()方法停止D.被suspend( )方法停止8.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( )。
public class A {public static void main(String args[]) throws IOException{BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));String str=buf。
readLine();int x=Integer.parseInt(str);System。
out。
println(x/100);}}A) 45 B)5 C) 123 D) 123459.下面的程序段执行后输出的结果是( )StringBuffer buf=new StringBuffer(”Beijing2008”);buf.insert(7,"@");System。
java测试试卷(七)
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.当线程因异常而退出run()后,其所处状态为()A.阻塞状态 B。
运行状态 C、就绪状态D、结束状态2.wait()方法首先是哪个类的方法?()A. ObjectB. Thread.C. RunnableD. File3.如果在关闭socket时发生一个I/O错误,会抛出()。
A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin4.用read()方法读取文件内容时,判断文件结束的标记为()A. 0B. 1 C -1 D. 无标记5.以下哪个方法只对使用了缓冲的流类起作用?()A. read()B. write() C skip() D. flush()6.Java提供的那个类来进行有关Internet地址的操作.( )A. SocketB.ServerSocketC. DatagramSocket D InetAddress7.InetAddress类中哪个方法可实现正向名称解析?()A. isReachable()B. getHostAddress()C. getHosstName()D.getByName()8.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息()A.getPort()B.getHostC.openStream()D.openConnection()9.java程序中,使用TCP套接字编写服务端程序的套接字类是()A. SocketB. ServerSocketC. DatagramSocketD.DatagramPacket10.ServerSocket的监听方法accept()的返回值类型是()A. voidB. ObjectC. SocketD. DatagramSocket11.ServerSocket的getInetAddress()的返回值类型是()A. Socket B ServerSocket C.InetAddress D,.URL12.当使用客户端套接字Socket创建对象时,需要指定()A.服务器主机名称和端口 B、服务器端口和文件C、服务器名称和文件D.服务器地址和文件13.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A.getInetAddress() B. getLocalPort()C.getOutputStream()D.getInputStream()14.使用UDP套接字通信时,常用哪个类把要发送的信息打包?()A. StringB. DatagramSocketC. MulticastSocketD.DatagramPacket15.使用UDP套接字通信时,哪个方法用于接收数据()A. read()B. receive()C. accept()D. Listen()16.若要取得数据包的中源地址,可使用下列哪个语句()?A. getAddress() B. getPort() C. getName() D.getData()17.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()18.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()19.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()20.java程序与数据库连接后,需要更新某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()二.多项选择题(所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分)(每题2分)1.用Statement对象执行一条新增数据到数据表的语句,可以用以下那些函数完成()A.executeQuery()B.executeUpdate()C.execute()D.close()2.以下那些类创建的对象可以用来执行SQL语句,完成对数据库的新增,修改,删除和查询数据等操作( )A.ConnectionB.ResultSetC.StatementD.PreparedStatement3.以下关于TCP(Transfer Control Protocol) 传输控制协议说法正确的是()A.基于连接的高可靠性传输协议 B. 可以保证数据准确的按顺序到达目的地C. 以流的方式传输数据D. 数据包的大小限制在64K以下4. 以下关于UDP(User Datagram Protocol)用户数据报协议说法正确的是()A. 基于连接的高可靠性传输协议B. 基于无连接的协议C.不会在发送数据之前建立连接,不管传输正确与否,也不保证数据包的正确次序D. 可以广播的方式发送数据,数据包的大小限制在64K以下5. 下列说法错误的有()A、Java面向对象语言容许单独的过程与函数存在B、Java面向对象语言容许单独的方法存在C、Java语言中的方法属于类中的成员(member)D、Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同6. createStatement(int type ,int concurrency)的参数说明:type 参数设置ResultSet 对象中的指针是否能够上下自由移动;可选值为()A. TYPE_FORWARD_ONLY: 只能使用next方法向下移动指针B. TYPE_SCROLL_SENSITIVE: 能够上下移动,且能得到临时修改后的数据库值C. TYPE_SCROLL_INSENSITIVE:能可上下移动,只能得到当前查询的值D.CONCUR_READ_ONLY: ResultSet对象对结果集只能读7.以下关于connection对象提供的方法描述正确的是()A.setAutoCommit(boolean autoCommit) 设置操作是否自动提交到数据库B. commit( ) 提交对数据库的更改,使更改生效C. rollback( ) 回滚当前执行的操作D. isclose( ) 判断连接是否关闭8.PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高,以下描述正确的是()A.可以在执行过程中向该对象中的sql语句传递参数B.对于sql中每个输入参数都保留一个问号“?”作为占位符C.每个?占位符的值必须在该语句执行前被赋值D. 每个?占位符的值可以在该语句执行后被赋值9. 下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法10.关于逻辑操作(&,|,^)与条件操作(&&,||)的说法正确的是()A.条件操作只能操作布尔型的B.逻辑操作不仅可以操作布尔型,而且可以操作数值型C.逻辑操作不会产生短路D.条件操作不会产生短路三.填空题(每空一分,10分)1.网络连接中合法端口的范围是 0 到 65535 ,其中 0~1023 范围的端口为给系统的网络服务与应用预留的2.取得当前线程的语句是: Thread.currrentThread() ;3.可以调用 Thread 类的方法 getPriority()和 setPriority() 来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是 NORM_PRIORITY4. InetAddress 是用于封装IP地址和DNS的一个类。
测试面试Java经典面试题汇总
测试⾯试Java经典⾯试题汇总Java ⽬前仍然是业界应⽤最为⼴泛的编程语⾔,在很多互联⽹⼤⼚,深度掌握 Java 是中⾼级测试开发/测试架构师的必备核⼼技能。
技术⾯试中,Java编程技能也⼀直是考核重点。
本⽂整理汇总了常见的经典 Java⾯试题⽬(较偏向初级和中级⽔平),供各位测试开发同学参考。
这⾥只给出问题,不列出参考答案(很多问题答案并不唯⼀),有兴趣的可以留⾔讨论,进阶学习⽂末加群。
⼀、基础篇1.1、Java 基础⾯向对象的特征:继承、封装和多态final, finally, finalize 的区别Exception、Error、运⾏时异常与⼀般异常有何异同请写出 5 种常见到的 runtime exceptionint 和 Integer 有什么区别,Integer 的值缓存范围包装类,装箱和拆箱String、StringBuilder、StringBuffer重载和重写的区别抽象类和接⼝有什么区别说说反射的⽤途及实现说说⾃定义注解的场景及实现HTTP 请求的 GET 与 POST ⽅式的区别Session 与 Cookie 区别列出⾃⼰常⽤的 JDK 包MVC 设计思想equals 与 == 的区别hashCode 和 equals ⽅法的区别与联系什么是 Java 序列化和反序列化,如何实现 Java 序列化?或者请解释 Serializable 接⼝的作⽤Object 类中常见的⽅法,为什么 wait notify 会放在 Object ⾥边?Java 的平台⽆关性如何体现出来的JDK 和 JRE 的区别Java 8 有哪些新特性1.2、Java 常见集合List 和 Set 区别Set 和 hashCode 以及 equals ⽅法的联系List 和 Map 区别Arraylist 与 LinkedList 区别ArrayList 与 Vector 区别HashMap 和 Hashtable 的区别HashSet 和 HashMap 区别HashMap 和 ConcurrentHashMap 的区别HashMap 的⼯作原理及代码实现,什么时候⽤到红⿊树多线程情况下 HashMap 死循环的问题HashMap 出现 Hash DOS 攻击的问题ConcurrentHashMap 的⼯作原理及代码实现,如何统计所有的元素个数⼿写简单的 HashMap看过那些 Java 集合类的源码1.3、进程和线程线程和进程的概念、并⾏和并发的概念创建线程的⽅式及实现进程间通信的⽅式说说 CountDownLatch 和 CyclicBarrier 原理和区别说说 Semaphore 原理说说 Exchanger 原理ThreadLocal 原理分析ThreadLocal 为什么会出现 OOM,出现的深层次原理讲讲线程池的实现原理线程池的⼏种实现⽅式线程的⽣命周期,状态是如何转移的1.4、锁机制说说线程安全问题,什么是线程安全,如何保证线程安全重⼊锁的概念,重⼊锁为什么可以防⽌死锁产⽣死锁的四个条件(互斥、请求与保持、不剥夺、循环等待)如何检查死锁(通过 jConsole 检查死锁)volatile 实现原理(禁⽌指令重排、刷新内存)synchronized 实现原理(对象监视器)synchronized 与 lock 的区别AQS 同步队列CAS ⽆锁的概念、乐观锁和悲观锁常见的原⼦操作类什么是 ABA 问题,出现 ABA 问题 JDK 是如何解决的乐观锁的业务场景及实现⽅式Java 8 并法包下常见的并发类偏向锁、轻量级锁、重量级锁、⾃旋锁的概念1.5、JVMJVM 运⾏时内存区域划分内存溢出 OOM 和堆栈溢出 SOE 的⽰例及原因、如何排查与解决如何判断对象是否可以回收或存活常见的 GC 回收算法及其含义常见的 JVM 性能监控和故障处理⼯具类:jps、jstat、jmap、jinfo、jconsole 等JVM 如何设置参数JVM 性能调优类加载器、双亲委派模型、⼀个类的⽣命周期、类是如何加载到 JVM 中的类加载的过程:加载、验证、准备、解析、初始化强引⽤、软引⽤、弱引⽤、虚引⽤Java 内存模型 JMM1.6、设计模式常见的设计模式设计模式的的六⼤原则及其含义常见的单例模式以及各种实现⽅式的优缺点,哪⼀种最好,⼿写常见的单利模式设计模式在实际场景中的应⽤Spring 中⽤到了哪些设计模式MyBatis 中⽤到了哪些设计模式你项⽬中有使⽤哪些设计模式说说常⽤开源框架中设计模式使⽤分析动态代理(很重要!)1.7、数据结构树(⼆叉查找树、平衡⼆叉树、红⿊树、B 树、B+ 树)深度有限算法、⼴度优先算法克鲁斯卡尔算法、普林母算法、迪克拉斯算法什么是⼀致性 Hash 及其原理、Hash 环问题常见的排序算法和查找算法:快排、折半查找、堆排序等1.8、⽹络 /IO 基础BIO、NIO、AIO 的概念什么是长连接和短连接Http1.0 和 2.0 相⽐有什么区别Https 的基本概念三次握⼿和四次挥⼿、为什么挥⼿需要四次从游览器中输⼊ URL 到页⾯加载的发⽣了什么?⼆、数据存储和消息队列2.1、数据库MySQL 索引使⽤的注意事项DDL、DML、DCL 分别指什么explain 命令left join,right join,inner join数据库事物 ACID(原⼦性、⼀致性、隔离性、持久性)事物的隔离级别(读未提交、读以提交、可重复读、可序列化读)脏读、幻读、不可重复读数据库的⼏⼤范式数据库常见的命令说说分库与分表设计分库与分表带来的分布式困境与应对之策(如何解决分布式下的分库分表,全局表?)说说 SQL 优化之道MySQL 遇到的死锁问题、如何排查与解决存储引擎的 InnoDB 与 MyISAM 区别,优缺点,使⽤场景索引类别(B+ 树索引、全⽂索引、哈希索引)、索引的原理什么是⾃适应哈希索引(AHI)为什么要⽤ B+tree 作为 MySQL 索引的数据结构聚集索引与⾮聚集索引的区别遇到过索引失效的情况没,什么时候可能会出现,如何解决limit 20000 加载很慢怎么解决如何选择合适的分布式主键⽅案选择合适的数据存储⽅案常见的⼏种分布式 ID 的设计⽅案常见的数据库优化⽅案,在你的项⽬中数据库如何进⾏优化的2.2、RedisRedis 有哪些数据类型Redis 内部结构Redis 使⽤场景Redis 持久化机制Redis 集群⽅案与实现Redis 为什么是单线程的?缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级使⽤缓存的合理性问题Redis 常见的回收策略2.3、消息队列消息队列的使⽤场景消息的重发补偿解决思路消息的幂等性解决思路消息的堆积解决思路⾃⼰如何实现消息队列如何保证消息的有序性三、开源框架和容器3.1、SSM/ServletServlet 的⽣命周期转发与重定向的区别BeanFactory 和 ApplicationContext 有什么区别Spring Bean 的⽣命周期Spring IOC 如何实现Spring 中 Bean 的作⽤域,默认的是哪⼀个说说 Spring AOP、Spring AOP 实现原理动态代理(CGLib 与 JDK)、优缺点、性能对⽐、如何选择Spring 事务实现⽅式、事务的传播机制、默认的事务类别Spring 事务底层原理如何⾃定义注解实现功能Spring MVC 运⾏流程Spring MVC 启动流程Spring 的单例实现原理Spring 框架中⽤到了哪些设计模式Spring 其他产品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)有没有⽤到 Spring Boot,Spring Boot 的认识、原理MyBatis 的原理3.2、Netty为什么选择 Netty说说业务中,Netty 的使⽤场景原⽣的 NIO 在 JDK 1.7 版本存在 epoll bug什么是 TCP 粘包 / 拆包TCP 粘包 / 拆包的解决办法Netty 线程模型说说 Netty 的零拷贝Netty 内部执⾏流程Netty 重连实现3.3、TomcatTomcat 的基础架构(Server、Service、Connector、Container)Tomcat 如何加载 Servlet 的Pipeline-Valve 机制四、分布式4.1、Nginx请解释什么是 C10K 问题??正向代理和反向代理Nginx ⼏种常见的负载均衡策略Nginx 服务器上的 Master 和 Worker 进程分别是什么使⽤ “反向代理服务器” 的优点是什么 ?4.2、分布式其他谈谈业务中使⽤分布式的场景Session 分布式⽅案Session 分布式处理分布式锁的应⽤场景、分布式锁的产⽣原因、基本概念分布是锁的常见解决⽅案分布式事务的常见解决⽅案集群与负载均衡的算法与实现说说分库与分表设计分库与分表带来的分布式困境与应对之策4.3、Dubbo什么是 Dubbo什么是 RPC、如何实现 RPC、RPC 的实现原理Dubbo 中的 SPI 是什么概念Dubbo 的基本原理、执⾏流程五、微服务5.1、微服务前后端分离是如何做的?微服务哪些框架Spring Could 的常见组件有哪些?领域驱动有了解吗?什么是领域驱动模型?充⾎模型、贫⾎模型JWT 有了解吗,什么是 JWT你怎么理解 RESTful说说如何设计⼀个良好的 API如何理解 RESTful API 的幂等性如何保证接⼝的幂等性说说 CAP 定理、BASE 理论怎么考虑数据⼀致性问题说说最终⼀致性的实现⽅案微服务的优缺点微服务与 SOA 的区别如何拆分服务、⽔平分割、垂直分割如何应对微服务的链式调⽤异常如何快速追踪与定位问题如何保证微服务的安全、认证5.2、安全问题如何防范常见的 Web 攻击、如何⽅式 SQL 注⼊服务端通信安全攻防HTTPS 原理剖析、降级攻击、HTTP 与 HTTPS 的对⽐5.3、性能优化性能指标有哪些如何发现性能瓶颈性能调优的常见⼿段说说你在项⽬中如何进⾏性能调优六、其他6.1、对架构设计的理解能⼒和业务协作说说你在项⽬中使⽤过的 UML 图你如何考虑组件化、服务化、系统拆分秒杀场景如何设计说说公司的流程、如何进⾏⾃动化部署的你和团队是如何沟通的你如何进⾏代码评审说说你对技术与业务的理解说说你在项⽬中遇到感觉最难 Bug,是如何解决的介绍⼀下⼯作中的⼀个你认为最有价值的项⽬,以及在这个过程中的⾓⾊、解决的问题、你觉得你们项⽬还有哪些不⾜的地⽅6.2 软实⼒说说你的优缺点、亮点说说你最近在看什么书、什么博客、在研究什么新技术、再看那些开源项⽬的源代码说说你觉得最有意义的技术书籍⼯作之余做什么事情、平时是如何学习的,怎样提升⾃⼰的能⼒说说个⼈发展⽅向⽅⾯的思考说说你认为的测试开发⼯程师应该具备哪些能⼒说说你认为的测试架构师是什么样的是不是觉得还要学好多东西?加油吧,少年!** _来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web⾃动化测试 app⾃动化测试、接⼝⾃动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全⾯提升测试开发⼯程师的技术实⼒QQ交流群:484590337公众号 TestingStudio。
【黑马程序员】Java试题、50道Java面试题集(2019最新版)21-30
【黑马程序员】Java试题、50道Java面试题集(2019最新版)21-30以下的内容是对原有的和最近Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,相对来说比较经典,相信对准备入职的Java程序员一定有所裨益。
21、描述一下JVM 加载class文件的原理机制?答:JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。
补充:1.由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。
当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。
类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。
加载完成后,Class对象还不完整,所以此时的类还不可用。
当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。
最后JVM对类进行初始化,包括:1如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;2如果类中存在初始化语句,就依次执行这些初始化语句。
2.类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(ng.ClassLoader的子类)。
从JDK 1.2开始,类加载过程采取了父亲委托机制(PDM)。
PDM更好的保证了Java平台的安全性,在该机制中,JVM 自带的Bootstrap是根加载器,其他的加载器都有且仅有一个父类加载器。
类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。
JVM不会向Java程序提供对Bootstrap的引用。
JAVA测试题(三套含答案)
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.下列说法哪一个是正确的。
Java试题A
Java测试题(A卷)一、单选题(2分/题*20题=40分)1.下列javaDoc注释正确的是()A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/2.下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3.下列语句执行后,变量a、c的值分别是()。
int x=182;int a,c;c=x/100;a=x%10;A、1,2B、 2,1C、1.82, 2D、100,824.下面哪个表达式可用得到x和y的最大值()?A、 x>y?y:xB、 x<y?y:xC、 x>y?(x+y):(x-y)D、 x==y?y:x;5.以下代码的执行结果是:()a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);A、666B、667C、677D、6766.下列输出结果是()int a = 2while ( a < 5 ) {switch(a){case 0:case 3 : a = a + 2;case 1 :case 2 : a = a + 3;default : a = a + 5;}}System.out.print ( a )A、5B、7C、10D、127.下面是func(int m,int n)方法的定义,方法调用func (1,4)的返回结果是()。
int func (int m,int n) {int sum=0;for(int i=1;i<=4;i+=2) {sum+=i;}return sum;}A、1B、4C、5D、108.以下定义一维数组的语句中,正确的是()A、int a[5]B、int a[] = new. int[5];C、int a[] ;D、int a[] = {1,2,3,4,5};9.分析选项中关于Java中this关键字的说法正确的是()A、this关键字是在对象内部指代自身的引用B、this关键字可以在类中的任何位置使用C、this关键字和类关联,而不是和特定的对象关联D、同一个类的不同对象共用一个this10.在Java中,关于构造方法,下列说法错误的是()A、构造方法的名称必须与类名相同B、构造方法可以带参数C、构造方法不可以重载D、构造方法绝对不能有返回值11.假设类A有构造方法A(int a),则在类A的其它构造方法中调用该构造方法的语句为()A、A(x)B、this.A(x)C、this(x)//本类的构造方法都是使用this关键字来调用D、super(x)调用父类的构造方法使用的是super12.下列关于抽象类的说法正确的是()A、某个抽象类的父类是抽象的,则这个子类必须重载父类的所有抽象方法B、抽象类中必须存在抽象方法C、绝对不能用抽象类去创建对象D、抽象类可以实现接口,并且可以只实现接口的部分接口方法13.下面代码段静态的变量只有一个值,常驻内存存在的class HasStatic{private static int x = 101;public static void main(String[] args){HasStatic hs1 = new HasStatic();hs1.x++;102HasStatic hs2 = new HasStatic();hs2.x++;102hs1 = new HasStatic();hs1.x++;103HasStatic.x--;System.out.println(hs1.x + hs2.x);}}输出的结果是:A、103102B、204C、205D、20614.下面()不是String类提供的合法的方法。
fly机试题
《Java方向》内部测试-机试试卷
一、语言和环境
A、实现语言
Java
B、环境要求
JDK 6.0、MyEclipse10
二、功能要求
开发基于控制台的航班信息系统。
具体要求如下:
(1)显示航班信息系统主菜单,如图-1所示,包括:
1)列出所有航班
2)按起飞时间查询
3)按目的地查询
4)删除航班
5)更新航班
6)退出系统
(2)列出所有航班:查出所有航班的信息,以列表形式显示,包括:编号,航班号,目的地,起飞日期。
如图-2所示。
(3)按起飞时间查询:输入起飞时间(格式如2011-2-25),查出所有这一天的航班。
如图-3所示。
(4)按目的地查询:输入目的地,查出所有飞往此地的航班。
如图-4所示。
(5)删除航班:删除指定编号的航班。
如图-5所示。
(6)更新航班:更新指定编号的航班。
如图-6所示(可以不实现)。
(7)退出系统。
系统运行界面如图-1所示。
图-1 主菜单界面
图-2列出所有航班界面
图-3按起飞时间查询界面
图-4 按目的地查询界面
图-5 删除指定航班界面
图-6 更新指定航班界面
三、具体要求及推荐实现步骤
1、采用面向对象的思想开发此系统。
2、信息保存在fly.txt文件中。
JAVA语言基础内部测试题(50道选择题)
JAVA语⾔基础内部测试题(50道选择题)JAVA语⾔基础内部测试题选择题(针对以下题⽬,请选择最符合题⽬要求的答案,针对每⼀道题⽬,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
)(每题2分)没有注明选择⼏项的,只选择⼀项1、 JAVA所定义的版本中不包括:()A、 JAVA2 EEB、 JAVA2 CardC、 JAVA2 MED、 JAVA2 HEE、 JAVA2 SE2、下列说法正确的是()A、 JAVA程序的main⽅法必须写在类⾥⾯B、 JAVA程序中可以有多个main⽅法C、 JAVA程序中类名必须与⽂件名⼀样D、 JAVA程序的main⽅法中如果只有⼀条语句,可以不⽤{}(⼤括号)括起来3、 Java中,在如下所⽰的Test类中,共有()个构造⽅法。
public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}A、 0B、 1C、 2D、 34、变量命名规范说法正确的是()A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、 A和a在java中是同⼀个变量;D、不同类型的变量,可以起相同的名字;5、下列javaDoc注释正确的是()A、 /*我爱北京天安门*/B、 //我爱北京天安门*/C、 /**我爱北京天安门*/D、 /*我爱北京天安门**/6、为⼀个boolean类型变量赋值时,可以使⽤()⽅式A、 boolean = 1;B、 boolean a = (9 >= 10);C、 boolean a="真";D、 boolean a = = false;7、以下()不是合法的标识符A、 STRINGB、 x3x;C、 voidD、 de$f8、表达式(11+3*8)/4%3的值是()A、 31B、 0C、 1D、 29、()表达式不可以作为循环条件A、 i++;B、 i>5;C、 bEqual = str.equals("q");D、 count = = i;10、运算符优先级别排序正确的是()A、由⾼向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由⾼向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由⾼向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由⾼向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;11、以下程序的运⾏结果是:()public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A. 666B. 667C. 677D. 67612、下列值不为true的表达式有()。
Java应用开发技术相关的测试题及参考解答(第6部分)
27、给出以下代码,请问以下描述正确的是? public XXXX extends something1,something2 A. 如果 XXXX 是一个接口,something1 和 something2 取消掉,则代码段合法 B. 如果 XXXX 是一个类,something1 和 something2 均是接口,则代码段合法 C. 如果 XXXX、something1 和 something2 都是接口,则代码段合法 D. 因为 Java 语音不支持多继承机制,所以代码段不合法
答案:C
28、给出以下代码,请问以下关于一个实现该接口的类的哪些描述是正确的? public interface Example{ void someMethod(); } A. 该类应该有一个被声明为 public 的 someMethod()方法 B. 该类应该有一个被声明为 public 的或不加任何访问修饰符的 someMethod()方法 C. 该类应该有一个不抛出异常的 someMethod()方法
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
25、请问,以下哪些实现了多态? A. 内部类 B. 匿名类 C. 方法过载(override) D. 方法重载
答案:CD
26、请问以下哪些描述是正确的? A. native 关键字表明修饰的方法是有其他非 Java 语音编写的 B. 能够出现在 Java 源文件中 import 语句前的只有注释语句 C. 接口中定义的方法默认是 public 和 abstract 的,不能被 private 或 protected 修饰 D. 构造器只能被 public 或 protected 修饰
答案:A
24、请问,以下哪些有关接口的描述是正确的? A. 在接口中定义的方法默认都是 public 的 B. 在接口中定义的方法默认是 public、static、final 方法 C. 一个接口可以继承多个接口 D. 关键字 implements 代表继承关系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《使用Java理解程序逻辑》内部测试-机试试卷
一、质数计算
1、功能要求
开发基于控制台的质数判断系统。
具体要求如下:
(1)接受输入正整数N。
(2)判断N是否为质数。
(3)在控制台打印出计算结果,如图-1所示。
系统运行界面如图-1所示。
图-1 系统运行界面
2、类的设计
该系统只包含一个类PrimeNumber
3、具体要求及推荐实现步骤
1、从控制台读入待判断的数。
2、for循环和取余运算符(%)来检测是否是质数。
2、把计算结果打印到控制台上。
所谓质数,就是一个正整数,除了本身和1 以外不能被其他任何数整除。
例如2,3,5,
7 是质数(这4个数只能被1和本身整除);而4(可以被2整除),6(可以被2和3整
除),8(可以被2和4整除),9(可以被3整除)则不是。
二、2011年日历
1、功能要求
开发基于控制台的2011年日历系统。
具体要求如下:
(1)接受输入指定的和月份。
(2)计算2011年月份有多少天,每天分别是星期几。
(3)在控制台打印出计算结果,如图-2所示。
系统运行界面如图-2所示。
图-2 系统运行界面
2、类的设计
该系统只包含一个类PrintCalendar
3、具体要求及推荐实现步骤
1、从控制台读入月份。
2、计算出当月第一天是星期几。
星期日用0表示,星期一到星期六分别用1到6表示。
2011年1月1日是星期六。
当月第一天是星期几的计算方法是:累加之前各月的天数,再加上6,最后除以7的余数,即是星期几。
4、打印头部“星期日星期二…星期六”。
从当月第一天开始打印,循环遍历当月各
天,到星期六的时候输出换行。