前言
为什么要夯实基础
那当然是拿高工资撒💴😎😎😎
基础题👑
1.八大基本数据类型有哪些是?
多数面试官都会问一个很常见的问题,那就是你有什么优点啊?
你怎么回答,回答说我吃苦耐劳,能适应弹性工作,很合群,开朗热情
NO,NO,NO那你就大错特错,你所说的一般人都能做到很普通,并且面试官他没办法看到
那该怎么说呢?
通过我们的答题的方式体现出我们的条理分明,逻辑清晰啊😎,
对于一般人来说就很简单都知道对吧是什么
int,long,char,byte,boolean,short,float,double
对吧,但是既然一般人都知道,那我们就可以体现出不同的
例如:
整型:bype、short、int、long
浮点型:float、double
其他:char、boolean
这样回答就会侧写出你的逻辑清晰,条理分明但是就一定要这样回答吗?
不,你还可以优化
例如:
整数型:int short 短整型 long长整型: byte
浮点型:double(双精度浮点型),float(单精度浮点型)
字符型:char 布尔型:boolean
2.get和post的区别
总结如图👇
3.&和&&的区别
示例代码
package Demo;
public class Demo {
public static void main(String[] args) {
if (a1() && a2()){
System.out.println("打印中……");
}
}
private static boolean a1() {
System.out.println("a1");
return false;
}
private static boolean a2() {
System.out.println("a2");
return false;
}
}
示例片段
总结:
&:不管前面的条件是否正确,后面都执行。
&&:前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
&&是逻辑运算中的“短路”,若"&&"前的条件为false时判断结果为false,不再执行"&&"后的语句块。"&&"前为true则继续进行进行后半部分的判断 。
4. 八种基本数据类型的大小,以及他们的封装
注解:
1.int 是基本数据类型,Integer 是 int 的封装类,是引用类型。int 默认值是 0,而 Integer 默认值是 null,所以 Integer 能区分出 0 和 null 的情况。一旦 java 看到 null,就知道这个引用还没有指向某个对象, 再任何引用使用前,必须为其指定一个对象,否则会报错。
5.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String
代码示例:
byte key = 0;
int i=key;
System.out.println(i);
switch(key){
case 1:
break;
default:
break;
}
Switch可以作用在byte上,Switch标准是写int
因为byte是两字节,而int是4个字节,所以byte自动向上提升,也就是隐式转换
但是long 和 String 类型 都不符合 sitch 的语法规定,并且不能被隐式转换成 int 类型
不过在 JDK1.7 之后,switch 也支持了 String(注意)
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 a='我';
char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char 型变量中所以可以滴
8.使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
例如
final StringBuffer a=new StringBuffer("immutable");
执行如下语句将报告编译期错误:
a=new StringBuffer("");
但是,执行如下语句则可以通过编译:
a.append(" broken!");
所以是引用不能变!
8. "=="和 equals 方法究竟有什么区别
简单总结:👀
"=="比较地址,equals比较的是值
区别
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类 型的数据或两个引用变量是否相等,只能用==操作符
equals 方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的