Java面试题 JDK、JRE、JVM的区别、&& 和 & 的区别、== 与 = 的区别


1.1. Java源程序的扩展名是什么?

答案:扩展名是.java

1.2. 什么是标识符?

答案:在Java语言中凡是我们可以自己起名字的都是标识符。

1.3. 标识符有哪些特点?

答案:标识符由英文大小写字母、数字字符、$和_组成,不能以数字开头,也不能是java中关键字,并区分大小写

1.4. java程序经编译后产生的字节码文件扩展名是什么?

答案:字节码文件扩展名是 .class

1.5. 请说明环境变量Path 与 classpath 区别?

答案:path是系统用来指定可指定文件的完整路径。Path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径。
classpath是指定你在程序中所使用的类(.class)文件所在的位置。

1.6. 请说出常用的DOS命令并解释?

答案:d: 回车 : 盘符切换
dir (directory) :列出当前目录下的文件以及文件夹
cd (change directory) : 改变指定目录(进入指定目录)
cd… : 退回到上一层目录
cd\ : 退回到跟目录
md (make directory) :创建目录
rd (remove directory) :删除目录
del (delete) :删除文件,删除一堆后缀名一样的文件*.txt
cls (clear screen) :清屏
exit:退出dos命令行

1.7. 请写出以下标识符的命名规则

答案:包:全部小写
单层包:小写,举例:itcast,com
多层包:小写,并用 . 隔开,举例:cn.itcast, com.baidu
类或者接口:
一个单词:首字母大写,举例:Student,Demo
多个单词:每个单词首字母大写,举例:HelloWorld,StudentName
方法或者变量:
一个单词:首字母小写,举例:name,main
多个单词:从第二个单词开始,每个单词首字母大写,举例:studentAge,showStudentNames()
常量:全部大写
一个单词:大写,举例:PI
多个单词:大写,并用 _ 隔开,举例:STUDENT_MAX_AGE

1.8. 请解释Java语言的跨平台特性?

答案:Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件(class file)。

1.9. 请说明JDK、JRE、JVM的区别?

答案:JDK: Java Development Kit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具(javac/java/javap等)
JRE:Java Runtime Environment(java运行时环境)。也就是我们说的JAVA平台。所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具(编译器、调试器和其他工具)。
JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

1.10. 注释的分类及作用?

答案:单行注释、多行注释、文档注释
单行注释:注释单行代码或为单行代码添加描述的时候使用
多行注释:注释多行代码或为代码添加多行描述的时候使用
文档注释:生产java帮助文档的时候使用,开发中常用来描述类、描述方法

1.11. 请说出Java中数据类型的分类?基本数据类型都有哪些?

答案:
基本数据类型
|- byte 1
|- short 2
|- int 4
|- long 8
|- float 4
|- double 8
|- char 2
|- boolean 1
引用数据类型
|- 数组
|- 类
|- 接口

1.12. 变量是什么?

答案:变量,在程序运行时,值可以被修改的量。

1.13. 变量的定义格式是什么?

答案:数据类型 变量名 = 变量值 ;

1.14. Java中数据的类型转换有几种?分别是什么?

答案:强制类型转换:容量大的类型向容量小的类型转换时使用
隐式类型转换:容器小的类型向容量大的类型转换时使用

1.15. Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

答案:char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中可以存储汉字。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。

1.16. 请说明 && 和 & 的区别?

答案:&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。

1.17. 请说明 == 与 = 的区别?

答案:==: 比较运算符,用来比较操作符两边的变量的值是否相等。
= : 赋值运算符,把操作符右边的值,赋值给左边的变量

1.18. 三元运算符的基本格式是什么?

答案: 三元运算符的格式是: 条件表达式 ? 表达式1 : 表达式2 ;

1.19. 三元运算符的执行流程是什么?

答案: 三元运算符的执行流程: 首先计算条件表达式的值看其返回结果是true还是false,如果是true就执行表达式1,如果是false就执行表达式2

1.20. 使用键盘录入数据的三个步骤是什么?

答案: 第一步导包:格式: import java.util.Scanner ;位置: 在class上边
第二步创建Scanner对象,格式: Scanner sc = new Scanner(System.in) ;
第三步获取键盘录入数据:格式: int x = sc.nextInt() ;

1.21. 请说明for、while、do…while三种循环的格式以及执行流程,以及它们的区别。

答案:for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:
a) 执行初始化语句
b) 执行判断条件语句,看其结果是true还是false,如果是false,循环结束;如果是true,继续执行。
c) 执行循环体语句
d) 执行控制条件语句
e) 回到b继续

while循环语句格式:
while(判断条件语句) {
循环体语句;
}
执行流程:
a) 执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
b) 执行循环体语句
c) 回到a继续

do…while循环语句格式:
do {
循环体语句;
}while((判断条件语句);
执行流程:
a) 执行循环体语句
b) 执行判断条件语句,看其结果是true还是false,如果是false,循环结束;如果是true,继续执行。
c) 回到a继续

三种循环语句的区别:
a) do…while循环至少会执行一次循环体
b) for循环和while循环只有在条件成立的时候才会去执行循环体
注意:写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环

1.22. 定义一个方法的格式是什么,以及方法的注意事项?

答案:修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2 ….){
方法体 ;
return 返回值 ;
}
注意事项:
A: 方法不调用不执行
B: 方法与方法是平级关系,不能嵌套定义
C: 方法定义的时候参数之间用逗号隔开
D: 方法调用的时候不用在传递数据类型
E: 如果方法有明确的返回值,一定要有return带回一个值

1.23. 请解释什么是方法的重载?

答案:方法重载指在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点:
a) 与返回值类型无关,只看方法名和参数列表
b) 在调用时,虚拟机通过参数列表的不同来区分同名方法

1.24. 数组有几种创建的方式?分别是什么?

答案:2种。动态创建和静态创建。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值