搜档网
当前位置:搜档网 › Java基础面试题及答案(在后面)

Java基础面试题及答案(在后面)

Java基础面试题及答案(在后面)
Java基础面试题及答案(在后面)

JAVA基础部分-选择题

(单选)1.在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()。

A.10

B.7

C.13

D.14

2. (单选)下列表达式中,可以得到精确结果的是()。

A.double d1 = 3.0 - 2.6;

B.double d4 = 2.5 * 1.5;

C.double d2 = 30/300;

D.double d3 = 1/2 + 0.5;

3.(多选)所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 =

下列选项中,空白处可以填入的代码是:()。 A.int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; }

B.int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10; s+= t * t * t; n1 %= 10; }

C.int s = 0; for(int n1 = n; n1>0; n1 /= 10) { int t = n1%10; s += t * t * t; }

D.int s = 0; for(int n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; }

4.下列语句序列执行后,k 的值是 ( )

A.60

B.5

C.0

D.54

5.设 a = 8,则表达式 a >>> 2 的值是:(无符号右移动)( )

A.1

B.2

C.3

D.4

6.下列程序

在程序中插入下列哪一行代码可以编译通过: A static void doSomething(int[] args){}

B static void doSomething(int... args){}

C static coid doSomething(int...args,int x){}

D static void doSomething(int x,int...args){}

简答题

1.现有一个长度为20的数组,数组内的数字0-9之间的任意数字,统计出数组中每个元素出现的次数?

现有一个字符串"fdasafdasfdasa",现统计出子串"as"出现的次数.

2.请描述冒泡排序算法的基本思想。

3.一个数组中只有0,1两种数字,进行排序,0全部在前,1全部在后OOP部分

1.(单选)关于下列代码说法正确的是:

A.该类编译失败

B.输出:1

C.输出:3

D.输出:0

2.试图编译和运行以下代码,将获得什么结果(JAVA)

A RType.amethod -1 RType.amethod -1

B RType.amethod 99 RType.amethod -1

C 99 RType.amethod 99

D 编译时错误(Compile time error)

3、下边程序运行的结果是? ( )

A.Base

B.BaseBase

C.程序编译失败.

D.程序运行但没有任何输出

4.指出下列程序运行的结果

A.good and abc

B.good and gbc

C.test ok and abc

D.test ok and gbc

OOP部分-简答题

1.抽象类和接口的区别

2.静态变量和实例变量的区别?

3.String s = new String("xyz");创建了几个String Object ?

4.字符串连接时为什么推荐使用StringBuffer而不是直接用String+String 的方式,请简述原因?

5.final, finally, finalize的区别。

6.线程

继承Thread类如果某个类继承了Thread类,那么此时这个类就是一个线程类,如果要创建此类的线程对象 A extends Thread A a = new A(); a.start()

实现Runnable接口如果某个类实现了Runnable接口,此时这个类不是线程类,这个类中只有将线程要执行的任务写好了

生命周期:5种状态

新建,就绪,运行,阻塞,死亡

多线程并发问题:

脏数据:污染了数据 -前提条件:多个线程访问同一个对象

如何避免脏数据的产生:线程同步 - synchronized

可以用来修饰方法,代码块:本质是给对象加锁

如果修饰方法:给调用方法的对象(this)加锁

如果修饰代码块: sychronized(要加锁的对象){} 一般情况下,加锁的对象都为this

线程间的通信 - 线程间要交流

生产者消费者

Object类下的几个方法来实现了线程间的通信

wait() :一定出现在sychronized的方法中

notify() notifyAll()

线程池:

Excutors.newFixedThreadPool(int nThread) - ExcutorService

execute()

ThreadLocal:将数据绑定到当前线程上,那么在整个线程过程中都可以使用该数据

IO流: RandomAccessFile:随机访问流(任意访问流)

特殊之处:

1.这个流既可以读文件,也可以写文件

2.可以定位到文件的任意位置,而且可以获取当前的偏移量

RandomAccessFile(File dest,String mode)

read() write() - 按照字节

seek(long pos)

getFilePointer() - long

数据库部分-选择题

1.当在执行过程中,如果QUANTITY的值是空的话,哪个语句将显示一个0?

A.SELECT id_number,100/quantity FROM inventory;

B.SELECT id_number,NVL(100/quantity,0) FROM inventory;

C.SELECT id_number,NULL(100/quantity,0) FROM inventory;

D.SELECT id number,TO CHAR(100/quantity,0) FROM inventory;

2.分析下面SQL语句,在什么情况下引起这个语句失败?STUDEN表结构:ID NUMBER(9) FIRST NAME VARCHAR2(25) LAST NAME VARCHAR2(25)

A.在数据表中没有学生的名字是Kate Henry

B.数据表中学生的名字叫Kate的多于一个

C.数据表中的学生的名字叫Kate Henry的多于一个

D.FIRST NAME和LAST NAME的值在数据库中是小写的

3.分析下面的SQL语句,这个语句为什么会出现一个错误?

A.一个子句丢失

B.一个关键字丢失

C.where子句不能应用在创建表上

D.数据类型在新表中不需要被定义

4.在SQL语言中,关于主键描述正确的是()(多选)

A 只能包含一列

B 可以包含两列

C 可以包含一列或者多列

D 以上都不正确

数据库简答题

1.写SQL语句显示员工表中工资超过平均工资的员工。

2.假如订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额?

统计单笔消费超过50元的用户总共的消费次数以及消费总金额,总金额>2000

3. 表PERSONNEL 的结构如下:

在这里, 部门的管理者也看作是雇员,写出SQL语句查询每个雇员的姓名以及管理者的姓名

4.ORACLE数据库有哪几种约束类型?

5.请分别写出mysql与oracle的分页查询语句(查询第3-第7条数据)

6.写一个查询,来查询出挣到佣金(comm)的雇员姓名ename,部门名称,和部门所处的位置loc。(有employ表和dept表)

7.写一个查询,查出在名字里面有一个"A"的所有雇员姓名ename和其所在的部门loc的名称。

8.显示所有薪金高于各自部门平均薪金的人?

9.查询平均成绩大于60分的同学的学号和平均成绩;

Servlet部分

1.JSP九大内置对象,Servlet域对象以及各自的作用范围

2.说出Servlet的生命周期?

5.请简述mvc架构。同时说明在自己熟悉的架构中mvc分别对应什么?

框架部分

1.请描述一下spring MVC工作原理。

2.Spring的核心是什么?

JAVA基本部分-选择题

1.D

2.B

解析:此题考查java的浮点运算的精度问题,浮点数是以二进制得形式存储得,如0.5 = 2得-1次方

选项A 返回结果0.3999999999999999

选项B 返回结果3.75

选项C 返回结果0.0 因为30和300都是整数,只要把任何一个定义成浮点型数据,数据会更精确

选项D 返回结果0.5 原理同选项C

3.AC

解析:固定算法,只是用while循环或for循环

4.D

解析: switch分支结构如果在case的语句体中添加break;语句,那么只要找到对应的case 的常量,就执行对应case常量后的语句,如果没有break语句就继续执行后面所有case 后的语句如果最后有default也会执行。

5.B

解析: Java中的位运算符: \int类型占4个字节,一个字节占8位,所以一个int数字占用32位。 >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1; >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。

6.BD

解析:根据题意,方法名称不变,参数的个数可变,解决方案是用可变参数类型...类型名称比如:int... args 可变参数其本质是一个数组,且必须放在方法参数的最后一个位置,可以接受零个或多个参数,在方法中使用数组方式来访问,比如:args[0] args[1].....

简答:

1.

2.答案:

1.冒泡排序的基本思想冒泡排序是交换排序中一种简单的排序方法。它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化。其处理过程为:(1)将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。(2)对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,从而使得关键字值小的记录向上"飘浮"(左移),关键字值大的记录好像石块,向下“堕落”(右移)。每经过一趟冒泡排序,都使无序区中关键字值最大的记录进入有序区,对于由n个记录组成的记录序列,最多经过n-1趟冒泡排序,就可以将这n个记录重新按关键字顺序排列。 2.原始的冒泡排序算法对由n个记录组成的记录序列,最多经过(n-1)趟冒泡排序,就可以使记录序列成为有序序列,第一趟定位第n个记录,此时有序区只有一个记录;第二趟定位第n-1个记录,此时有序区有两个记录;以此类推,算法框架为: for(i=n;i>1;i--) { 定位第i个记录; }

若定位第i个记录,需要从前向后对无序区中的相邻记录进行关键字的比较,它可以用如下所示的语句实现。

下面给出完整的冒泡排序算法: for(int i=0;i

for(int j=0;j

if(arr[j]>arr[j+1]){ int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp; } } }

OOP部分-选择题

1.A

2.B

3.B

7.B

解析:数组和对象在作为数的参数传递的时候,是引用传递,如果在方法中对其做过修改,则真的会影响原始数据

OOP部分-简答题

1.

2.答案:

在语法定义上的区别:

静态变量前要加static 关键字,而实例变量前则不加。

在程序运行时的区别:

实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,

才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变

量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变

量则可以直接使用类名来引用。

3.答案:

只要是new,都是重新分配堆空间,如果不区分栈和堆,这里创建了1个String Object。如果是从jvm角度来说的话,它是创建了两个对象,String s是在栈里创建了一个变量,new String("xyz")是在堆里创建了一个对象并被s引用到。如果是String s = "xyz",那就要看常量池里有没有"xyz",如果有直接引用,如果没有则创建再引用这里"xyz"本身就是pool中的一个对象,而在运行时执行new String()时,将pool中的对象复制一份放到heap中,并且把heap中的这个对象的引用交给s持有。ok,这条语句就创建了2个String对象。难度等级:中

4.

答案:

每次String+String都会生成一个新的String,而使用StringBuffer则不会出现此种情况,可以减少String对象的实例化次数。

5.

(1)final为关键字;可以修饰类,方法,变量

(2)finalize()为方法;由JVM进行调用,用于对对象进行垃圾回收

(3)finally:用于标识代码块,与try{}进行配合,不论try中的代码执行完或没有执行完(这里指有异常),该代码块之中的程序必定会进行;通常用于释放资源 A demoGC = new A();

demoGC = null;

System.gc();

System.out.println("gc was runed ");

public class A { @Override

protected void finalize() throws Throwable {

System.out.println("Demo finalized");

System.out.println(Thread.currentThread().getName()); super.finalize();

}

}

数据库部分-选择题

1.C

2.B

解析: nvl(expr1,expr2)将null转换为非null值如果expr1位null,则取值expr2,expr2是实际值 expr1和expr2可以是任何数据类型,但两个参数的数据类型必须是一致的

3.D

通过现有的表生成一个新的物理表

create table 表名 as select 子句 where 字句(不成立的条件)

4.C

数据库简答题

1.SELECT * from staff where salary>(SELECT AVG(salary) from staff)

2. 统计单笔消费超过50元的用户总共的消费次数以及消费总金额,总金额>2000

3. SELECT https://www.sodocs.net/doc/4619073034.html,,https://www.sodocs.net/doc/4619073034.html, as mgrName from staff s1 LEFT JOIN staff s2 ON

s1.mgr_id=s2.id

4.答案:

五种:

1.主键约束 PRIMARY KEY

2.外键约束 FOREIGN KEY

3.唯一约束 UNIQUE

4.检查约束 CHECK

5.非空约束 NOT NULL

5.答案:

mysql分页查询: select * from staff LIMIT 0,2

oracle的分页语句:3是起始记录号,6是终止记录号

页语句:0是起始记录的前一个数字,3是每页显示多少条数据

6. SELECT https://www.sodocs.net/doc/4619073034.html,,https://www.sodocs.net/doc/4619073034.html,,d.location from staff s,department d where s.dept_id=d.id and comm is not NULL

7. select https://www.sodocs.net/doc/4619073034.html,,d.location from staff s,department d where s.dept_id=d.id and https://www.sodocs.net/doc/4619073034.html, LIKE '%a%'

8. SELECT https://www.sodocs.net/doc/4619073034.html,,s.salary from staff s,(select AVG(salary) av,dept id did from staff group by dept id) tmp where s.salary>tmp.av and s.dept_id=tmp.did

Servlet部分

1.

1、request对象

2、response对象

3、session对象

4、application对象

5、out 对象

6、pageContext 对象

7、config 对象

8、page 对象

9、exception 对象

四大域对象:

HttpServletRequest:一次请求

HttpSession:一次会话

ServletContext:整个服务器生命周期

PageContext:当前页面

2.答案:

Servlet 生命周期:实例化--->初始化--->服务--->销毁。

init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet 中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。destroy():仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

5.答案:

1、模型(Model):模型是应用程序的主体部分。模型表示业务数据

2、视图(View):视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller) :控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。 MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

视图层:jsp、html超文本标记语言

控制层: servlet,controller,action

模型层:mybatis,entity,service

框架部分

1.答案:

1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。

3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler (Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的

调用。

5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

7、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。

2.核心是IOC和AOP

IOC:控制反转的意思,在spring中,将对象的创建权交由spring来完成(如果问为什么,答为了更好的解耦),DI是IOC的实现过程,是依赖注入的意思

AOP:面向切面编程,底层采用的是动态代理机制(2种:JDK代理(给有接口的类生成

代理),CGlib代理(给无接口的类生成代理)),是指将一些重复性的代码提取出来成

切面,给相应的方法定义切点,在指定切点插入切面中的代码。目的就是为了将重复性的

代码和核心业务代码分离。主要的应用:spring的声明式事务,日志记录等等

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.sodocs.net/doc/4619073034.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

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 = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在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) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

Java基础试题和答案解析

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 5) 在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(new FlowLayout() ); b) jFrame.addLayout(new FlowLayout() ) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList

最新java基础面试题(答案)

1 1、如下哪些不是java的关键字? 2 A)const B)NULL C) false D)this E) native 3 答:B 4 2、关于垃圾收集的哪些叙述是对的 5 A)程序开发者必须自己创建一个线程进行内存释放的工作 6 B)垃圾收集将检查并释放不在使用的内存 7 C)垃圾收集允许程序开发者明确指定并立即释放该内存 8 D)垃圾收集能够在期望的时间释放被java对象使用的内存 9 答:B 10 3、已知表达式 int m [ ] = {0,1,2,3,4,5,6};下面哪个表达式11 的值与数组下标量总数相等? 12 A)m.length() B)m.length C)m.length()+1 D)m.length-1 13 答:D 14 4、已知如下代码: public class Test { long a[] = new long [10]; public 15 static void main(String arg[] ){ System.out.print(a[6]); } } 请问哪个16 语句是正确的? 17 A)Output is null. B)Output is 0 C)When compile, some error will 18 occur. 19 D)When running, some error will occur.

20 答:C 21 5、已知如下代码: public class Test { public static void main(String 22 arg[] ) { int i = 5; do{ System.out.print(i); }while(--i>5); 23 System.out.print(“finished”); } } 执行后的输出是什么? 24 A)5 B)4 C)6 D)finished 25 答:AD 26 6、已知如下代码: 27 switch (m) { 28 case 0: System.out.print(“Condition 0”); 29 case 1: System.out.print(“Condition 1”); 30 case 2: System.out.print(“Condition 2”); 31 case 3: System.out.print(“Condition 3”); default: 32 System.out.print(“Other Condition ”); } 当m的值为什么时能输出33 “Condition 2” 34 A)0 B)1 C)2 D)3 E) 4 F)None 35 答:ABC 36 18、下面的哪些声明是合法的? 37 A)long 1 = 4990 B)int i = 4L C)float f =1.1 D)double d = 34.4 38 答:AD

2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

Java面试题集(最全版)

目录表 第一章技巧篇 2 介绍自己2 行为2 第二章智力篇 3 微软面试题 3 第三章 Java篇5 Java基础方面--概念 5 Java基础方面—线程编程方面12 Java基础方面—编程 14 第四章 Jsp篇30 第五章 Servlet篇31 第六章应用服务器篇37 第七章 J2EE,MVC篇38 第八章设计模式方面篇40 第九章 Hibernate程序性能优化篇41 Hibernate程序性能优化 45

Hibernate 优化47 Hibernate优化的几点建议51 Hibernate性能优化52 第十章数据库篇55 第一套数据库笔试题及答案 55第二套数据库笔试题及答案 64

第一章技巧篇 介绍自己 1、自我认识 想一矢中的,首先必须认清自我,一定要弄清以下三个问题。你现在是干什么的?你将来要干什么?你过去是干什么的? 这三个问题不是按时间顺序从过去到现在再到将来,而是从现在到将来再到过去。其奥妙在于:如果你被雇用,雇主选中的是现在的你,他希望利用的是将来的你,而这将来又基于你的历史和现状。 所以,第一个问题,你是干什么的?现在是干什么的?回答这个问题,要点是:你是你自己,不是别的什么人。除非你把自己与别人区别开来,在共同点的基础上更强调不同点,否则你绝无可能在众多的应征求职者中夺魁。对于这第一个问题,自我反省

越深,自我鉴定就越成功。 随后,着手回答第二个问题:你将来要干什么?如果你申请的是一份举足轻重的工作,雇主肯定很关注你对未来的自我设计。你的回答要具体,合理,并符合你现在的身份,要有一个更别致的风格。 然后,再着手回答最后一个问题:你过去是干什么的?你的过去当然都在履历上已有反映。你在面试中再度回答这个问题时,不可忽略之处是:不要抖落一个与你的将来毫不相干的过去。如果你中途彻底改行,更要在描述你的执着、职业目标的一贯性上下些功夫。要做到这一点,又要忠实于事实和本人,最简单的方法是:找到过去与将来的联系点,收集过去的资料,再按目标主次排列。 用这样的方法,以现在为出发点,以将来为目标,以过去为证实,最重要的是加深了你的自我分析和理解。其实,在面试的时候不一定有机会或者有必要照搬你的大作,但这三个问题的内在联系点一定会体现在自我表述的整体感觉中,使你的形象栩栩如生。 2、投其所好 清楚自己的强项后,便可以开始准备自我介绍的内容:包括工作模式、优点、技能,突出成就、专业知识、学术背景等。

Java基础测试题

Ps:答案已写在上面。希望大家把其他错误选项问题找出来. 第一组: 1.下面哪些是合法的变量名 (DEG) A.2variable .variable2 ._whatavariable $_¥ 2.请问“abcd” instanceof Object返回的值是 (B) A. “abcd” B. true C. false D. String 前面是后面的子类 面说法正确的是:(A) A. 如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格); B. 如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)如果源代码中有main()方法,则该方法必须被放在代码的第一行如果某文件的源代码中定义了一个public 的接口,接口名和文件名可以不同。 4.下面有关方法覆盖说法不正确的是:(B) A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返

回值 B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限; C. 覆盖的方法不能比被覆盖的方法抛出更多的异常 D. 覆盖的方法一定不能是private的 5.一个Java程序运行从上到下的环境次序是(C) A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系统 C. Java程序、JRE/JVM、操作系统、硬件 D. Java程序、操作系统、JRE/JVM、硬件 6. 下面选项中哪个关键字可以用来修饰接口中的变量和方法(A) A. static B. private C. synchronized D. protected 7. 下面代码段中:(A) String String=”String”; String B. 不知道 C. 编译出错 D. 运行出错 8. 下面哪种是正确的创建Map集合的方式:(D) A. Map m=new Map();

JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

java基础面试全集

Java面试题大全 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、spring MVC等内容并对很多知识点进行了深入的剖析,例如hashCode方法的设计、垃圾收集、并发编程、数据库事务等。当时我甚至希望把面试中经常出现的操作系统、数据库、软件测试等内容也补充进去,但是由于各种原因,最终只整理出了150道面试题。让我欣慰的是,这150道题还是帮助到了很多人,而且在我CSDN 博客上的总访问量超过了5万次,最终还被很多网站和个人以原创的方式转载了。最近一年内,用百度搜索”Java面试”我写的这些东西基本上都排在搜索结果的前5名,这让我觉得”亚历山大”,因为我写的这些东西一旦不准确就可能误导很多人。2014年的时候我又整理了30道题,希望把之前遗漏的面试题和知识点补充上去,但是仍然感觉挂一漏万,而且Java 8问世后很多新的东西又需要去总结和整理。为此,我不止一次的修改了之前的180题,修改到自己已经感觉有些疲惫或者厌烦了。2014年至今,自己带的学生又有很多走上了Java程序员、Java工程师的工作岗位,他们的面试经验也还没来得及跟大家分享,冥冥之中似乎有一股力量在刺激我要重新写一篇《Java面试题全集》,于是这篇文章就诞生了。请不要责备我把那些出现过的内容又写了一次,因为每次写东西就算是重复的内容,我也需要对编程语言和相关技术进行重新思考,不仅字斟句酌更是力求至臻完美,所以请相

JAVA基础面试题-3(答案版)

JAVA语言基础笔试题-3 Question 1 Given: 1. public class Team extends java.util.LinkedList { 2. public void addPlayer(Player p) { 3. add(p); 4. } 5. public void compete(Team opponent) { /* more code here */ } 6. } 7. class Player { /* more code here */ } Which two are true? (Choose two.) A. This code will compile. B. This code demonstrates proper design of an is-a relationship. C. This code demonstrates proper design of a has-a relationship. D. A Java programmer using the Team class could remove Player objects from a Team object. 答案:AD 考点:List接口实现,对象间泛化和关联关系 说明: is a 关系一般用继承来表示,但此题这个继承从逻辑上不是太恰当. Has a 关系一般来说表示某对象体内有其它对象的存在,该对象体现为属性形态,在 UML中叫做关联关系。本题Team中虽然可以保存Player,但并非显式以属性形式存在。 由于LinkedList自带remove方法,可以通过Team.remove(p) 来删除player对象。 Question 2 Which four are true? (Choose four.) A. Has-a relationships should never be encapsulated. B. Has-a relationships should be implemented using inheritance. C. Has-a relationships can be implemented using instance variables. D. Is-a relationships can be implemented using the extends keyword. E. Is-a relationships can be implemented using the implements keyword. F. The relationship between Movie and Actress is an example of an is-a relationship. G. An array or a collection can be used to implement a one-to-many has-a relationship. 答案:CDEG 考点:集合类型,对象间泛化和关联关系的理解 Has a 关系一般表示为一个类拥有一个属性,属性被封装是常见的事情。 Is a 关系一般用继承来表示,子类体内拥有父类部分。 接口的实现,也适用于is a 关系来理解,因为接口从本质来说,也属于类的形态。

Java基础面试题

1.下面能够得到文件“file.txt”的父路径的是: A.String name= File.getParentName(“file.txt”); B.String name= (new File(“file.txt”)).getParent(); C.String name = (new File(“file.txt”)).getParentName(); D.String name= (new File(“file.txt”)).getParentFile(); 2.在Java中,要创建一个新目录,要使用的类的实例是: A.File B.FileOutputStrean C.PrintWriter D.Dir 3.题目代码的功能为:在d:创建一个文件“test.txt”,并向文件写入“HelloWorld”,然后删除文件。 public static void main(String[] args) { File file = new File("d:\\", "file.txt"); try { <填入代码> } catch (Exception e) { e.printStackTrace(); } } A. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld"); bw.close(); if (file.exists()) { file.delete(); } B. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld");

JAVA基础面试题-2-答案版

JAVA语言基础笔试题-2 Question 1 Given: 11.classA { 12. public void process() { System.out.print(“A “)} } 13. class B extends A { 14. public void process() throws RuntimeException { 15. super.process(); 16. if (true) throw new RuntimeException(); 17. System.out.print(“B”) }} 18. public static void main(String[] args) { 19. try { ((A)new B()).process(); } 20. catch (Exception e) { System.out.print(“Exception “)} 21. } What is the result? A. Exception B. A Exception C. A Exception B D. A B Exception E. Compilation fails because of an error in line 14. F. Compilation fails because of an error in line 19. 答案:B 考点:方法的重写(重写方法异常抛出部分的理解) 多态 异常处理 说明: 子类重写父类方法,不能抛出比父类方法更多的异常,但此处子类重写方法声明抛出了RuntimeException,不算多抛,算是平抛,是可以的。 RuntimeException是Exception的子类,可以被Exception捕获。 Question 2 Given: 11. static class A { 12. void process() throws Exception { throw new Exception(); } 13. } 14. static class B extends A { 15. void process() { System.out.println(“B”)} 16. } 17. public static void main(String[] args) { 18 .A a=new B(); 19. a.process(); 20.} What is the result? A. B

java基础面试题(答案)

1、如下哪些不是java的关键字? A)const B)NULL C)false D)this E) native 答:B 2、关于垃圾收集的哪些叙述是对的 A)程序开发者必须自己创建一个线程进行内存释放的工作 B)垃圾收集将检查并释放不在使用的内存 C)垃圾收集允许程序开发者明确指定并立即释放该内存 D)垃圾收集能够在期望的时间释放被java对象使用的内存 答:B 3、已知表达式int m [ ] = {0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量总数相等? A)m.length()B)m.length C)m.length()+1D)m.length-1 答:D 4、已知如下代码:public class Test {long a[]=new long [10];public static void main(String arg[] ){ System.out.print(a[6]); } }请问哪个语句是正确的? A)Output is null.B)Output is 0C)When compile, some error will occur.D)When running, some error will occur. 答:C 5、已知如下代码:public class Test { public static void main(String arg[] ) { int i = 5;do{System.out.print(i);}while(--i>5);System.out.print(“finished”);}}执行后的输出是什么? A)5B)4C)6D)finished

java经典面试题大全带答案

Java经典面试题带答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A. B. C. D. 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.能指定编译结果要置于哪个目录(directory) 答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D. 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

JAVA基础面试题(经典)

基础知识部分: 1. JDK是什么?JRE是什么? a) 答:JDK:java开发工具包。JRE:java运行时环境。 2. 什么是java的平台无关性? a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3. 在一台电脑上配置java环境,path起什么作用?如何配置? a) 答:path的作用是在DOS环境下,能在任意位置使用JD K目录中bin文件夹中的可执行程序,来编译执行java程序。 b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。

4. 什么样的标识符是合法的? a) 由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。 b) 标识符的第一个字符不能是数字。 c) 标识符区分大小写。 d) 标识符不能包含空格。 5. Java有几种基本数据类型? a) byte,short,int,long,float,double,char,bool ean 6. 什么是隐式类型转换?什么是显示类型转换? a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。

b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。 7. &&和&区别,||和|区别? a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。 b) 而& 和|则将两边的表达式都运算完毕后,再算结果。 8. break,continue区别? a) break结束所有循环,continue结束当次循环,进入下次循环。 9. 类的命名规则是什么? a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。

相关主题