java经典面试题集锦(带答案)(一)

本文详细讲解了Java开发环境JDK与运行环境JRE的区别,JVM的工作原理,Java数据类型特性,以及编程中的一些基本概念如跨平台、字节码、编译规则、逻辑运算符、控制结构等,还涉及数组和长度属性。
摘要由CSDN通过智能技术生成

1.jdk和jre的区别?
jdk是开发工具
jre是运行环境
2.jdk目录?
bin->可执行文件 javac.exe编译   java.exe执行
lib->类库包   tools.jar公共类库
db->数据库
include->包含函数库
src.zip->源代码
3.java为什么能跨平台?
JVM(java虚拟机)
4.JVM的工作机制?
*.java源文件通过javac.exe编译生成.class的字节码文件。
再由java.exe解释执行字节码文件,生成中间代码,显示结果
5.java是哪种语言派生?又是哪种语言衍生?
oak派生,c语言衍生
6.java有几种基本数据类型各占多少字节?
1字节 byte   boolean
2字节 char   short
4字节  int    float
8字节  long  double
7.byte bvar = 129;能编译通过吗?如果不能请说明?
不能通过编译,因为byte类型的数据取值范围为-128-127,超范围了
8.short s = 1; s = s + 1;能编译通过吗?如果不能请说明,并改正?
不能通过编译,因为 s = s + 1;中的1为int型,而s为short类型。一个int
和short类型运算时,自动转换为int类型所以超出short范围。改正:s += 1;
9.int a; a = a + 2;能编译通过吗?如果不能请说明?
不能通过编译,因为a为局部变量没有进行初始化赋值,就在 a = a+2;获取a
的值,所以编译产生错误
10.char c = 'ab';能编译通过吗?如果不能请说明?
不能通过编译,因为char类型只能赋值一个字符,两个字符称为字符串
11.char c= '\n';能编译通过吗?如果不能请说明?
能通过编译,因为\n为转义字符,视为一个字符所以可以通过
12.float=3.4; 编译能通过吗?
不能,默认的小数类型为double,改正:float=3.4f;
13.double $a = 3; 编译能通过吗?
能,变量名可以由$_字母开头,可以包含数字,不能包含特殊字符,不能以关键字和保留字命名
14.int num = (int)1.3 + (int)2.9;和int num2 = (int)(1.3 + 2.9);结果相同吗?
不能 num值为3,num2值为4
15.'a' + 1结果为多少?
98,因为a为char类型,以unicode编码。a的ASCII码为97.当char和数值运算时,
自动转换为对应的ASCII码值进行运算
16.System.out.println(1<3?8:88.2);输出结果
输出8.0。因为隐式转换,前后的类型相同。
17.int a = 0,b =0; b = a++;a和b的值是多少
a为1,b为0.变量++,先赋值后自加1
18.int a = 0,b =0; b = ++a;a和b的值是多少
a为1,b为1.++变量,先自加1后赋值
19.&和&&的区别
&与位运算符,第一个条件不满足时第二个条件继续执行
&&逻辑与运算符,第一个条件不满足时第二个条件不继续执行,所以称之为短路与
20.int a =1,b = 2; System.out.println(a++ > 1 && --b >0 ?true:false);输出值是多少?a和b的值是多少?
false a为2 b为2 &&为逻辑与,如果第一个表达式为假,第二个表达式不会被执行
21.int a =1,b = 2; System.out.println(++a > 1 || --b <0 ?true:false);输出值是多少?a和b的值是多少?
true a为2 b为2 &&为逻辑与,如果第一个表达式为真,第二个表达式不会被执行.
22.int a=1;int b=1;if(++a<0&b--<=1){System.out.print(“OK”)};输出结果
a=2,b=0;OK不打印。
23.int a=1;int b=1;if(++a<0&&b--<=1){System.out.print(“OK”)};输出结果
a=2,b=1;OK不打印。
24.int a=1;int b=1;if(++a<0||b--<=1){System.out.print(“OK”)};输出结果
a=2,b=0。打印OK。
25.for(int i=0; i < 3;i++){},其中i < 3这个执行多少次?int i = 0 执行几次?i++执行几次?
i < 3 执行4次   int i = 0 执行1次  i++ 执行3次
26.int i = 2; while(i<3) {System.out.println(i);i++;};输出结果
输出2
27.int i = 2; do{System.out.println(i);i++;}while(i<2);System.out.println(i);输出结果
输出2,3
28.int a=1; switch(a){case 1:System.out.println(1);case 2:System.out.println(2);break;default:System.out.println(3);}输出结果
输出1,2
29.数组是对象吗?  

30.length是String的方法,数组的属性吗

后续会持续更新,完整资源已经上传,记得关注免费下载哦!


 

  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值