程序员面试干货来啦,今天小编就先为大家整理出4道大厂面试时常见关于 Java 的面试题。看看你能答对几道题呢!多多掌握此类面试题,就会增加面试通过的机率哦,后续还有其他类的面试题,请持续关注哟!
87.描述&和&&的区别。 &和&&的联系(共同点): &和&&都可以⽤作逻辑与运算符,但是要看使⽤时的具体条件来决定。 操作数1&操作数2,操作数1&&操作数2, 情况1:当上述的操作数是boolean类型变量时,&和&&都可以⽤作逻辑与运算符。 情况2:当上述的表达式结果是boolean类型变量时,&和&&都可以⽤作逻辑与运算符。 表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有⼀⽅为false,结果都为false。 表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有⼀⽅为false,结果都为false。 (1)、&逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符,也可叫逻辑与运算符。 对于&:⽆论任何情况,&两边的操作数或表达式都会参与计算。 对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最终结果都为false。 综上所述,如果逻辑与运算的第⼀个操作数是false或第⼀个表达式的结果为false时,对于第⼆个操作数或表达式是否进⾏运算,对最终的结果没有影响,结 果肯定是false。 推介平时多使⽤&&,因为它效率更⾼些。 (2)、&还可以⽤作为运算符。当&两边操作数或两边表达式的结果不是boolean类型时,&⽤于按位与运算符的操作。 88.使⽤final关键字修饰符⼀个变量时,是引⽤不能变,还是引⽤的对象不能变? final修饰基本类型变量,其值不能改变。 但是final修饰引⽤类型变量,栈内存中的引⽤不能改变,但是所指向的堆内存中的对象的属性值仍旧可以改变。 例如: class Test public static void main (String[] args) final new Dog( ); ; //正确 new Dog( ); //错误 |:将两个匹配条件进⾏逻辑“或”(Or)运算 90.什么是编译型语⾔,什么是解释型语⾔?java可以归类到那种? 计算机不能直接理解⾼级语⾔,只能理解和运⾏机器语⾔,所以必须要把⾼级语⾔翻译成机器语⾔,计算机才能运⾏⾼级语⾔所编写的程序。翻译的⽅式有两 种,⼀个是编译,⼀个是解释。 ⽤编译型语⾔写的程序执⾏之前,需要⼀个专⻔的编译过程,通过编译系统把⾼级语⾔翻译成机器语⾔,把源⾼级程序编译成为机器语⾔⽂件,⽐如windows下 的exe⽂件。 以后就可以直接运⾏⽽不需要编译了,因为翻译只做了⼀次,运⾏时不需要翻译,所以⼀般而言,编译型语⾔的程序执⾏效率⾼。 解释型语⾔在运⾏的时候才翻译,⽐如VB语⾔,在执⾏的时候,专⻔有⼀个解释器能够将VB语⾔翻译成机器语⾔,每个语句都是执⾏时才翻译。这样解释型语 ⾔每执⾏⼀次就要翻译⼀次,效率⽐较低。 编译型与解释型,两者各有利弊。前者由于程序执⾏速度快,同等条件下对系统要求较低,因此像开发操作系统、⼤型应⽤程序、数据库系统等时都采⽤它,像 ⼀定要求的程序则通常使⽤解释性语⾔,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。 JAVA语⾔是⼀种编译型-解释型语⾔,同时具备编译特性和解释特性(其实,确切的说java就是解释型语⾔,其所谓的编译过程只是将.java⽂件编程成平台⽆ 关的字节码.class文件,并不是向C⼀样编译成可执⾏的机器语⾔,在此请读者注意Java中所谓的“编译”和传统的“编译”的区别)。 作为编译型语⾔,JAVA程序要被 统⼀编译成字节码⽂件——⽂件后缀是class。 此种⽂件在java中⼜称为类⽂件。 java类⽂件不能再计算机上直接执⾏,它需要被java虚拟机翻译成本地的机器码后 才能执⾏,⽽java虚拟机的翻译过程则是解释性的。 java字节码⽂件⾸先被加载到计算机内存中,然后读出⼀条指令,翻译⼀条指令,执⾏⼀条指令,该过程被称为 java语⾔的解释执⾏,是由java虚拟机完成的。 希望这些面试题对你有所帮助! 下一期我们会有关于其他大厂面试题。 别忘了关注我们的公众号哦,预防走丢! 最后愿你前程似锦,在冬深 在初春 在夏至在秋末 在码上未来! 码上未来,成就你更好的未来!