Java基础是在面试过程中最常问到的,因为刚刚出去的我们对项目认知并不
很深,对于后框架的知识并没有达到精通,所以基础最重要。如果你有不怕
死的精神可以尝试让面试官问问你框架的。
1.Java中有哪些基本类型,字节和取值范围?
byte,short,int,long,float,double,char,boolean
2.Java为什么能够跨平台?因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种"中间码"---字节码,然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来吧字节码再"翻译"成所对应的硬件平台能够执行的代码,因此对于Java编程者来说,不需要考虑硬件平台是什么,所以Java可以跨平台(一份代码,处处执行)
3.String是基本数据类型吗?我可不可以写个类继承于String?不是,String是引用类型,String是final的类,是不可以被继承的
4.谈谈&和&&的区别&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false(全真则真,有假则假)
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式
&还可以用作运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作
5.Switch语句里面条件可不可以是byte,long,String?使用时候还应该注意什么?switch里面的条件必须是能隐式的转换称为Int的,故long和String不行,byte可以,使用switch时候还应注意它的穿透,即每个case后要跟break
switch语句的结构:
switch(a){
case 1 : 操作1;break;【可选】
case 2 : 操作2;break;【可选】
case 3 : 操作3;break;【可选】
case 4 : 操作4;break;【可选】
default : 保底选项;【可选】
}
6.short s1 = 1; s1 = s1+1;有什么错?short s1 = 1;s1+=1有什么错?
对于short s1 = 1;s1 = s1+1;由于s1+1运算时会自动提升表达式的类型,所以结果是int类型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误
对于short s1 = 1;s1+=1;由于 += 是Java语言规定的运算符,Java编译器会对他进行特殊处理,因此可以正确编译
7.char为什么能存储一个汉字?char类型变量是用来存储Unicode编码字符的,Unicode编码字符集中包含了全世界所有的字体
8.用最效率的方法算出2乘以8等于几?2<<3 位移运算是最底层的运算,他直接操作的是二进制,故效率最快
9.final修饰变量时,该变量是对象时,对象的值可不可以改变?final修饰的变量指的是引用不可变,对象的值是可以改变的
10.静态变量和实例变量的区别?静态变量也称为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问;而实例变量必须依存于某一实例,只能通过对象访问到他
11.面向对象的基本特征?重点!!!!!!1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面,抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节,抽象包括两个方面,一是过程抽象,二是数据抽象
2.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面,面向对象计算始于这个基本概念,
3.继承:
4.多态:



