首页 >面试题目 > 内容

每天八道面试题

2023年1月21日 13:03

1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

答:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致。

2.JAVA中有没有goto?

答:在C/C++中goto常被用于跳出多重循环,但这会降低程序的可读性,因此在JAVA中并没有使用goto,只是作为(关键字)保留字进行留存,且goto这个(关键字)保留字没有任何作用,只是为了将来可能的扩展,防止使用goto作为程序的标识符。

3.说说&和&&的区别

&和&&都可用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则只要有一方为false,则结果为false。

&&还具有短路的作用,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(number == 3 && ++x>0),如果number等于3则会进行后面的自增操作,如果第一个表达式都不满足,则第二个表达式的自增则进行都不会进行。

&还可以用作位运算符,当&两边的表达式都不为boolean类型时,&表示按位与操作,即将两数转换为二进制,在通过俩俩的位数进行对比,都为1时,结果为1,否则都为0。(我们通常使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位,例如,0x31 & 0x0f 的结果为 0x01

4.switch语句能否用在byte上,能否作用在long上,能否作用在String上?

在switch(expr1)中,expre1可以是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于byte,short,char都可以隐形转换为int,所以,这些类型以及这些类型的包装类型也是可以的。

Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。从 Java 5 开始,Java 中引入了枚举类型。
expr 也可以是 enum 类型。从 Java 7 开始,expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

5.a=a+b和a+=b有什么区别?

+=操作符会进行隐式自动转换,此处a+=b隐式的将加操作的结果类型强制转换为持有结果的类型

而a=a+b则不会自动进行类型转换,例如:

short s1=1;

s1=s1+1;

此处就会报错,类型错误,因为1是int类型的数据,s1是short类型的数据,因为类型不一样就会导致运算出错。

正确的:

short s1=1;

s1+=1;

6.char型变量中能不能存储一个中文汉字?为什么?

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

7.用最有效的方法算出2乘以8等于几?

2<<3,

因为将一个数左位移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左位移3位即可,而位运算cpu是直接支持的,效率最高,所以,2乘以8等于几的最效率的方法就是2<<3。

8.使用final关键字修饰一个变量是,是引用不能变,还是引用的对象不能变?

使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
例如,对于如下语句:
final StringBuffer a=new StringBuffer("immutable");
执行如下语句将报告编译期错误:
a=new StringBuffer("");
但是,执行如下语句则可以通过编译:
a.append(" broken!");
有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:
public void method(final StringBuffer param){
}
实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:
param.append("a");


参考文章:https://blog.csdn.net/weixin_51472024/article/details/125796431

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论