> 文档中心 > Java基础面试题

Java基础面试题


主页:写程序的小王叔叔的博客欢迎来访

支持:点赞收藏关注

社区:JAVA全栈进阶学习社区欢迎加入

目录

Java语言及数据库

2.01 Java语言基础

2.02 Java语言基础

2.03 Java面向对象


Java语言及数据库

2.01 Java语言基础

【知 识 点】Java语言及数据库-Java语言基础(1)-JDK和JRE

【题目描述】

JDK是什么?JRE是什么?

正确答案

JDK:java开发工具包。JRE:java运行时环境。


【知 识 点】Java语言及数据库-Java语言基础(1)-Java平台无关性

【题目描述】

什么是Java的平台无关性?

【正确答案】

Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。


【知 识 点】Java语言及数据库-Java语言基础(1)-Java中的环境配置

【题目描述】

在一台电脑上配置java环境,path起什么作用?如何配置?

【正确答案】

path的作用是在DOS环境下,能在任意位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。

在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。


【知 识 点】Java语言及数据库-Java语言基础(1)-Java中的标示符

【题目描述】

什么样的标识符是合法的?

【正确答案】

  • 由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。
  • 标识符的第一个字符不能是数字。
  • 标识符区分大小写。
  • 标识符不能包含空格。

2.02 Java语言基础

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中的基本数据类型

【题目描述】

Java有几种基本数据类型?

【正确答案】

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


 【知 识 点】Java语言及数据库-Java语言基础(2)-Java中的类型转换

【题目描述】

什么是隐式类型转换?什么是显示类型转换?

【正确答案】

  • 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。
  • 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中逻辑运算符

【题目描述】

&&和&区别,||和|区别?

【正确答案】

  • &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。
  • 而& 和|则将两边的表达式都运算完毕后,再算结果。

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中break和continue的区别

【题目描述】

break,continue区别?

【正确答案】

break结束最近的一个循环,continue结束当次循环,进入下次循环。


【知 识 点】Java语言及数据库-Java语言基础(2)-Java中类的命名规则

【题目描述】

类的命名规则是什么?

【正确答案】

  • 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。
  • 类名最好见名得意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。

【知 识 点】Java语言及数据库-Java语言基础(2)-类体的构成部分

【题目描述】

类体的内容由两部分构成,哪两部分?

【正确答案】

  • 一部分是变量的定义,用来刻画属性。
  • 另一部分是方法的定义,用来刻画功能。

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中变量

【题目描述】

解释什么是类的成员变量,局部变量,实例成员变量,类成员变量?

【正确答案】

  • 变量定义部分所定义的变量被称为类的成员变量。
  • 在方法体中定义的变量和方法的参数被称为局部变量。
  • 成员变量又分为实例成员变量和类成员变量(static修饰)。

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中的this关键字

【题目描述】

简述this关键字用法。

【正确答案】

  • this关键字使用在实例方法中,代表调用该方法的当前对象。

【知 识 点】Java语言及数据库-Java语言基础(2)-Java中方法的返回值类型

【题目描述】

如何确定方法的返回类型?

【正确答案】

方法返回的值的类型就是方法的返回类型,如果无返回值,则返回类型为void。


【知 识 点】Java语言及数据库-Java语言基础(2)-Java中void方法

【题目描述】

返回值为void的方法,可否有return?

【正确答案】

可以。但return后没有任何值。

2.03 Java面向对象

【知 识 点】Java语言及数据库-Java面向对象-Java中类方法和实例方法

【题目描述】

解释什么是类方法,什么是实例方法?

【正确答案】

static修饰的方法是类方法,无static修饰的方法是实例方法。


【知 识 点】Java语言及数据库-Java面向对象-Java中方法和变量的命名规则

【题目描述】

简述方法和变量的命名规则?

【正确答案】

首写字母使用小写,如果由多个单词组成,从第2个单词开始首字母使用大写。


【知 识 点】Java语言及数据库-Java面向对象-Java中方法重载

【题目描述】

什么是方法重载?

【正确答案】

方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。


【知 识 点】Java语言及数据库-Java面向对象-Java中的构造方法

【题目描述】

什么是构造方法?

【正确答案】

构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型。


【知 识 点】Java语言及数据库-Java面向对象-Java中的对象创建

【题目描述】

如何创建一个对象?

【正确答案】

使用new 运算符和类的构造方法为对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法。


【知 识 点】Java语言及数据库-Java面向对象-Java中类的构造方法

【题目描述】

系统什么情况下会为类提供构造方法,提供什么样的构造方法?

【正确答案】

如果类中没有构造方法,系统会提供一个默认的构造方法,默认的构造方法是无参的。


【知 识 点】Java语言及数据库-Java面向对象-Java中对象调用变量和方法

【题目描述】

对象如何调用自己的成员变量和方法?

【正确答案】

使用运算符” . ”来调用自己的成员变量和方法。


【知 识 点】Java语言及数据库-Java面向对象-Java类名访问类成员和类方法

【题目描述】

为什么可以直接用类名来访问类成员变量和类方法?

【正确答案】

因为当类被加载到虚拟机的时候,类成员变量就被分配内存,类方法被分配入口地址,所以不用创建对象,可以直接通过类名调用。


【知 识 点】Java语言及数据库-Java面向对象-Java的类变量

【题目描述】

类变量有什么特点?

【正确答案】

一个类的所有对象共享同一个类变量。


【知 识 点】Java语言及数据库-Java面向对象-Java中的类方法

【题目描述】

类方法有什么特点?

【正确答案】

类方法只能调用类变量和类方法。(同一类中)


【知 识 点】Java语言及数据库-Java面向对象-Java中的package关键字

【题目描述】

package关键字有什么作用,使用中注意什么问题?

【正确答案】

package指定一个类所在的包,该语句为源代码第一行。


【知 识 点】Java语言及数据库-Java面向对象-Java中的import

【题目描述】

import关键字有什么作用?

【正确答案】

引入程序中所用到的类。


【知 识 点】Java语言及数据库-Java面向对象-Java中访问权限

【题目描述】

类有几种访问权限?变量和方法有几种访问权限?分别是什么?

【正确答案】

类有两种访问权限:public,友好的。

方法和变量的访问权限:public,protected,友好的,private。


【知 识 点】Java语言及数据库-Java面向对象-Java中的访问权限

【题目描述】

简述java的访问权限。

【正确答案】

  • public:公有的,任何类都可以访问。
  • protected:受保护的,同一个包的类可以访问。不同包的子类可以访问。
  • 友好的:同一个包的类可以访问。
  • private:私有的,在同一个类中才能访问。

【知 识 点】java语言及数据库-Java面向对象-Java中方法和变量的继承

【题目描述】

子类能继承父类的哪些变量和方法?

【正确答案】

  • 如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private 的方法作为自己的方法。
  • 如果子类和父类不在同一个包中,那么,子类继承了父类的protected,public 成员变量做为子类的成员变量,并且继承了父类的protected,public 方法为子类的方法。

【知 识 点】Java语言及数据库-Java面向对象-Java中重写父类方法时对于访问权限的问题

【题目描述】

子类重写父类的方法,可否降低访问权限?

【正确答案】

不可以降低。


【知 识 点】Java语言及数据库-Java面向对象-Java中的final关键字

【题目描述】

final关键字可以用来修饰什么?分别起什么作用?

【正确答案】

  • final可以修饰类,这样的类不能被继承。
  • final可以修饰方法,这样的方法不能被重写。
  • final可以修饰变量,这样的变量的值不能被修改,是常量。

【知 识 点】Java语言及数据库-Java面向对象-Java中的super关键字

【题目描述】  

简述super关键字作用?

【正确答案】

  • 使用super调用父类的构造方法。
  • 使用super操作被隐藏的成员变量和方法。

【知 识 点】Java语言及数据库-Java面向对象-Java中多态

【题目描述】

简述什么是对象上转型?

【正确答案】

假设,A 类是B 类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,我们称这个父类对象是子类对象的上转型对象。


 【知 识 点】Java语言及数据库-Java面向对象-Java中的多态

【题目描述】

上转型对象可以操作什么?不可以操作什么?

【正确答案】

  • 上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能 。
  • 上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。

【知 识 点】Java语言及数据库-Java面向对象-Java中的抽象类和抽象方法

【题目描述】

什么是抽象类?什么是抽象方法?有什么特点?

【正确答案】

  • 用关键字abstract修饰类称为抽象类,abstract类不能用new运算创建对象,必须产生其子类,由子类创建对象。
  • 用关键字abstract修饰方法称为抽象方法,abstract方法,只允许声明,而不允许实现。

【知 识 点】java语言及数据库-Java面向对象-Java中类声明接口

【题目描述】

一个类声明实现一个接口,那么这个类需要做什么工作?

【正确答案】

实现接口里所有的方法,并且这些方法的访问权限必须是public。


【知 识 点】Java语言及数据库-Java面向对象-Java中的数组

【题目描述】

简述什么是数组?

【正确答案】

数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。


【知 识 点】Java语言及数据库-Java面向对象-Java中数组定义

【题目描述】

创建数组是否需要指定数组长度,如何求数组长度?

【正确答案】

必须指定数组长度,数组调用 .length来获取数组长度。


【知 识 点】Java语言及数据库-Java面向对象-Java中字符串如何转换成int/double

【题目描述】

字符串如何转化为int型,double型?

【正确答案】

  • Integer.parseInt(“1”);
  • Double.parseDouble(“25.45”);

【知 识 点】java语言及数据库-Java面向对象-Java中字符和数字的判定

【题目描述】

如何判断一个字符是不是数字,是不是大写?

【正确答案】

  • Character.isDigit(‘a’)
  • Character.isUpperCase(‘U’)

【知 识 点】Java语言及数据库-Java面向对象-Java中的日期类

【题目描述】

已知一个java.util.Date对象,如何格式化成如下格式 YYYY-MM-dd hh:mm:ss

【正确答案】

SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

formate.format(new Date()));


【知 识 点】Java语言及数据库-Java面向对象-Java中生成随机数

【题目描述】

如何生成一个0-100的随即整数?

【正确答案】

(int)(Math.random()*100)


【知 识 点】Java语言及数据库-Java面向对象-Java中的异常处理机制

【题目描述】

简述java异常处理的机制?

【正确答案】

当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常。


【知 识 点】Java语言及数据库-Java面向对象-Java中的try、catch、throw、throws、finally

【题目描述】

简述如下关键字用途try、catch、throw、throws、finally

【正确答案】

  • try:保护代码,如果try中某行代码出现异常,则try中代码不再继续执行。
  • catch:捕获异常,当try中出现异常,则catch负责捕获异常,并处理。
  • throw:抛出异常。
  • throws:声明异常。
  • finally:无论try中是否出现异常,finally一定执行。

【知 识 点】Java语言及数据库-Java面向对象-Java中的LinkedList和ArrayList

【题目描述】

LinkedList和ArrayList区别?

【正确答案】

  • LinkedList底层通过链式存储结构实现。
  • ArrayList底层通过数组实现。

【知 识 点】java语言及数据库-Java面向对象-Java中的I/O流

【题目描述】

什么是I/O流,有什么作用?

【正确答案】

指数据输入输出的流, I/O 流提供一条通道程序,可以使用这条通道把源中的字节序列送给目的地。


【知 识 点】Java语言及数据库-Java面向对象-Java中的查看文件的大小、路径、可读性

【题目描述】

如何查看一个文件的大小,绝对路径,是否可读?

【正确答案】

  • File file = new File(“e://a.txt”);
  • file.length();
  • file.getAbsolutePath();
  • file.canRead();

【知 识 点】Java语言及数据库-Java面向对象-Java中多线程

【题目描述】

实现多线程的两种方法?

【正确答案】

  • 从Java.lang.Thread类派生一个新的线程类,重写它的run()方法。
  • 实现Runnable接口,重写Runable接口中的run()方法。

【知 识 点】Java语言及数据库-Java面向对象-Java中线程的生命周期

【题目描述】

简述一个线程的生命周期?

【正确答案】

新建---运行---中断---死亡


【知 识 点】Java语言及数据库-Java面向对象-Java中的运行线程

【题目描述】

如何让一个准备就绪的线程运行?

【正确答案】

调用线程的start方法让一个处于准备就绪的状态的线程运行。


【知 识 点】Java语言及数据库-Java面向对象-Java中的线程休眠

【题目描述】

如何让一个线程休眠1000毫秒?

【正确答案】

调用线程的sleep方法,参数为1000。


⚠️注意 ~

💯本期内容就结束了,如果内容有误,麻烦大家评论区指出

如有疑问❓可以在评论区留言💬或私信留言💬,尽我最大能力🏃‍♀️帮大家解决👨‍🏫!

如果我的文章有帮助,欢迎打赏✔️鼓励博主🏃,您的鼓励是我分享的动力🏃🏃🏃~

https://img-blog.csdnimg.cn/bd28e83d05e646b69bc9b6f0c0917d96.gif