05-Java基础面试题(五)
1、 JAVA所定义的版本中不包括:( )
A、 JAVA2 EE
B、 JAVA2 Card
C、 JAVA2 ME
D、 JAVA2HE
E、 JAVA2 SE
答案:D
解析:
Java企业版:JEE 适用于创建服务器应用程序和服务的Java 平台企业版
Java标准版: JSE 适用于桌面系统的Java 平台标准版
JME:适用于小型设备和智能卡的Java 平台Micro版
Java Card技术主要是让智能卡或与智能卡相近的设备上,以具有安全防护性的方式来运行小型的Java Applet,此技术也被广泛运用在SIM卡、提款卡上。
2、 下列说法正确的是( )
A、 JAVA程序的main方法必须写在类里面
B、 JAVA程序中可以有多个main方法
C、 JAVA程序中类名必须与文件名一样
D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
答案:A
解析:
A:main()方法必须都写在类里面,在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方 法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。
B:这个之前没用过多个main方法,自己试一下,可以用多个mian为方法名的方法,但是只能有一个publi 0static void main(String[] args){}这个方法
C:只有标记为public的类,名字才必须与文件名相同,public外部类必须与文件名相同,这样的类有且只有一个,public 内部类 名字不与文件名相同
D: JAVA程序的main方法中,不管有多少条语句都必须用{}(大括号)括起来
3、 变量命名规范说法正确的是( )
A、 变量由字母、下划线、数字、$符号随意组成;
B、 变量不能以数字作为开头;
C、 A和a在java中是同一个变量;
D、 不同类型的变量,可以起相同的名字;
答案:B
解析:
变量名只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,数字不能放在变量名首位。
不要在同一个类的不同上下文中重用相同的变量名
4、 下列javaDoc注释正确的是( )
A、 /_我爱北京天安门_/
B、 //我爱北京天安门_/
C、 /我爱北京天安门*/
D、 /*我爱北京天安门/
答案:C
解析:
对于Java注释我们主要了解两种:
// 注释一行
/_ …… */ 注释若干行
但还有第三种,文档注释:
/** …… */ 注释若干行,并写入 javadoc 文档
5、 为一个boolean类型变量赋值时,可以使用( )方式
A、 boolean = 1;
B、 boolean a = (9 >= 10);
C、 boolean a="真";
D、 boolean a = = false;
答案:B
boolean即java中的基本类型——布尔类型,值只有true和false两种。
分析:
A是对int类型的赋值方式。
B中(9>=10)的值是false,因为有关系运算符是用来比较运算,结果只有对(true)与错(false)两种,是boolean类型,所以B正确
C的赋值方式根本不对,既不符合char类型,也不符合String类型
D中“==”是关系运算符,不能用来赋值,如果“==”改成“=”就是正确的
6、 以下( )不是合法的标识符
A、 STRING
B、 x3x;
C、 void
D、 de$f
答案:C
void属于java中的关键字
[1]Java标识符只能由数字、字母、下划线“”或“”符号以及Unicode字符集组成 [2]Java标识符必须以字母、下划线“_”或“”符号以及Unicode字符集开头
[3]Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null)
[4]Java标识符区分大小写,是大小写敏感的
7、 表达式(11+3*8)/4%3的值是( )
A、 31
B、 0
C、 1
D、 2
答案: D
先乘除后加减,有括号先按括号算
3*8=24
11+24=35
35/4=8
8%3=2
结果是2
8. 什么是java 序列化,如何实现java 序列化?
答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题;序列化的实现:将需要被序列化的类实现Serializable 接口,该接口没有需实现的方法,implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream 对象的writeObject(Object obj)方法就可以将参数为obj 的对象写出(即保存其状态),要恢复的话则用输入流。
9、java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,
请说出他们分别是哪些类?
InputStream、OutputStream,字符流继承于Reader、Writer。在java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。
10 java中栈和堆得区别?
- 功能不同
栈内存用来存储局部变量和方法调用。
而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。 - 共享性不同
栈内存是线程私有的。
堆内存是所有线程共有的。
3.异常错误不同
如果栈内存或者堆内存不足都会抛出异常。
栈空间不足:java.lang.StackOverFlowError。
堆空间不足:java.lang.OutOfMemoryError。
4.空间大小
栈的空间大小远远小于堆的。
希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com