java第一阶段测试题(答案)
- 格式:doc
- 大小:70.00 KB
- 文档页数:12
试卷(一)一、填空题(每空2分,共计10分)1、在Java平台技术中,boolean数据类型只有两个值分别是和2、面向对象技术三个特点是封装、继承和。
3、封装在类中某方法,其方法名与类名相同且没有返回类型并负责完成对象成员的初始化工作,为实例变量赋予合适的初始值,则该方法是方法。
4、在一个类中封装了多个同名方法,而这些同名方法之间的参数类型不同或参数的个数不同,则这种现象称之为方法的。
5、用来表示当前对象的关键字是this,而用来表示父类对象的关键字是。
二、判断题(每题2分,共计20分,请将答案写在相应的答题卡栏中)1、StringBuffer实例的字符串内容能够通过封装在该类中方法进行修改。
()2、int数据类型的变量在某种情况可以自动转换成String类型。
()3、包可以实现在一个工程(project)中定义多个同名类。
()4、在您的程序中使用Scanner类需要使用语句:import java.util.Scanner;()5、使用继承可以提高代码的复用性。
()6、数组对象的lenth属性显示的是数组的长度。
()7、在比较str1和str2两个字符串对象值是否相等时使用语句str1=str2。
()8、用于结束循环而执行循环体外围语句的是break语句。
()9、用于提前结束本次循环而进入下一次循环的是continue语句。
()10、static修饰的方法称之为类方法。
()二、选择题:(每题2分,共计40分)1、选出合理的标识符()A、2mailB、_sys1@l23C、$changeD、class2、指出下列程序运行的结果()public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");System.out.print(ex.ch);}public void change(String str,char ch[]){str="test ok";ch[0]='g';}}A、good and abcB、good and gbcC、test ok and abcD、test ok and gbc3、Java技术平台共分为3种类型:()A、Java ME、Java SE、Java EEB、Java SE、Java DE、Java EEC、Java UE、Java SE、Java EED、Java FE、Java SE、Java EE4、在控制台显示消息的语句正确的是:()A、system.out.println(“hello world ”);B、System.Out.println(“hello world ”);C、System.out.println(“hello world ”);D、System.Out.Println(“hello world ”);5、下列说法正确的是:()A、Java程序的main方法必须都写在类里面B、Java程序中可以有多个main方法C、Java程序的以public修饰的类名不必与所在的文件的文件名一样。
一、语言和环境A、实现语言JavaB、环境要求JDK 6.0、MyEclipse7.5、Oracle10g、PL/SQL Developer二、功能要求开发基于控制台的留言板系统。
具体要求如下:(1)显示留言板系统主菜单,包括显示留言、添加留言和退出系统三项。
(2)显示所有留言信息:包括各条留言的留言人、留言时间、留言标题和留言内容。
(3)用户添加留言:需要输入留言人、留言标题、留言内容,留言时间取当前时间。
(4)退出系统。
系统运行界面如图-1所示。
三、类的设计采用DAO模式开发此系统,需要定义如下类留言实体类(Message)✧留言Id(id)✧留言人(userName)✧留言标题(title)✧留言内容(contents)✧留言时间(createTime)数据库连接和关闭类(BaseDao)留言DAO接口(MessageDao)留言DAO实现类(MessageDaoOracleImpl)留言业务类(MessageService)Main类四、具体要求及推荐实现步骤1、创建数据库表message,添加测试数据不少于2条。
2、创建序列messageSeq,用于实现message表的主键自增。
3、创建实体类Message,根据业务提供需要的构造方法和setter/getter方法。
4、创建BaseDao类,实现数据库连接和关闭功能。
5、创建DAO接口MessageDao,定义查询所有留言、添加留言的方法。
6、创建DAO实现类MessageDaoOracleImpl,继承BaseDao类,实现MessageDao接口,使用JDBC完成相应数据库操作。
7、创建业务类MessageService,完成在控制台显示留言信息和用户添加留言操作。
8、创建Main类,启动和运行系统。
图-1 系统运行界面一、选择题(2分/题)1. char a[3],b[] = "China"; a=b; System.out.print (""+a); 在java 语言中,运行上面的程序段后将输出(d )。
学士后Java阶段测试-U1单元-笔试试卷1考试时间 60分钟选择题(共50题,每题2分,满分100分)1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。
A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 在Java中,下列关于方法重载的说法中错误的是()(多选)。
A. 方法重载要求方法名称必须相同B. 重载方法的参数列表必须不一致C. 重载方法的返回类型必须一致D. 一个方法在所属的类中只能被重载一次3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。
(多选)public class Test{public void cal(int x, int y, int z) {}________________ }A. public int cal(int x, int y, float z){ return 0; }B. public int cal(int x, int y, int z){ return 0; }C. public void cal(int x, int z){ }D. public void cal(int z, int y, int x){ }4) 在Java中,下面对于构造函数的描述正确的是()。
A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5) 下面Java代码的运行结果是()。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。
.......................密......................封..........................线....................学校院系专业JAVA 基础课程试卷 A 卷Array一、选择题(每题1分,共40分)1、一个方法在定义过程中又调用自身,这种方法称为( B )A、构造方法B、递归方法C、成员方法D、抽象方法2、如果希望方法直接通过类名称访问,在定义时要使用的修饰符是( A )A、staticB、finalC、abstractD、this3、如果类中没有定义构造方法,系统会提供一个默认的构造方法。
默认构造方法的特点是(C )A、无参数有操作B、有参数无操作C、即无参数也无任何操作D、有参数有操作。
4、以下关于面向对象概念的描述中,不正确的一项是( C )A、在现实生活中,对象是指客观世界的实体。
B、程序中的对象就是现实生活中的对象。
C、在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)。
D、在程序中,对象是一组变量和相关方法的集合。
5、下列那一项不属于面向对象程序设计的基本要素?( C )A、类B、对象C、方法D、安全6、顺序执行下列程序语句后,则b的值是( C )String str = "Hello" ;String b = str.substring(0,2) ;A、HelloB、helloC、HeD、null7、不能直接使用new创建对象的类是( B )A、静态类B、抽象类C、最终类D、公有类8、为类定义多个名称相同、但参数的类型或个数不同的方法的做法称为()A、方法重载B、方法覆写C、方法继承D、方法重用9、定义接口的关键字是()A、extendsB、classC、interfaceD、public10、现在有两个类A、B,以下描述中表示B继承自A的是()A、class A extends BB、class B implements AC、class A implementsD、class B extends A11、下面关于子类调用父类构造方法的描述正确的是()A、子类定义了自己的构造方法,就不会调用父类的构造方法。
.............. 密 ............ 封............... 线............学校院系专业JAVA基础课程试卷A 卷一、选择题(每题1分,共40分)1、一个方法在定义过程中又调用自身,这种方法称为(B )A、构造方法B、递归方法C、成员方法D、抽象方法2、如果希望方法直接通过类名称访问,在定义时要使用的修饰符是(A )A、staticB、finalC、abstractD、this3、如果类中没有定义构造方法,系统会提供一个默认的构造方法。
默认构造方法的特点是(C )A、无参数有操作有参数无操作C、即无参数也无任何操作D、有参数有操作。
4、以下关于面向对象概念的描述中,不正确的一项是(C )A、在现实生活中,对象是指客观世界的实体。
B、程序中的对象就是现实生活中的对象。
C、在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)。
D、在程序中,对象是一组变量和相关方法的集合。
5、下列那一项不属于面向对象程序设计的基本要素?(C )A、类B、对象C、方法D、安全6、顺序执行下列程序语句后,则b的值是(C )String str = "Hello";String b = str.substring(0,2);A、HelloB、helloC、HeD、null7、不能直接使用new创建对象的类是(B )A、静态类B、抽象类C、最终类D、公有类8、为类定义多个名称相同、但参数的类型或个数不同的方法的做法称为()A、方法重载B、方法覆写C、方法继承D、方法重用9、定义接口的关键字是()A、extends class C、interface D、public10、现在有两个类A、B,以下描述中表示B继承自A的是()A、class A extends BB、class B implements AC、class A implementsD、class B extends A11、下面关于子类调用父类构造方法的描述正确的是()A 、子类定义了自己的构造方法,就不会调用父类的构造方法。
Java编程基础智慧树知到课后章节答案2023年下潍坊学院潍坊学院第一章测试1.下列关于JDK、JRE和JVM关系的描述中,正确的是()。
A:JRE中包含了JDK,JVM中包含了JRE。
B:JDK中包含了JRE,JRE中包含了JVM。
C:JDK中包含了JRE,JVM中包含了JRE。
D:JRE中包含了JDK,JDK中包含了JVM。
答案:JDK中包含了JRE,JRE中包含了JVM。
2.下面哪种类型的文件可以在Java虚拟机中运行()A:.javaB:.jreC:.exeD:.class答案:.class3.下面关于javac命令作用的描述中,正确的是()。
A:可以将编写好的Java文件编译成.class文件B:可以把文件压缩C:可以把数据打包D:可以执行java程序答案:可以将编写好的Java文件编译成.class文件4.如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()A:c:jreB:c:jdkinC:c:jdkD:c:jrein答案:c:\jdk\bin5.下列Java命令中,哪一个可以编译HelloWorld.java文件()A:javac HelloWorld.javaB:javac HelloWorldC:java HelloWorldD:java HelloWorld.java答案:javac HelloWorld.java6.下列选项中,哪些是Java语言的特性()A:面向对象B:支持多线程C:跨平台性D:简单性答案:面向对象;支持多线程;跨平台性;简单性7.下列关于JRE目录的描述中,正确的是()?A:JRE是一个小型的数据库 B:JRE是Java运行时环境的根目录 C:JRE用于存放一些可执行程序 D:JRE是Java Runtime Environment的缩写答案:JRE是Java运行时环境的根目录;JRE是Java Runtime Environment的缩写8.在Eclipse集成开发环境中,选择【new】->【class】可以创建一个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考试简答题及答案:
1. 什么是Java?
答案:Java是一种面向对象的编程语言,由Sun Microsystems 公司开发。
它被设计成一种跨平台的语言,可以在多个操作系统上运行,并且具有垃圾回收机制,可以自动管理内存。
2. 什么是Java虚拟机(JVM)?
答案:Java虚拟机(JVM)是一种运行Java程序的软件平台。
它是一种虚拟的计算机,能够执行Java字节码,并将其转换为特定操作系统的机器代码执行。
3. 什么是Java类?
答案:Java类是Java编程的基本单元,它定义了一个对象的属性和方法。
每个Java程序都从public class声明开始,其中包含类的名称和属性和方法的定义。
4. 什么是Java对象?
答案:Java对象是通过类的实例化而创建的。
每个对象都有一组属性,这些属性可以在运行时被改变和访问。
对象还可以执行方法,这些方法定义了对象的行为。
5. 什么是Java数组?
答案:Java数组是一种用于存储固定大小的相同类型元素的数据结构。
数组可以是一维或多维的,并且可以通过索引访问元素。
初级部分阶段测试卷选择题1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。
A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。
(选二项)public class Test{public void cal(int x, int y, int z) {}}A. public int cal(int x, int y, float z){ return 0; }B. public int cal(int x, int y, int z){ return 0; }C. public void cal(int x, int z){ }D. public void cal(int z, int y, int x){ }3) 下面Java代码的运行结果是()。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。
");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。
");}public static void main(String[] args) {Penguin pgn = new Penguin();pgn.print();}}A. 企鹅的名字是null,健康值是10,性别是雄。
1. J2EE是什么?它包括哪些技术?解答:从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java 技术不断适应和促进企业级应用过程中的产物。
适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。
J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:1) Servlet Servlet是Java平台上的CGI技术。
Servlet在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。
对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
2)JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。
从这一点来看,非常类似Microsoft ASP、PHP等技术。
借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP 来合成。
在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
3) EJB EJB定义了一组可重用的组件:Enterprise Beans。
开发人员可以利用这些组件,像搭积木一样建立分布式应用。
4)JDBC JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。
JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。
利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。
Java开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1.任意写出一种排序算法。
(6分)public void sort(int [] array){//代码区}2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字以及条件判断语句)(8分)public int sum(int n){//代码区return 0;}3.完成下面方法,输入一个整数,输出如下指定样式图案。
(12分)输入:3,输出:1*2*37*8*94*5*6输入:4输出:1*2*3*49*10*11*1213*14*15*165*6*7*8public void drawNumPic(int n){//代码区}二.选择题(定项选择每题3分,不定项选择每题4分,共63分)1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B )A.int floatB.int doubleC.long floatD.long double2.只有实现了__接口的类,其对象才能序列化( A )A.SerializableB.CloneableparableD.Writeable3.代码System. out. println(10 % 3 * 2);将打印出?( B )A. 1B.2C.4D.64.以下程序运行的结果为( A )public class Example extends Thread{@Overridepublic void run(){try{Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}System.out.print("run");}public static void main(String[] args){Example example=new Example();example.run();System.out.print("main");}}A.run mainB.main runC.mainD.runE.不能确定5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B )A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值B.局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值C.类变量指的是用static修饰的属性D.final变量指的是用final 修饰的变量6.在如下所示的类Test中,共有(D)个构造方法。
15 个顶级 Java 多线程面试题及答案1)此刻有 T1、T2、 T3 三个线程,你如何保证 T2 在 T1 履行完后履行, T3 在 T2 履行完后履行这个线程问题往常会在第一轮或电话面试阶段被问到,目的是检测你对”join ”方法能否熟悉。
这个多线程问题比较简单,能够用join 方法实现。
2)在 Java 中 Lock 接口比 synchronized 块的优势是什么你需要实现一个高效的缓存,它允很多个用户读,但只同意一个用户写,以此来保持它的完好性,你会如何去实现它lock 接口在多线程和并发编程中最大的优势是它们为读和写分别供给了锁,它能知足你写像ConcurrentHashMap 这样的高性能数据构造和有条件的堵塞。
Java 线程面试的问题愈来愈会依据面试者的回答来发问。
我激烈建议在你去参加多线程的面试以前仔细读一下Locks,因为目前其大批用于建立电子交易终统的客户端缓存和交易连结空间。
3)在 java 中 wait 和 sleep 方法的不一样往常会在电话面试中常常被问到的Java线程面试问题。
最大的不一样是在等候时wait 会开释锁,而 sleep 向来拥有锁。
Wait 往常被用于线程间交互,sleep 往常被用于暂停履行。
4)用 Java 实现堵塞行列。
这是一个相对困难的多线程面试问题,它能达到好多的目的。
第一,它能够检测侯选者能否能实质的用 Java 线程写程序;第二,能够检测侯选者对并发场景的理解,而且你能够依据这个问好多问题。
假如他用 wait() 和 notify() 方法来实现堵塞行列,你能够要求他用最新的Java 5中的并发类来再写一次。
5)用 Java 写代码来解决生产者——花费者问题。
与上边的问题很近似,但这个问题更经典,有些时候面试都会问下边的问题。
在Java中怎么解决生产者——花费者问题,自然有好多解决方法,我已经分享了一种用堵塞行列实现的方法。
有些时候他们甚至会问怎么实现哲学家进餐问题。
Java第二周测试一、选择题(10题每题2分共20分)1、在一个应用程序中定义了数组a:int[ ] a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个数组元素,下面正确的代码是BA) System.out.println(a[10]);B) System.out.println(a[9]);C) System.out.println(a[a.length]);D) System.out.println(a(8));2、下面关于数组定义语句不正确的是DA)int[ ] a1,a2;B)int a0[ ]={11,2,30,84,5};C)double[] d=new double[8];D)float f[ ]=new {2.0f,3.5f,5.6f,7.8f};3、设有定义语句int a[ ]={3,9,-9,-2,8}; 则以下对此语句的叙述错误的是CA) a数组有5个元素B) 数组中的每个元素是整型C) a的值为3D) 对数组元素的引用a[a.length-1]是合法的4、设有定义语句int a[ ]={66,88,99}; 则以下对此语句的叙述错误的是CA) 定义了一个名为a的一维数组B) a数组有3个元素C) a数组的元素的下标为1~3D)数组中的每个元素是整型5、为了定义三个整型数组a1、a2、a3,下面声明正确的语句是BA)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5};B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5};C)int a1,a2[ ]; int a3={1,2,3,4,5};D)int [ ] a1,a2; int a3=(1,2,3,4,5);6、以下能对二维数组a进行正确初始化的语句是BA)int a[2][] = { {1 , 0 , 1} , {5 , 2 , 3} };B)int[][] a = { { 1, 2, 3 }, { 4, 5, 6 } };C)int a[2][4] = { { 1 , 2 , 3 }, { 4 , 5 } , { 6 } };D)int[] a = { { 1 , 0 , 1 } { } , { 1 , 1 } };7、若有说明:int a[] = { 1, 2, 3, 4, 5, 6, 7 }; 则获取a数组的大小是AA)length B)length() C)getLen() D)size()8、执行下面的程序段后,变量k中的值为Aint k = 3, s[] = new int[2];s[0] = k;k = s[1] * 10;A)0 B)33 C)30 D)109、有以下程序,输出结果为:public class Test1 {public static void main(String[] args) {int n[] = new int[2], i, j, k;for (i = 0; i < 2; i++)n[i] = 0;k = 2;for (i = 0; i < k; i++)for (j = 0; j < k; j++)n[j] = n[i] + 1;System.out.println(n[k]);}}程序运行后的输出结果是DA)3 B)2 C)1 D)运行出错10、以下程序的输出结果是Cpublic class Test1 {public static void main(String[] args) {int i, a[] = new int[10];for (i = 9; i >= 0; i--)a[i] = 10 - i;System.out.println("" + a[2] + a[5] + a[8]);}}A)258 B)741 C)852 D)369二、编程题:(8题每题10分共80分)第1题:定义一个一维数组, 并输出一维数组中所有元素值答:publicclass Test1 {publicstaticvoid main(String[] args) {int []a={1,2,3,4,5,6,7,8,9};for (int i = 0; i< 9; i++) {System.out.println(a[i]);}}}第2题:求所有不超过200的n值,n的平方是具有对称性质的回文数。
..............密................封.............线..............学校院系专业Java基础课程试卷 A 卷Array一、选择题(每题1分,共40分)1-5:BACCD 6-10:CBACD11-15:CDBAC 16-20:ABAAC21-25:BDAAC 26-30:D C DBC31-35:DABDC 36-40:BABCB二、填空题(每题2分,共30分)1、*.java ,*.class2、大写3、由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字4、wait() 、notify()、notifyAll()5、Java.io6、FileInputStream、FileReader,FileOutputStream、FileWriter7、Interface,implements,static,abstract8、运行时异常,编译时异常,Throwable9、indexof,substring,trim10、SimpleDateFormat11、输入、字节流12、泛型13、Start14、ResultSet15、PreparedStatement三、判断题(每题1分,共10分)1-5:√××××6-10:×√××√四、简答题(每题5分,共10分)1、字节流类抽象父类: InputStream,OutputStream 实现类包括如下几种:缓冲流-过虑流BufferedInputStream、 BufferedOutputStream,字节数组流-节点流ByteArrayInputStream、 ByteArrayOutputStream;字符流抽象父类:Reader, Writer 实现类:BufferedReader、BufferedWriter、FileReader、FileWriter。
北京翰子昂教育科技发展有限公司翰子昂阶段性测试-S1阶段——Java方向理论测试试题A卷院校名称:姓名:准考证号:身份证号:北京翰子昂教育科技发展有限公司翰子昂阶段性测试_S1阶段——JA V A 方向理论测试试题A卷姓名:准考证号:身份证号:1. short类型的取值范围是:(c )。
(选择一项)a) -27 - 27-1b) 0 – 216-1c) -215– 215-1d) -231– 231-1答:需要记下7种数据类型byte short int long char double float2. 下面哪些是合法的标识符是:(ab)。
(选择两项)a) $personsb) TwoUsersc) *pointd) this答:标示符包含字母数字下划线以及$符号只有数字不可以开头其他的都可以Java标示符大小写敏感长度无限制。
3. 下面哪个是将一个十六进制值赋值给一个long型变量的:(d)。
(选择一项)a) long number = 345L;b) long number = 0345;c) long number = 0345L;d) long number = 0x345L;答:以0x开头的是16进制以0开头的是8进制的4. 下面关于继承的哪些叙述是正确的:(ad)。
(选择两项)a) 在java中只允许单一继承b) 在java中一个类只能实现一个接口c) 在java中一个类不能同时继承一个类和实现一个接口d) java的单一继承使代码更可靠答:一个类可以实现多个接口,但是java中只允许单一继承。
接口与接口之间extends (多继承)接口与类之间implements (可以实现多个接口)类与类extends (只允许单一继承)接口与类不存在接口是一个抽象类比抽象类更特殊5. int的取值范围是:(d)。
(选择一项)a) -27 - 27-1b) 0 – 232-1c) -215– 215-1d) -231– 231-1答:6. main()方法的返回类型是:(b)。
全国计算机二级Java题卷一一、选择题1.计算机中数据的最小单位是:A.字长B.字节C.位D.字符2.计算机中组织和存储信息的基本单位是:A.字长B.字节C.位D.编码3.能够直接反映一台计算机的计算能力和精度的指标参数是:A.字长B.字节C.字符编码D.位4.下列叙述中正确的是:A.有的二叉树也能用顺序存储结构表示B.有两个指针域的链表就是二叉链表C.多重链表一定是非线性结构D.顺序存储结构一定是线性结构5.下列各排序法中,最坏情况下时间复杂度最小的是:A.堆排序B.快速排序C.希尔排序D.冒泡排序6.某带链队列初始状态为front=rear=NULL。
经过一系列正常入队与退队操作后,front=10,rear=5。
该队列中的元素个数为:A.不确定B.5C.4D.67.某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。
该二叉树按层次输出(同一层从左到右)的序列为:A.ABCDEFGHB.HFDBGECAC.HGFEDCBAD.ACEGBDFH8.下面描述中正确的是:A.软件就是可执行的程序B.软件就是程序和数据C.软件就是程序和相关文档D.软件就是程序、数据及相关文档的集合9.下面对“对象”概念描述正确的是:A.操作是对象的动态属性B.属性就是对象C.任何对象都有继承性D.对象是对象名和方法的封装体10.在数据库的三级模式中,可以有任意多个:A.外模式(用户模式)B.模式C.内模式(物理模式)D.外模式和内模式11.下列关于面向对象的论述中正确的是_____。
A.面向对象是指以对象为中心,解析、设计和实现应用程序的机制B.面向对象是指以功能为中心,解析、设计和实现应用程序的机制C.面向对象仅适用于程序设计阶段D.面向对象是一种程序设计语言12.语句“Hello”. equals(“hello”);的正确执行结果是_____。
A.trueB.falseC.0D.113.下列关于Java源程序结构的论述中,正确的是_____。
Java第一阶段机试考试题及评分标准题目:客户信息管理系统一、考试时间:120分钟二、考试环境Windows10+、IDEA2019+、JDK8+、MySQL5.5三、功能概述•模拟实现基于文本界面的《客户信息管理软件》。
•该软件实现以下功能:该软件能够实现对客户对象的插入、修改和删除(用数据库实现),并能够打印客户明细表。
项目采用分级菜单方式。
•每个客户的信息被保存在Customer表中。
•以一个List集合来记录当前所有的客户。
•每次“添加客户”(菜单1)后,客户(Customer)对象被添加到数组中。
•每次“修改客户”(菜单2)后,修改后的客户(Customer)对象替换原对象。
•每次“删除客户”(菜单3)后,客户(Customer)对象被从数据库中删除。
•执行“客户列表”(菜单4)时,将列出数据库表中所有客户的信息。
四、详细要求1.要求1:软件启动时,主菜单如下效果图:2.要求2:“添加客户”的界面及操作过程如下所示:3.要求3:“修改客户”的界面及操作过程如下所示:4.要求4:“删除客户”的界面及操作过程如下所示:5.要求5:编“客户列表”的界面及操作过程如下所示:五、软件设计结构该软件由以下三个模块组成:- CustomerView为主模块,负责菜单的显示和处理用户操作- CustomerList为Customer对象的管理模块,内部用List集合管理一组Customer对象,并提供相应的添加、修改、删除和获取方法,供CustomerView调用- Customer为实体对象,用来封装客户信息六、方法的活动图七、最终提交提交所有代码及数据库导出的文件,全部打包并命名为自己的姓名。
如“第一阶段机试-XXX.rar”。
得分点总分100分得分1.分包正确,命名标准,代码规范,有注释20分2.添加、删除、修改、列表客户界面20分3添加客户成功10分4.修改客户成功10分5.删除客户成功10分6.客户列表成功10分7.代码和数据库文件完整,代码可运行。
【黑马程序员】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的引用。
JA V A基础测试题-CORE JA V A部分1.在main(String[] args)方法内是否可以调用一个非静态方法?答:main方法是静态方法,不能直接去访问非静态成员(成员可以是成员变量或是成员方法)2.请简述java程序运行的过程答: .java程序----编译---→.class----运行---→显示结果3.java中的控制台输出内容换行方式有几种?答:第一种:System.out.println();第二种:System.out.print(“\n”);4.java中的注释有哪几种?分别用来注释什么?答:有三种注释分别为:单行注释: //常用来注释变量多行注释:/**用来注释变量,方法,类*/文档注释:/***用来注释变量,方法,类*/5.请简述java 中标识符命名规则.答:必须是字母,数字,下划线,$组成不能以数字开头;不能是java中的保留字,最好见名知义6.请举例说明Scanner这个类的常用方法答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt()7.java中的数据类型分为哪两类?答:数据类型分八个基础数据类型(byte,short,int ,long ,float,double,char,boolean)和引用数据类型(包括类,接口和数组)8.java中全局变量和局部变量的区别?答:位置的区别:java中全局变量就是类中的属性,而局部变量是方法中或代码块中定义的变量;初始值不一样:全局变量不赋值,系统会给默认值,也不会报错,而局变部量必须要赋初始值;作用域不一样:全局变量在整个类所有方法中可以访问,局部变量只能在定义它的那一对括号中才可以访问9.同一个文件里是否可以有两个public类?答:不可能,一个java文件中只能有一个类是public的,而必须是public的类才可以作为java文件的类名.10.方法名是否可以与构造器的名字相同?答:可以。
11.初始化了一个没有run()方法的线程类,是否会出错?答:不会出错第一种方法:直接继承Thread类。
public class Test{public static void main(String[] args){ThreadClass t = new ThreadClass();t.start();System.out.println("end");//输出“end”}}class ThreadClass extends Thread {//Thread类已经实现了空的run()方法。
}第二种方法:实现Runnable接口public class Test{public static void main(String[] args){ThreadClass t = new ThreadClass();Thread thread = new Thread(t);thread.start();System.out.println("end");}}class ThreadClass implements Runnable{public void run() //必须有此方法否则编译报错。
它是Runnable接口中的抽象方法。
{System.out.println("Threads");}}12.局部内部类是否可以访问非final变量?答案:不能访问局部的,可以访问成员变量(全局的)。
class Out{private String name = "";void print(){final String work = "out.local.work";//若不是final的则不能被Animal 使用.int age=10;class Animal//定义一个局部内部类.只能在print()方法中使用.//局部类中不能使用外部的非final的局部变量.全局的可以.{public void eat(){System.out.println(work);//ok//age=20;error not finalSystem.out.println(name);//ok.}}Animal local = new Animal();local.eat();}}13.选择语句case中,允许使用的值有哪些?答案:int,short,char,byte(都在int范围之内,且是整数),jdk1.7开始支持String 类型14.Math,String是不可继承的。
(final类)答:Math,String是不可继承的。
(final类)15.instanceof的作用答:判断某个对象是否属性某个类或某个接口的对象16.构造方法干什么用?有什么特点答:构造方法在创建对象的时候用来创建类的对象,可以给创建的对象进行初始化.构造方法的特点:a1.构造方法的名字必须和类名相同a2.没有返回值也不需要void修鉓.17.=和==的区别答:=表示赋值,==表示判断两个对象是否相等18.一个抽象类与接口的区别答:抽象类要asbstract修鉓,抽象类中有抽象方法和非抽象方法,抽象方法必须用asbstract修鉓,且没有方法体。
接口中是一个“特殊的类”,特殊到里面的属性都是最终静态常量,方法都是抽象方法,没有方法体。
19.Collection与Collections的区别?答案:Collection是一个接口,但Collections却是一个辅助类,里面有很多静态的工具方法。
而且很有用的。
如:reverse(List list);sort(List list, Comparator c)等。
Collections没有实现任何接口。
它直接继承了Object。
20.Java成员变量默认初始化的值。
成员变量类型取值byte-0 short-0 int-0 long-0Lchar-'\u0000' float-0.0F double-0.0D boolean-false 所有引用类型 - null21.面向对象的三大特性?答案:最基本特征:封装,继承,多态。
其他特征:抽象关联,聚合,组合,内聚,耦合22.String是最基本的数据类型吗? String 和StringBuffer的区别?答案:String不是一最基本的数据类型。
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法23.int 和Integer 有什么区别答案:int是基本类型。
Integer是引用类型。
Integer可以把String转换成int。
24.运行时异常与一般异常有何异同?答案:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
25.说出ArrayList,Vector, LinkedList的存储性能和特性.答案:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList 差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
26.数组转换问题。
Object[] object = new Person[2];Person [] person = new Person [3];person = (Person [])object;//可以转换int[] i = new int[2];long[] l = new int[3];i = (long[])l;//不可以转换27.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据Server.java:源代码import .*;import java.io.*;class Server{public Server(){BufferedReader br = null;PrintWriter pw = null;try{ServerSocket server = new ServerSocket(8888);//建立服务器端Socket socket = server.accept();//监听客户端//得到该连接的输入流br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//得到该连接的输出流pw = new PrintWriter(socket.getOutputStream(),true);//先读后写String data = br.readLine();System.out.println(data);//输出到控制台pw.println(data);//转发给客户端}catch(Exception e){e.printStackTrace();}finally{try{//关闭读写流br.close();pw.close();}catch(Exception e){}}}public static void main(String[] args){Server server = new Server();}}Client.java:源代码import .*;import java.io.*;class Client{public Client(){BufferedReader br = null;PrintWriter pw = null;try{Socket socket = new Socket("localhost",8888);//与服务器建立连接,服务器要先启//得到Socket的输入与输出流br = new BufferedReader(new InputStreamReader(socket.getInputStream()));pw = new PrintWriter(socket.getOutputStream(),true);//先写后读pw.println("Client:你好!");String data = null;while(true){data = br.readLine();if(data!=null) break;}System.out.println(data);}catch(Exception e){e.printStackTrace();}finally{try{br.close();pw.close();}catch(Exception e){}}}public static void main(String[] args){Client c = new Client();}}28.谈谈final, finally, finalize的区别。