java开发工程师面试题(一)

java开发工程师面试题(一)

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但只能有一个public 的类,并且public 的类名必须与文件名相一致。

2.Java 有没有goto?
java 中的保留字,现在没有在java 中使用。
在这里插入图片描述
在这里插入图片描述

3.说说&和&&的区别。
&和&&都可以用作逻辑与的运算符,一方条件不满足,则表达式不成立
&&具有短路的功能,在两个条件中只要第一个条件不成立则不再执行
&可以作为位运算符,当两边的表达式不是boolean时,则是按位与运算
拓展:(& | !)二进制 八进制 十进制 十六进制之间的转换
二进制–>十进制
(10101.11)2=124+023+122+021+120+12-1+1*2-2=24+22+20+2-1+2-2=(21.75)10
十进制–>二进制 除2倒叙取余法
十六进制–>二进制 将每一个十六进制数转换为四位二进制数
B  6  E .  9
1011 0110 1110 . 1001
二进制–>十六进制 同理将四个二进制数转换为一个十六进制数 不够在前面补0
0010 1010 1011 . 0110
2  A  B  . 6

4.在JAVA 中如何跳出当前的多重嵌套循环?
跳出多重循环 是break,continue,还可以外面的循环语句前定义一个标号
拓展:说说return break continue 的区别
break 是跳出当前循环,
continue 是跳出本次循环
return 是结束当前方方法体

5.switch 语句能否作用在byte 上,能否作用在long 上,能否作用在String 上?
long 和String 类型都不符合switch 的语法规定,并且不能被隐式转换成int 类型,所以,它们不能作用于swtich 语句中。
在switch(expr1)中,expr1 只能是一个整数表达式或者枚举常量,整数表达式可以是 int基本类型或Integer 包装类型,由于,byte,short,char 都可以隐含转换为 int,所以,这些类型以及这些类型的包装类型也是可以的,*

6.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; java: 不兼容的类型: 从int转换到short可能会有损失
因为 s1属于short类型,s1+1会自动提升为int 类型,在赋值给s1的时候类型不匹配就是int转换到short可能会有损失,所以第一个错误
对于short s1 = 1; s1 += 1;由于 += 是java 语言规定的运算符,java 编译器会对它进行特殊处理,因此可以正确编译

7、char 型变量中能不能存贮一个中文汉字?为什么?
可以存储一个汉字,char 型变量是用来存储Unicode 编码的字符的,unicode 编码字符集中包含了汉字,但是在字符集中没有涵盖所有汉字,比如一些特殊的汉字。unicode 编码占用两个字节,所以,char 类型的变量也是占用两个字节

8.用最有效率的方法算出 2 乘以 8 等於几?
用最快的效率算出算式,就要选择cpu 直接支持的位运算,可以提高运算的速度

9.使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
被final修饰的变量其实就相当于定义了一个常量,无法被修改的变量,如果final修饰的是一个基本数据类型的变量,那么这个变量的值就定了,不能变了,而如果修饰的是一个引用变量,那么该变量存的是一个内存地址,该地址就不能变了,但是该内存地址所指向的那个对象还是可以变的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值