当前位置: 首页 > 图灵资讯 > 技术篇> 几道Java大厂常见面试题(包括笔试和面试题)

几道Java大厂常见面试题(包括笔试和面试题)

来源:图灵教育
时间:2023-06-09 10:10:37

1. while(true){}有什么用?

while(true){} 它是一个无限循环的句子,它的作用是让程序在执行到句子时不断循环,直到程序终止或遇到 break、return 跳出循环的句子。

几道Java大厂常见面试题(包括笔试和面试题)_Java

无限循环的使用场景很多,比如:

实现多线程的循环操作,保持线程一直在运行;

在服务器中持续监控客户端请求,等待客户端连接;

在游戏程序中实现主循环,控制游戏的运行。

需要注意的是,在使用无限循环时,要注意控制循环体内部的逻辑,避免死循环,导致程序无法正常结束。通常可以添加跳出循环的条件或使用 break、return 等待句子来控制循环的结束。

2. switch语句括号中的值可以是null,case值可以是nulll吗?

在Java中,switch句括号中的值可以是null,但case值不能是null,否则会导致编译错误。

如果括号中的值为null,则只有在case语句中使用null常量时才会匹配。例如:

String str = null;switch(str) {    case null:        System.out.println("str is null");        break;    default:        System.out.println("str is not null");}

在这个代码中,括号中的值是null,但只有在case语句中使用null常量时才会匹配。

3. case和defaultswitch语句有序吗?

在switch语句中,case和 default子句的顺序有影响。case和 default句子的顺序必须先写 case,再写 default,而且在一个 case子句的顺序在switch句块中也很重要,因为 按照switch语句 case子句的顺序与表达式值相匹配,找到与表达式值相匹配的case子句后,将执行该子句后的句子,不会继续与其他人匹配 case子句。若在所有 如果匹配值没有在case句中找到,则将执行 如果没有default的句子, 那么,default子句,那么 任何操作都不会执行switch语句块。

4. Java线程同步与异步的区别

在Java中,同步和异步是指多线程并发执行中的两种不同机制。

同步是指线程之间的协作模式,即当一个线程执行任务时,其他线程必须等待线程执行同一代码。同步机制通常使用synchronized关键字或Lock对象来实现,以确保多线程共享的资源同步访问。

异步是指线程之间的独立执行,即当一个线程执行任务时,其他线程可以继续执行其他任务,而无需等待线程完成。异步机制通常使用多线程或回调函数来提高程序的并发性和响应性。

在Java中,线程同步和异步的区别在于线程之间的协作模式不同。同步需要确保多个线程之间的相互排斥和同步,以防止共享资源或数据不一致之间的冲突,而异步可以充分利用多核处理器来提高程序的并发性和响应性。

5. java程序的基本格式

Java程序的基本格式包括三个部分:包声明、导入其他类别和类别定义。

(1). 包声明: 使用package关键字声明Java文件所在的包,语法如下:

package 包名;

(2). 导入其他类别: 使用import关键词导入其他需要使用的类别,语法如下:

import 包名.类名;

若需导入整个包,则可使用通配符*,语法如下:

import 包名.*;

(3).类定义: Java程序必须包含一个公共类,它必须包含一个main()方法,这是程序执行的入口点。类别定义的基本语法如下:

[修饰符] class 类名 {

// 类成员变量及方法

}

main()方法的定义如下:

public static void main(String[] args) {

// 程序代码

}

在Java程序中,每个句子必须分号;最后,程序代码必须写在{}中。

6. 如何计算byte数据的取值范围?

Java中的byte是8位符号整数类型,其值范围为-128至127,可以通过以下方式计算:

因为byte有符号,所以它的最高位是符号位,值为1,值为0,非负。

其余7位为数据位,最大值为27-1=127,最小值为-27=-128。

因此,byte数据的值范围为-128至127。

7. java开发是前端还是后端

Java开发可以涉及前端和后端,这取决于开发人员的兴趣和专业方向。Java常用于开发Web应用、企业应用、移动应用等服务器端应用程序。在前端方向,Java可以用来开发Android应用程序,也可以用Java开发基于Web的前端应用程序,如JavaServerver Pages(JSP)等。此外,Java还可用于开发各种类型的桌面应用程序、游戏和工具。因此,Java的应用领域非常广泛,是一种非常强大的编程语言。

8. return可以结束while循环吗?

是的,return语句可以结束while循环。当return语句执行时,程序会立即跳出方法并返回值,同时结束while循环的执行。