2021JAVA SE基础面试题[精]!!都是干货!!必看

在这里插入图片描述

一 、integer与int的直接区别

int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别

具体可见:
这里
https://blog.csdn.net/qq_36411874/article/details/78201687

二、java的八大基本数据类型

boolean,char,byte,short,int,long,float,double

三、对与Arraylist与hashmap可以浏览下这篇博客:

点击这里
https://blog.csdn.net/sinat_33921105/article/details/103847137?utm_source=app

四、关于堆和栈的讲解,可以看这篇

点击
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《关于堆栈》, 一起来围观吧 https://blog.csdn.net/qq_41885871/article/details/100562192?utm_source=app

五、java从键盘上获取数值以及获取各个数据类型的方法

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
double d = sc.nextDouble();
String str = sc.next();
char c = sc.next().charAt(0);

六、if(isflag)等同于什么

If(isflag)等价于if(isflag==true)

七、subString用法

在String中提供了两个sunstring()方法。从指定位置截取到字符串结尾
str1.subString(6)
从第7个位置开始截取
截取指定范围的内容
str1.subString(1,4)
从第1个位置开始截取,第4个位置停止截取,结果不包括第4个位置的内容,只有3个字符。

八、小tips

使用equals比较时,常量放在前面。不然容易引起空指针异常

九、try catch finally基本说明

try语句块中是可能出现异常的代码,在一个异常处理中是只出现一次的
finally语句块是指异常处理完后必须要执行的部分,这部分不是必须的,可以不写 。
throws用法:在方法头部分使用throws来声明这个方法可能回避的异常,当有异常抛出时会中断该方法,而异常被抛到这个方法的调用者那里,由调用者来处理这个异常。
catch语句块是用来捕获异常的,可以捕获各种不同的异常,因此是可以还有多个catch块的,每个块用于捕获不同的异常,来进行不同的处理。

10、final关键字修饰

抽象类:子类继承重写 。接口类也一样

final:不允许重写

所以final关键字不能修饰抽象类与接口类

11、问你IS-A是什么关系

其实就是继承的意思

继承与接口

继承是一个是不是的关系,接口是能不能的关系

12丶线性数据结构和非线性数据结构


,关于线性与非线性数据结构,转载自这篇文章


13丶进程与线程


进程是拥有资源的基本单位。
线程作为调度和分配的基本单位

14、Arrays.sort与Collections.sort()区别


Array.sort针对的是数组,Collections.sort针对的是集合。
可以进这篇博文详细观看


15丶JAVA!大小写转换


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        char c = input.next().charAt(0);
        change(c);
    }
 
    private static void change(char c) {
        //如果输入的是大写,+32即可得到小写
        if(c>='A' && c<='Z'){
            c+=32;
            System.out.println(c);
        }else if(c>='a' && c<='z'){    //如果输入的是小写,-32即可得大小写
            c-=32;
            System.out.println(c);
        }
          
        
    }
}

16丶instanceof

是Java的一个保留关键字,左边是对象,右边是类,返回类型是Boolean类型。它的具体作用是测试左边的对象是否是右边类或者该类的子类创建的实例对象,是,则返回true,否则返回false。



17丶LinkedList的addfirst与addlast方法

addFirst是加在队头,后进先出,和栈类似。addLast是加在队尾,先进先出,和队列类似。



19丶euqals与hashcode

  1. 没重写之前,equals比较的俩对象相等,hashcode必定相等:
  2. 没重写之前,两对象hashcode相等,equals比较不一定相等。
  3. 重写equals必须重写hashcode方法。
  4. 一般都是先使用hashcode先校验,相同再调用equals方法去对比,提高效率。
  5. 详情可以点击这个博主博客


20丶hashmap和hashtable区别(粗略,后续可参照再看别的博客)

点击查看



21丶迭代器iterator可以用来遍历栈(可以保证栈中数据不变),map,其他的暂时不清楚


22丶抽象类与接口类

在这里插入图片描述
当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以
把不确定的部分暴露出去,让子类去实现。


在这里插入图片描述
接口和类是并列关系,或者可以理解为一种特殊的类。从本质上讲,
接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义
(JDK7.0及之前),而没有变量和方法的实现。
(jdk8.0后可以有静态方法实现)在接口中定义的静态方法,不是抽象的,具体实现的,可以直接使用接口名称调用。


23丶反射

在这里插入图片描述
反射让开发人员可以通过外部类的全路径名创建对象,并使用这些类,实现一些扩展的功能;

反射让开发人员可以枚举出类的全部成员,包括构造函数、属性、方法。以帮助开发者写出正确的代码;

测试时可以利用反射 API访问类的私有成员,以保证测试代码覆盖率。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值