当前位置:数码通 > 数码

2021年十大JAVA面试题及答案

来源于 数码通 2023-10-02 18:15

  1. String是最基本的数据类型吗?

  答案:不。 Java共有8种基本数据类型:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type)外,其余都是引用类型(reference type)。 Java 5之后引入的枚举类型也是一种特殊的引用类型。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  2。 Java有goto吗?

  答案:不会。(根据James Gosling(Java之父)写的书《The Java Programming Language》的附录中给出了Java关键字列表,其中包括goto和const,但这两个目前是不可用的关键字,所以有些地方会把它称为保留字,其实保留字这个词应该有更广泛的含义,因为熟悉C语言的程序员都知道,系统类库中使用的具有特殊含义的单词或者单词的组合都被认为是保留字字)

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  3。 & 和 && 有什么区别?

  答:&运算符有两种用途:(1)按位与; (2)逻辑与。 && 运算符是短路 AND 运算。逻辑AND和短路AND的区别非常巨大,尽管两者都要求运算符左右两侧的布尔值都为真才能使整个表达式的值为真。 && 之所以被称为短路操作,是因为如果 && 左边的表达式的值为 false,则右边的表达式将被直接短路,不执行任何操作。很多时候我们可能需要使用&&来代替&。例如,验证用户登录时判断用户名不为null且非空字符串时,应该写成:username != null && !username.equals(""),两者的顺序不能不同交换,更不用说&运算符了,因为如果第一个条件不成立,则根本无法进行字符串的equals比较,否则会出现NullPointerException。注意:逻辑或运算符(|)和短路或运算符(||)的区别也是如此。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  4。 switch可以对byte、long、String进行操作吗?

  答案:Java 5之前,switch(expr)中,expr只能是byte、short、char、int;从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型;从Java 5 7开始,expr也可以是字符串(String),但是当前所有版本都不允许使用长整型(long)。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  5。数组有 length() 方法吗? String 有 length() 方法吗?

  答案:数组没有length()方法,但有length属性。

  字符串有 length() 方法。在JavaScript中,字符串的长度是通过length属性获取的,这很容易与Java混淆。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  6。构造函数可以被重写吗?

  解答:构造函数不能被继承,因此不能被覆盖,但可以被重载。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  7。解释静态变量和实例变量之间的区别。

  答:静态变量是用static修饰符修饰的变量,也称为类变量。它属于类,不属于类的任何对象。无论类中创建多少个对象,静态变量都只存在于内存中。有一份副本;实例变量必须依赖于实例,需要先创建对象,然后通过对象访问。静态变量允许多个对象共享内存。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  8。内部类可以引用其包含类(外部类)的成员吗?有什么限制吗?

  答案:内部类对象可以访问创建它的外部类对象的成员,包括私有成员。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  9。 Java中final关键字有什么用?

  答案:(1)修饰类:表示该类不能被继承;

   (2) 修改方法:表达式方法不能被覆盖;

量 (3) 修改变量:表示变量只有赋值后才能修改(常量)。

------------------------------------------------------------ --- ---------------------------------------------------------- -------------------------------------------------------

  10。数据类型之间的转换

  如何将字符串转换为基本数据类型?

  解答:调用基本数据类型对应的包装类中的方法parseXXX(String)或valueOf(String),返回对应的基本数据类型。

  如何将基本数据类型转换为字符串?

  答:一种方法是将基本数据类型与空字符串(“”)连接(+),得到对应的字符串;另一种方法是调用String类中的valueOf()方法返回对应的字符串。

  相关阅读推荐:

  java web开发需要学习什么?

  Java 哪种语言更好?为什么那么多人选择Java后端开发

  javascript是什么语言?它有什么作用


登录后参与评论