java面试基础题

java面试基础题

    今天在网上看到一个大佬整理的java面试题,给大家分享一下,出处:https://www.cnblogs.com/peke/p/7894685.html

 

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

      答:可以包括很多类,但是public修饰的类只能有一个且必须和java源文件名相同

    Java有没有goto?

      答:没有,在我知道的只有C语言中有

    说说&和&&的区别。

      答:逻辑与(&)和短路与(&&)都可以判断语句的逻辑关系,但是&&在确定表达式左边的式子已经能够决定

        整个语句的最终结果后,就不会执行右边的式子,效率更佳;而&不可以

    在JAVA中如何跳出当前的多重嵌套循环?

      答:定义一个标记,如图:

      

 

 

 

      

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

      答:可以作用在char、byte、short、int以及它们的包装类对象上,String(jdk7之后)也可以

        

    short s= 1; s= s + 1;有什么错? short s = 1;   s += 1;有什么错?

      答:有错,s=1中的1是short类型,占2个字节,而后面的数字1是int类型,占4个字节,根据运算规则:当多个不同类型的数据混合运算时,先转换成容量最大的那种类型再做运算,所以 s + 1的数据类型是int,而s是short,故需要强转,即:s=(short) (s + 1)。后面那个没错,因为+=运算符会自动进行类型转换,但是会损失精度

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

      答:可以,java使用的是unicode编码,2个字节表示一个字符,无论是汉字、数字还是字母都是两个字节,所以可以储存中文

    用最有效率的方法算出2乘以8等於几?

      答:位运算,8的二进制:00001000,乘法需要向左移位,即:00010000=16  

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

      答:引用不能变

    静态变量和实例变量的区别?

      答:在声明上,静态变量需要用static修饰,而实例变量不用;

        在调用上,静态变量是通过类来访问,而实例变量只能通过对象来进行访问

        在储存位置上,static修饰的静态变量保存在方法区内存中,随着类加载一起进行;而实例变量储存在堆内存中

原文地址:https://www.cnblogs.com/javaisbest/p/11594995.html