2024年25大一线互联网高频Java面试题(一):JavaOOP面试题

2024年25大一线互联网高频Java面试题(一):JavaOOP面试题
整形:byte,short,int,long
浮点型:float,double
字符型:char
布尔型&#xff1

整数:字节、短整型、整数、长整型

浮点类型:float、double

字符类型:char

布尔类型:布尔类型

11. 标识符命名约定。

标识符的含义:

指的是你在程序中定义的内容,比如类名、方法名、变量名等,都是标识符。

命名约定:(严格要求)

标识符可以包括字母数字字符、数字0-9、$ 和_。

标识符不能以数字开头

标识符不是关键字

命名约定:(不是严格要求)

类名规范:第一个字母大写,后续每个单词的第一个字母大写(高驼峰式大小写)。

指定变量名:第一个字母小写,后续每个单词的第一个字母大写(小驼峰式)。

方法名称规范:与变量名称相同。

12.instanceof关键字的作用

严格来说,instanceof是Java中的一个二元运算符,用于测试一个对象是否是类的实例。使用方法如下:

布尔结果=obj 类的实例

这里,obj代表一个对象,Class代表一个类或接口。如果obj 是Class 的对象或其直接对象。

如果它是该接口的间接子类或实现类,则结果返回true,否则返回false。

注意:编译器会检查obj是否可以转换为右侧的类类型。如果无法转换则直接报错。

类型是在运行时编译和确定的。

因蒂=0;

System.out.println(i instanceof Integer);//编译失败。必须是引用类型,而不是基类型。

System.out.println(i instanceof Object);//编译失败

整数整数=newInteger(1);

System.out.println(整数的整数实例);//true

//错误的。 JavaSE 规范指定如果obj 为null,则instanceof 运算符返回false。

System.out.println(nullinstanceofObject);

13. 什么是隐式和显式转换?

显式转换是指强制将较大类型的数据分配给较小类型的类型转换。隐式转换意味着大范围变量可以接受窄范围数据。

类型转换实际上包括自动类型转换和强制类型转换。

14. char类型可以转换为int类型吗?可以转为string类型吗?可以转为double类型吗?

Char也是Java中的一种特殊类型,其int值从1开始,总共是2的16次方。

Chaintlongfloatdouble; Char类型可以隐式转换为int、double类型,但是char类不能隐式转换为string。

转换为byte类型或short类型时需要强制转换。

15.什么是拆箱?

装箱自动将基本数据类型转换为包装类型(int-Integer)调用方法:Integer。

valueOf(int) 方法

拆箱是将包装类型自动转换为基本数据类型(Integerint)。调用方法:Integer的intValue方法

在Java SE5 之前,如果要生成值为10 的Integer 对象,则必须执行此操作。

整数i=新整数(10);

从Java SE5 开始提供自动装箱功能。如果你想生成一个值为10 的Integer 对象,这就是你所需要的。

这有效:

整数i=10;

面试问题1:下面的代码输出什么?

公共类主要{

公共静态无效主(字符串[] args){

整数i1=100;

整数i2=100;

整数i3=200;

整数i4=200;

System.out.println(i1==i2);

System.out.println(i3==i4);

}

}

结果:

真相

错误

16.Java中什么是包装类?

byte:字节,short:短整型,int:整数,long:长整型,float:浮点型,double:双精度型,char:字符型,boolean:布尔型

System.out.println(“你好”);

}

}

类儿子扩展父亲{

@覆盖

公共无效SayHello(){

//TODO 自动生成的方法存根

System.out.println(\’你好,\’);

}

}

原因:一个范围内的整数值的数量是有限的,但浮点数则不是。

重写总结:

1. 发生在父类和子类之间。

2、方法名、参数列表、返回类型(除非子类方法的返回类型是父类返回类型的子类)必须相同。

3. 访问修饰符限制必须大于被重写方法的访问修饰符(publicprotecteddefaultprivate)。

4. 重写方法不得抛出新的检查异常或比重写方法声明更广泛的检查异常。

超载

在类内,同名的方法具有不同的参数列表(不同的参数类型、参数数量或参数顺序)

它被认为是过载。同时,重载对返回类型没有要求。它无法确定返回类型是否相同或不同。

确定过载。

公共课之父{

公共静态无效主(字符串[] args){

//TODO 自动生成的方法存根

父亲s=新父亲();

s.sayHello();

s.sayHello(\”冬树\”);

}

公共无效SayHello(){

System.out.println(“你好”);

}

公共无效SayHello(字符串名称){

System.out.println(“你好” + \’ \’ + 名字);

}

}

过载概述:

1.重载是类内部多态性的一种表现

2、重载要求同名的方法有不同的参数列表(包括参数类型、参数个数、参数顺序)。

3. 重载时,返回类型可以相同也可以不同。返回类型不能作为区分重载函数的标准

25. equal 和==* 之间的区别

:

==用于比较变量(栈)内存中存储的对象的(堆)内存地址,判断两个对象的地址是否相同,即匹配。

指向同一个对象。比较的是实际的指针操作。

1.比较是一个运算符的两个操作数是否是同一个对象。

2. 为了编译成功,两个操作数必须具有相同的类型(即使在父类和子类之间)。

3. 比较的是地址。对于某些阿拉伯数字比较,如果值相等则值为true:

int a=10、long b=10L 和double c=10.0 都是相同的(正确),因为它们都指向地址10 处的堆。

平等的:

由于所有类都继承自java.lang.Object 类,因此equals 用于比较两个对象的内容是否相等。

适用于所有对象。即使这个方法没有被重写,Object类的方法仍然会被调用。此外,仍然会调用Object 类的方法。

equals 方法返回==测试。

概括:

比较相等时,使用对象;比较常量时,使用equals。

相等的对象可能为空,在这种情况下为空指针

阿里巴巴的代码规范中只使用equals。阿里巴巴插件默认识别它并允许您即时更改它。

使用“==”检查旧代码并将其替换为等号。

36.++i和i++的区别

i++:先赋值,后计算

++i:先计算再赋值

37. 程序的结构是怎样的?

顺序结构

结构选型

循环结构

38. 实例化数组有多少种方法?

静态实例化:数组中的元素在创建数组时指定。

动态实例化:实例化数组时,只指定数组的范围,数组内的所有元素都成为数组类型的默认值。

39、Java中各种数据的默认值

默认情况下,Byte、short、int、long 均为0。

布尔值的默认值为false

Char 类型的默认值为\’\’。

float 和double 类型的默认值为0.0。

对象类型的默认值为null

40.常用的Java包有哪些?

java语言

java.io

最后

其实如果看大公司的招聘要求,有很多在传统行业或者外包项目工作过的朋友,也有很多在中小型公司工作的,有高并发经验的人就可以看出。就招聘要求而言,这是首选。该技术相对简单,并且从未在分布式系统上工作过,尽管互联网公司现在普遍构建分布式系统。

因此,如果你想加入大工厂,脱离传统行业,就需要这些技术知识。我在下面创建了Java 并发系统的思维导图。

默认情况下,Byte、short、int、long 均为0。

布尔值的默认值为false

Char 类型的默认值为\’\’。

float 和double 类型的默认值为0.0。

对象类型的默认值为null

40.常用的Java包有哪些?

java语言

java.io

最后

其实如果看大公司的招聘要求,有很多在传统行业或者外包项目工作过的朋友,也有很多在中小型公司工作的,有高并发经验的人就可以看出。就招聘要求而言,这是首选。该技术相对简单,并且从未在分布式系统上工作过,尽管互联网公司现在普遍构建分布式系统。

因此,如果你想加入大工厂,脱离传统行业,就需要这些技术知识。我在下面创建了Java 并发系统的思维导图。

[外部链接图像正在传输.(img-XCNonuXe-1720154834392)]

#2024年以上网络高频Java面试题前25名(一):JavaOOP面试题相关内容来源网络仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93133.html

(0)
CSDN的头像CSDN
上一篇 2024年7月5日
下一篇 2024年7月5日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注