Java 一直是软件开发领域的常年贡献者。 不仅需要学习和掌握Java技能,还需要实时练习这些技能。 在本文中,我们为您带来了一些最受欢迎的 Java 面试问题,它们将帮助您在主要的面试过程中脱颖而出,并帮助测试您的技能和知识。
如果您想进一步深入了解,请查看我们的 软件工程课程 在 Great Learning 与顶尖工程学院和大学合作,包括 IIT 马德拉斯、五大湖、耆那大学和 IIT 海得拉巴. 参加定期组织 职业加速计划 和 放置驱动器 由 Great Learning 提供,并被不同行业的顶级领先公司聘用。
新生的Java面试问题
1. 什么是Java?
Java 是一种基于类、面向对象的通用编程语言,非常流行。 它是世界上最流行的编程语言之一。
Java中的Hello World:
public class FileName { public static void main(String args[]) { System.out.println("Hello World!"); } }
2. 如何安装Java?
通过命令提示符安装 Java,以便它可以生成必要的日志文件来解决问题。
转到 java.com 并单击免费 Java 下载按钮。
单击保存按钮,将 Java 软件保存在桌面上
验证 Java 软件是否保存在桌面上。
打开 Windows 命令提示符窗口。
Windows XP:点击开始 -> 运行 -> 输入:cmd
Windows Vista 和 Windows 7:单击开始 -> 在开始搜索字段中键入:cmd。
光盘(例如下载或桌面等)
I运行安装程序并按照屏幕上的说明进行操作。
3. 如何在Java中反转字符串?
"String str = ""Hello"";
String reverse(String str){ StringBuilder sb = new StringBuilder(); sb.append(str); sb.reverse(); return sb.toString();
}"
4. Java中的线程是什么?
线程允许程序通过同时执行多项操作来更有效地运行。
线程可以用来在后台执行复杂的任务而不中断主程序。
它可以通过扩展 Thread 类并覆盖其 run() 方法来创建:
扩展语法
public class MyClass extends Thread { public void run() { System.out.println("This code is running in a thread"); } }
5. 如何在 Java 中获取输入?
"Scanner in = new Scanner(System.in); System.out.print(""Please enter hour 1: ""); int hour1 = in.nextInt(); System.out.print(""Please enter hour 2: ""); int hour2 = in.nextInt(); System.out.print(""Please enter minute 1: ""); int min1 = in.nextInt(); System.out.print(""Please enter minute 2: ""); int min2 = in.nextInt();"
6. 如何在Java中设置路径?
Windows 10和Windows 8
- 在搜索中,搜索并选择:系统(控制面板)
- 单击高级系统设置链接。
- 单击环境变量。 在系统变量部分中,找到 PATH 环境变量并选择它。 单击编辑。 如果 PATH 环境变量不存在,请单击新建。
- 在 Edit System Variable(或 New System Variable)窗口中,指定 PATH 环境变量的值。 单击确定。 单击确定关闭所有剩余的窗口。
- 重新打开命令提示符窗口,并运行您的 Java 代码。
Mac OS X的
要运行不同版本的 Java,请指定完整路径或使用 java_home 工具:
% /usr/libexec/java_home -v 1.8.0_73 –exec javac -version
Solaris 和 Linux
要确定路径是否设置正确:
在终端窗口中,输入:
% java -版本
如果可以找到它,这将打印 java 工具的版本。 如果版本较旧或您收到错误 java: Command not found,则说明路径设置不正确。
确定哪个 java 可执行文件是在 PATH 中找到的第一个可执行文件
在终端窗口中,输入:
% 哪个 java
7. Java中的枚举是什么?
枚举表示命名常量的列表。 在 Java 中,枚举定义了一个类类型。 枚举可以有构造函数、方法和实例变量。 它是使用 enum 关键字创建的。 默认情况下,每个枚举常量都是公共的、静态的和最终的。 即使枚举定义了一个类类型并且有构造函数,你也不能使用 new 来实例化一个枚举。 枚举变量的使用和声明方式与原始变量的使用和声明方式大致相同。
8. Java中的继承是什么?
一个类获取另一个类的属性(数据成员)和功能(方法)的过程称为继承。 继承的目的是提供代码的可重用性,这样一个类只需编写独特的特性,其余的公共属性和功能可以从另一个类扩展。
儿童班:
扩展另一个类的特性的类称为子类、子类或派生类。
家长班:
其属性和功能被另一个类使用(继承)的类称为父类、超类或基类。
9. 如何比较Java中的两个字符串?
"// These two have the same value
new String(""test"").equals(""test"") // --> true // ... but they are not the same object
new String(""test"") == ""test"" // --> false // ... neither are these
new String(""test"") == new String(""test"") // --> false // ... but these are because literals are interned by // the compiler and thus refer to the same object ""test"" == ""test"" // --> true "
10. Java中的抽象是什么?
对象是面向对象编程的构建块。 一个对象包含一些属性和方法。 我们可以通过访问修饰符将它们隐藏起来。 我们只能提供对其他程序所需功能和属性的访问。 这是在 OOPS 中实现抽象的一般过程。
11.java中什么是封装
封装背后的想法是向用户隐藏实现细节。 如果数据成员是私有的,则意味着它只能在同一个类中访问。 任何外部类都不能访问其他类的私有数据成员(变量)。
但是,如果我们设置公共 getter 和 setter 方法来更新(例如 void setName(String Name))和读取(例如 String getName())私有数据字段,则外部类可以通过公共方法访问这些私有数据字段。
12.什么是java中的集合?
集合就像将多个项目组合在一个单元中的容器。 例如,一罐巧克力、姓名列表等。
集合在每种编程语言中都有使用,当 Java 出现时,它还附带了一些集合类——向量、堆栈、哈希表、数组。
13.java中的api是什么?
Java 应用程序编程接口 (API) 是作为 Java 开发工具包 (JDK) 一部分的所有类的列表。 它包括所有 Java 包、类和接口,以及它们的方法、字段和构造函数。 这些预先编写的类为程序员提供了大量的功能。
14.如何在java中初始化数组?
"int[] arr = new int[5]; // integer array of size 5 you can also change data type
String[] cars = {""Volvo"", ""BMW"", ""Ford"", ""Mazda""};"
15. 如何在java中获取用户的输入?
"import java.util.Scanner; Scanner console = new Scanner(System.in); int num = console.nextInt(); console.nextLine() // to take in the enter after the nextInt() String str = console.nextLine();"
16. java中的静态是什么?
在 Java 中,静态成员是与类的实例不相关的类的成员。 相反,该成员属于类本身。 因此,您无需先创建类实例即可访问静态成员。
17. java中的包是什么?
Java 中的包用于对相关类进行分组。 将其视为文件目录中的文件夹。 我们使用包来避免名称冲突,并编写更好的可维护代码。 包分为两类:
内置包(来自 Java API 的包)
用户定义的包(创建自己的包)
18. java中如何对数组进行排序?
"import java. util. Arrays;
Arrays. sort(array);"
19、什么是java中的抽象类?
使用“abstract”关键字声明的类称为抽象类。 它可以有抽象方法(没有主体的方法)以及具体方法(有主体的常规方法)。 普通类(非抽象类)不能有抽象方法。
20. java中的方法是什么?
方法是一段代码,只有在被调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,它们也称为函数。
21.如何查看java版本?
在命令提示符/终端上执行 java -version。
22. java中的类是什么?
类(Java 等面向对象语言的基本构建块)是描述与该类实例相关的数据和行为的模板。 当您实例化一个类时,您会创建一个外观和感觉类似于同一类的其他实例的对象。 与类或对象关联的数据存储在变量中; 与类或对象相关的行为是通过方法实现的。
23.什么是核心java?
“Core Java”是 Sun 的术语,用于指 Java SE、标准版和一组相关技术,如 Java VM、CORBA 等。 这主要是为了区别于 Java ME 或 Java EE。 另外,请注意他们谈论的是一组库而不是编程语言。
24. 如何在chrome中启用java?
- 在 Java 控制面板中,单击安全选项卡
- 选择在浏览器中启用 Java 内容选项
- 单击应用,然后单击确定以确认更改
- 重新启动浏览器以启用更改
25. java中的字符串是什么?
String 是一个字符序列,例如“Hello”是一个 5 个字符的字符串。 在java中,字符串是一个不可变对象,这意味着它是常量,一旦创建就不能更改。
26. java中的异常是什么?
异常是在程序执行期间发生的事件,它破坏了程序指令的正常流程。
当方法中发生错误时,该方法会创建一个对象并将其交给运行时系统。 该对象称为异常对象,包含有关错误的信息,包括错误的类型和发生错误时程序的状态。 创建异常对象并将其交给运行时系统称为抛出异常。
在方法抛出异常后,运行时系统会尝试找到一些东西来处理它。 处理异常的一组可能的“东西”是已调用的方法的有序列表,以获取发生错误的方法。 方法列表称为调用堆栈。
27、为什么java中不支持多重继承?
Java 仅支持通过接口进行多重继承。 一个类可以实现任意数量的接口,但只能扩展一个类。 不支持多重继承,因为它会导致致命的钻石问题。
28. java中如何取字符串输入?
"import java.util.Scanner; // Import the Scanner class class MyClass { public static void main(String[] args) { Scanner myObj = new Scanner(System.in); // Create a Scanner object System.out.println(""Enter username""); String userName = myObj.nextLine(); // Read user input System.out.println(""Username is: "" + userName); // Output user input }
}"
29. java中的单例类是什么?
单例设计模式用于限制类的实例化,并确保 JVM 中只存在该类的一个实例。 换句话说,单例类是一个类,每个 JVM 实例一次只能有一个对象(类的一个实例)。
30. java中的数组是什么?
数组是一个容器对象,它包含固定数量的单一类型的值。 数组的长度是在创建数组时确定的。 创建后,它的长度是固定的。 您已经在“Hello World!”的 main 方法中看到了一个数组示例。 应用。 本节更详细地讨论数组。
将数组图示为 10 个框,编号为 0 到 9; 索引 0 表示数组中的第一个元素。
包含 10 个元素的数组。
数组中的每一项都称为一个元素,每个元素都通过其数字索引访问。 如上图所示,编号从 0 开始。例如,第 9 个元素将在索引 8 处访问。
31、什么是java中的垃圾回收?
Java 垃圾收集是一个自动过程。 程序员不需要显式标记要删除的对象。 垃圾收集实现存在于 JVM 中。 每个 JVM 都可以随心所欲地实现垃圾收集; 唯一的要求是它符合 JVM 规范。 尽管有许多 JVM,但 Oracle 的 HotSpot 是迄今为止最常见的。 它提供了一套强大而成熟的垃圾收集选项。
32. java为什么需要封装?
Java 中的封装是一种将代码和作用于数据(方法)的数据(变量)包装为一个单元的机制。 在封装中,一个类的变量对其他类是隐藏的,只能通过其当前类的方法访问。
33. java中的jvm是什么?
Java 虚拟机 (JVM) 是一种虚拟机,它使计算机能够运行 Java 程序以及用其他语言编写的程序,这些程序也被编译为 Java 字节码。 JVM 由一个规范详细描述,该规范正式描述了 JVM 实现所需的内容。
34.什么是java编程?
Java 是一种功能强大的通用编程语言。 它用于开发桌面和移动应用程序、大数据处理、嵌入式系统等。 据拥有 Java 的公司甲骨文称,Java 在全球 3 亿台设备上运行,这使得 Java 成为最流行的编程语言之一。
35、hashmap在java内部是如何工作的?
Java 中的 HashMap 基于散列原理。 它是一种数据结构,如果我们知道密钥,它允许我们在恒定时间 O(1) 内存储和检索对象。 在散列中,散列函数用于链接 HashMap 中的键和值。
36. 谁发明了java?
Java 最初由 Sun Microsystems(后来被 Oracle 收购)的 James Gosling 开发,并于 1995 年作为 Sun Microsystems Java 平台的核心组件发布。
37.如何执行java程序?
打开命令提示符窗口并转到保存 java 程序 (HelloWorld.java) 的目录。 …
输入'javac HelloWorld. java' 然后按回车编译你的代码。
现在,输入“HelloWorld”来运行你的程序。
您将能够看到打印在窗口上的结果。
38. 如何在java中获取用户的输入?
"import java.util.Scanner; // Import the Scanner class class MyClass { public static void main(String[] args) { Scanner myObj = new Scanner(System.in); // Create a Scanner object System.out.println(""Enter username""); String userName = myObj.nextLine(); // Read user input System.out.println(""Username is: "" + userName); // Output user input }
}"
39. java中的字节码是什么?
字节码是 Java 程序的编译格式。 一旦 Java 程序被转换为字节码,它就可以通过网络传输并由 Java 虚拟机 (JVM) 执行。 字节码文件通常具有 .class 扩展名。
40. java中如何设置classpath?
- 选择开始,选择控制面板,双击系统,然后选择高级选项卡。
- 单击环境变量。 在系统变量部分中,找到 PATH 环境变量并选择它。
- 在 Edit System Variable(或 New System Variable)窗口中,指定 PATH 环境变量的值。 单击确定。
41. java中如何连接数据库?
- 安装或定位您要访问的数据库。
- 包括 JDBC 库。
- 确保您需要的 JDBC 驱动程序位于您的类路径中。
- 使用 JDBC 库获取到数据库的连接。
- 使用连接发出 SQL 命令。
42. java中的枚举是什么?
枚举是一个特殊的“类”,它表示一组常量(不可更改的变量,如最终变量)。 要创建枚举,请使用 enum 关键字(而不是类或接口),并用逗号分隔常量。
43、如何卸载java?
- 单击“开始”
- 选择设置
- 选择系统
- 选择应用程序和功能
- 选择要卸载的程序,然后单击其卸载按钮
- 响应提示完成卸载
44. java中如何查找字符串中的重复字符?
"public class Example { public static void main(String argu[]) { String str = ""beautiful beach""; char[] carray = str.toCharArray(); System.out.println(""The string is:"" + str); System.out.print(""Duplicate Characters in above string are: ""); for (int i = 0; i < str.length(); i++) { for (int j = i + 1; j < str.length(); j++) { if (carray[i] == carray[j]) { System.out.print(carray[j] + "" ""); break; } } } }
}"
45. java中如何进行字符输入?
"import java.util.Scanner; public class CharacterInputExample1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print(""Input a character: ""); // reading a character char c = sc.next().charAt(0); //prints the character System.out.println(""You have entered ""+c); } } "
46. 如何在java中读取字符串?
"import java.util.Scanner; // Import the Scanner class class MyClass { public static void main(String[] args) { Scanner myObj = new Scanner(System.in); // Create a Scanner object System.out.println(""Enter username""); String userName = myObj.nextLine(); // Read user input System.out.println(""Username is: "" + userName); // Output user input }
}"
47. java中如何对数字进行四舍五入?
"import java.lang.Math; // Needed to use Math.round() class Program { public static void main( String args[] ) { double num1 = 74.65; System.out.println(Math.round(num1)); float num2 = 1337.345523f; System.out.println(Math.round(num2)); }
}"
48. 如何在java中获取当前日期?
"DateFormat df = new SimpleDateFormat(""dd/MM/yy HH:mm:ss"");
Date dateobj = new Date();
System.out.println(df.format(dateobj));"
49. java中的dao是什么?
Dao 是一个包含 JDBC 逻辑的简单 java 类。 Java 数据访问对象 (Java DAO) 是业务应用程序中的重要组件。 业务应用程序几乎总是需要访问关系数据库或对象数据库中的数据,而 Java 平台提供了许多访问这些数据的技术。
50. java中的awt是什么?
Abstract Window Toolkit (AWT) 是 Java 最初的依赖于平台的窗口、图形和用户界面小部件工具包,在 Swing 之前。 AWT 是 Java 基础类 (JFC) 的一部分 — 为 Java 程序提供图形用户界面 (GUI) 的标准 API。 AWT 还是许多 Java ME 配置文件的 GUI 工具包。 例如,连接设备配置配置文件需要移动电话上的 Java 运行时来支持抽象窗口工具包。
51、什么是java中的框架?
框架是预先编写的代码的大型主体(通常是许多类),您可以在其中添加自己的代码来解决特定领域中的问题。 也许您可以说框架使用您的代码,因为它通常是受控制的框架。 您可以通过调用框架的方法、继承和提供“回调”、侦听器或观察者模式的其他实现来使用框架。
52.如何更新java?
在 Windows 上手动更新 Java 通常是通过 Java 控制面板完成的。
Windows 10:在屏幕左下角的 Windows/Cortana 搜索框中键入“java”。 当弹出菜单出现时,选择位于应用程序部分的配置 Java。
53. 如何在命令提示符下运行java程序?
execute java <programName.java>
54.什么是java中的变量?
Java 变量是一块可以包含数据值的内存。 因此,变量具有数据类型。 数据类型在有关 Java 数据类型的文本中有更详细的介绍。 变量通常用于存储 Java 程序完成其工作所需的信息。
55.java和javascript有什么区别?
JavaScript 和 Java 之间的主要区别是:
1. JavaScript 用于前端开发,而 java 用于后端开发。 IE
JavaScript 负责网页的动态行为。 主要是JavaScript处理网站中的事件、cookies、ajax(Asynchronous JavaScript and XML)等。 JavaScript 是网页动态用户界面的核心,而 Java 是软件工程师最好的编程语言,可以与 JSP(Java 服务器页面)一起使用来处理后端。
2、Java Script是动态类型语言,Java是静态类型语言:即
在 JavaScript 中,可以更改一个变量的数据类型:
var string =“你好世界”;
字符串 = 4;
document.write(string); //输出为 4
document.write() 现在将在浏览器上打印“4”。
但是在Java中,一个变量的数据类型不能改变,Java显示错误。
整数编号 = 45;
数字=“你好世界”; //错误!!!!!!!
3. JavaScript 是一种脚本语言,而 Java 是一种编程语言:
与其他语言一样,Java 也需要一个编译器来构建和运行程序,而 JavaScript 脚本由浏览器读取和操作。
4. Java 和 JavaScript 的语法有很大不同。
例如:
JAVA中的Hello World程序:
public class hello { public static void main(String[] args) { System.out.println("Hello World"); } } Hello World Program in JavaScript: <script> document.write("Hello World"); </script>
5. 两种语言都是面向对象的,但 JavaScript 是部分面向对象的语言,而 Java 是完全面向对象的语言。 JavaScript 可以在使用或不使用对象的情况下使用,但 Java 不能在不使用类的情况下使用。
56. java中如何统计一个字符在字符串中出现的次数?
"import java.util.HashMap; public class EachCharCountInString
{ private static void characterCount(String inputString) { //Creating a HashMap containing char as a key and occurrences as a value HashMap<Character, Integer> charCountMap = new HashMap<Character, Integer>(); //Converting given string to char array char[] strArray = inputString.toCharArray(); //checking each char of strArray for (char c : strArray) { if(charCountMap.containsKey(c)) { //If char 'c' is present in charCountMap, incrementing it's count by 1 charCountMap.put(c, charCountMap.get(c)+1); } else { //If char 'c' is not present in charCountMap, //putting 'c' into charCountMap with 1 as it's value charCountMap.put(c, 1); } } //Printing inputString and charCountMap System.out.println(inputString+"" : ""+charCountMap); } public static void main(String[] args) { characterCount(""Java J2EE Java JSP J2EE""); characterCount(""All Is Well""); characterCount(""Done And Gone""); }
}"
57.如何在java中读取excel文件?
"FileInputStream fis = new FileInputStream(new File(""WriteSheet.xlsx"")); XSSFWorkbook workbook = new XSSFWorkbook(fis); XSSFSheet spreadsheet = workbook.getSheetAt(0); Iterator < Row > rowIterator = spreadsheet.iterator(); while (rowIterator.hasNext()) { row = (XSSFRow) rowIterator.next(); Iterator < Cell > cellIterator = row.cellIterator(); while ( cellIterator.hasNext()) { Cell cell = cellIterator.next(); switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: System.out.print(cell.getNumericCellValue() + "" tt ""); break; case Cell.CELL_TYPE_STRING: System.out.print( cell.getStringCellValue() + "" tt ""); break; } } System.out.println(); } fis.close();"
58. java中的方法是什么?
函数在 Java 中也称为方法。
59. 如何在java中读取csv文件?
"public static void readDataLineByLine(String file) { try { // Create an object of filereader // class with CSV file as a parameter. FileReader filereader = new FileReader(file); // create csvReader object passing // file reader as a parameter CSVReader csvReader = new CSVReader(filereader); String[] nextRecord; // we are going to read data line by line while ((nextRecord = csvReader.readNext()) != null) { for (String cell : nextRecord) { System.out.print(cell + ""t""); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } "
60. windows下如何查看java版本?
在命令提示符下键入 java -version。
61. java中的public static void main是什么?
这是 main 方法的访问修饰符。 它必须是公共的,以便 java 运行时可以执行此方法。 请记住,如果您将任何方法设为非公开,则任何程序都不允许执行该方法,存在一些访问限制。 所以这意味着 main 方法必须是公开的。 让我们看看如果我们将 main 方法定义为 non-public 会发生什么。
当 java 运行时启动时,不存在该类的对象。 这就是为什么 main 方法必须是静态的,以便 JVM 可以将类加载到内存中并调用 main 方法。 如果 main 方法不是静态的,JVM 将无法调用它,因为该类的对象不存在。
Java 编程要求每个方法都提供返回类型。 Java main 方法不返回任何内容,这就是它的返回类型为 void 的原因。 这样做是为了让事情变得简单,因为一旦 main 方法执行完毕,java 程序就会终止。 所以返回任何东西都没有意义,JVM对返回的对象没有什么可以做的。 如果我们尝试从 main 方法返回一些东西,它会将编译错误作为意外的返回值。
62、为什么我们在java中使用接口?
它用于实现完全抽象。 由于java在类的情况下不支持多重继承,但是通过使用接口可以实现多重继承。 它也用于实现松散耦合。 接口用于实现抽象。
63、java中序列化的目的是什么?
对象序列化是用于将对象的状态转换为字节流的过程,字节流可以持久化到磁盘/文件中,也可以通过网络发送到任何其他正在运行的 Java 虚拟机。 从字节流创建对象的逆过程称为反序列化。
64. java中什么是函数式接口?
Java 中的函数式接口是只包含一个抽象(未实现)方法的接口。 除了单个未实现的方法之外,功能接口可以包含具有实现的默认方法和静态方法。
65、java中的this关键字是什么?
this 关键字引用方法或构造函数中的当前对象。 this 关键字最常见的用途是消除类属性和同名参数之间的混淆(因为类属性被方法或构造函数参数所遮蔽)。
66、java最初是怎么命名的?
这种语言最初被称为橡树,因为它仍然是高斯林办公室外的一棵橡树。 后来这项任务通过了格林的名字,最后改名为Java,来自Java,一个咖啡品牌,来自印度尼西亚的咖啡。
67. java中如何去除数组中的重复元素?
"public class Change
{ public static int removeDuplicate(int[] arrNumbers, int num) { if(num == 0 || num == 1) { return num; } int[] arrTemporary = new int[num]; int b = 0; for(int a = 0; a < num - 1; a++) { if(arrNumbers[a] != arrNumbers[a + 1]) { arrTemporary[b++] = arrNumbers[a]; } } arrTemporary[b++] = arrNumbers[num - 1]; for(int a = 0; a < b; a++) { arrNumbers[a] = arrTemporary[a]; } return b; } public static void main(String[] args) { int[] arrInput = {1, 2, 3, 3, 4, 5, 5, 6, 7, 8}; int len = arrInput.length; len = removeDuplicate(arrInput, len); // printing elements for(int a = 0; a < len; a++) { System.out.print(arrInput[a] + "" ""); } }
} "
68. java中的 throw 和 throws 有什么区别?
Throw 是一个关键字,用于在函数内或代码块内的程序中显式抛出异常。 Throws 是方法签名中使用的关键字,用于声明可能在执行代码时由函数抛出的异常。
69. java中的类路径是什么?
CLASSPATH 变量是告诉应用程序(包括 JDK 工具)在哪里查找用户类的一种方式。 (属于 JRE、JDK 平台和扩展的类应通过其他方式定义,例如引导类路径或扩展目录。)
70. 为什么Java平台独立?
在编译时,java编译器将源代码转换成JVM可解释的中间形式集合,称为字节码。 这与其他编译器生成的编译代码不同,是不可执行的。 java 虚拟机解释器处理不可执行的代码并在任何特定的机器上执行它。 因此,平台依赖性被删除。
71. 什么是方法重载? 为什么在 Java 中使用它?
方法覆盖是一个过程,其中子类从父类继承的方法根据子类的要求进行修改。 它在对象共享公共属性的分层系统设计中很有帮助。
示例:Animal 类具有毛皮颜色、声音等属性。 现在 dog 和 cat 类继承了这些属性并将特定于它们的值分配给属性。
class Animal { void sound(){ } } class Cat extends Animal{ void sound(){ System.out.println("Meow"); } } class Dog extends Animal{ void sound(){ System.out.println("Bark"); } } public class OverRide{ public static void main(String args[]){ Cat c=new Cat(); c.sound(); Dog d=new Dog(); d.sound(); } }
72. 什么是方法重载? 为什么在 Java 中使用它?
如果一个类中的多个函数具有相同的名称但不同的函数定义,则称为方法重载。
它用于使 java 函数具有多种用途,从而使代码更清晰,API 更简单。
示例:
println() prints any data type passed to it as a string. public class Add_Overload { void add(int x, int y){ System.out.println(x+y); } void add(double x, double y){ System.out.println(x+y); } void add(double x, int y){ System.out.println(x+y); } public static void main(String args[]){ Add_Overload a= new Add_Overload(); a.add(10,20); a.add(20.11,11.22); a.add(20.11,2); }
73. 为什么 Java 很健壮?
由于以下特性,Java 被称为健壮:
– 缺少指针:Java 没有使其安全的指针
– 垃圾收集:Java 自动从内存中清除未使用的未使用对象
– Java 具有强大的内存管理功能。
– Java 支持动态链接。
74. 为什么 Java 是安全的?
Java 不允许指针。 指针可以访问系统中变量的实际位置。 此外,java 程序是只能在 JVM 中运行的字节码可执行文件。 因此,java 程序无法访问它们正在执行的主机系统,从而使其更加安全。 Java 有自己的内存管理系统,它也增加了安全特性。
75. JDK、JRE 和 JVM 有什么区别?
JDK是用于开发Java程序的软件环境。 它是可用于开发各种应用程序的库的集合。 JRE(Java Runtime Environment)是允许Java程序运行的软件环境。 所有 Java 应用程序都在 JRE 中运行。 JVM(java虚拟机)是一个负责将java程序转换成字节码可执行文件的环境。 JDK 和 JRE 是平台相关的,而 JVM 是平台无关的。
76、Java有什么特点?
Java 是一种纯面向对象的编程语言,具有以下特点:
– 高性能
– 独立于平台
- 强大的
– 多线程
- 简单的
- 安全的
77. Java 支持指针吗?
java中不支持指针以使其更安全。
您也可以阅读本 Java 教程以更好地理解.
78. 为什么Java中使用静态变量?
静态方法和变量在 java 中用于跨所有对象维护实体的单个副本。 当一个变量被声明为静态变量时,它被该类的所有实例共享。 实例对变量所做的更改反映在所有实例中。
public class static_variable { static int a; static int b; static_variable(){ a=10; } int calc_b(){ b=a+10; return b; }
void print_val(){ System.out.println(this.b);
}
public static void main(String args[]){ static_variable v=new static_variable(); v.calc_b(); v.print_val(); static_variable v1=new static_variable(); v1.print_val();
}
}
79. 什么是静态方法、静态变量和静态块?
静态方法是可以在类内部直接调用而无需使用对象的方法。
静态变量是类的所有实例之间共享的变量。
静态块是在类加载到内存时加载的代码块。
80.静态方法有什么用?
当不需要实例化类时使用静态方法。 如果方法不会更改或覆盖,则可以将其设为静态。
81.静态变量有什么用?
静态变量用于维护某些数据的公共状态,该状态可由类的所有实例修改和访问。
82. 接口有哪些?
接口是常量、静态方法、抽象方法和默认方法的集合。 接口中的方法没有主体。
83、Java中的抽象是如何实现的?
在 Java 中,抽象是通过使用抽象类和抽象方法来实现的。
84. 为什么字符串在 Java 中是不可变的?
java中的字符串经常用于hashmap键。 现在,如果有人更改字符串的值,则会导致严重的差异。 因此字符串是不可变的。
85. Java 中的包装类是什么?
包装类是 java 支持的一种功能,它接受原始数据类型作为输入,然后将它们转换为字符串对象,以便可以将它们与其他对象进行比较。
86、Java中的接口可以继承吗?
是的,接口可以在java中继承。 java通过可继承接口支持混合继承和层次继承。
87. Java 接口中允许使用静态方法吗?
是的,Java 接口中允许使用静态方法。 它们被视为默认方法,因此不需要实现。
88. Java中的垃圾回收是如何完成的?
Java 有一个内置的自动垃圾收集机制。 除了内置机制外,还可以使用系统类的 gc() 手动启动垃圾收集。
89. 一个类中可以有两个主要方法吗?
是的,可以有两种主要方法。 这也意味着main方法被重载了。 但是在执行的时候,JVM只调用了原来的main方法,并没有调用重载的main方法。
90.私有变量可以继承吗?
私有变量具有特定于类的可用性范围。 它们只能通过它们所在的类的方法来访问。 因此,当类被继承时,子类不会继承私有变量。
91. 声明后数组的大小可以增加吗?
声明后无法增加 java 数组的大小。 这是 Java 数组的限制。
92. 下面的数组在内存中的大小是多少?
int a[]=新的 int[10];
每个 int 块占用 4 个字节的大小,数组中有 10 个这样的块。 因此,数组在内存中的大小为 40 字节。
93、java支持多少种数据类型?
Java 支持 8 种原始数据类型,即 byte、short、int、long、float、double、char、boolean。
94. 如何在java中找出一个字符的ASCII值?
int c=char('A') 将在 java 中给出 A 的 ASCII 值。
95. 如何从控制台获取字符串作为用户输入?
我们必须首先实例化一个输入阅读器类。 有很多可用的选项,其中一些是 BufferedReader、InputStreamReader Scanner。
然后可以使用类的相关功能。 最常用的一种是 Scanner 类的 nextLine()。
96. 如何查看字符串的大小?
可以使用 length() 函数检查 java 中字符串的大小。
97. 我们如何在 Java 中对元素列表进行排序?
内置的排序实用程序 sort() 可用于对元素进行排序。 我们也可以编写自定义函数,但建议使用内置函数作为高度优化的函数。
98. 如果我们对字符串列表进行排序,这些字符串将如何排列? 字符串将按字母升序排列。
99. Java 中 throw 和 throws 的区别?
Throw 用于实际抛出 java.lang.Throwable 类的实例,这意味着您可以使用 throw 关键字同时抛出错误和异常,例如
throw new IllegalArgumentException("size must be multiple of 2")
另一方面, throws 用作方法声明的一部分,并指示此方法抛出哪种异常,以便其调用者可以处理它们。 在 Java 的 throws 子句中必须声明任何未处理的检查异常。 与上一个问题一样,这是另一个常见的 Java 面试问题,来自错误和异常主题,但太容易回答了。
100. 我们可以在 Java 中制作一个 volatile 数组吗?
是的,您可以在 Java 中使数组易变,但只能是指向数组的引用,而不是整个数组。 我的意思是,如果一个线程将引用变量更改为指向另一个数组,这将提供 volatile 保证,但如果多个线程正在更改单个数组元素,则它们不会在 volatile 修饰符提供的保证之前发生。
101. 我可以在long变量中存储一个double值而不进行强制转换吗?
不,你不能在不强制转换的情况下将 double 值存储到 long 变量中,因为 double 的范围超过 long,我们需要输入强制类型转换。 回答这个问题并不难,但是许多开发人员会因为混淆 Java 中 double 和 long 之间哪个更大而弄错了。
102. 哪个会占用更多内存,int 还是 Integer?
Integer 对象将占用更多内存,因为 Integer 是一个对象,它存储有关对象的元数据开销,但 int 是原始类型,因此占用的空间更少。
103.嵌套静态类和顶级类的区别?
公共顶级类必须与源文件的名称相同,嵌套的静态类没有这样的要求。 嵌套类始终位于顶级类中,您需要使用顶级类的名称来引用嵌套的静态类,例如 HashMap.Entry 是嵌套的静态类,其中 HashMap 是顶级类,Entry 是嵌套的静态类。
104.final关键字有什么用?
final关键字用于在java中声明实体的最终状态。 实体的值不能在应用程序的后期修改。 实体可以是变量、类、对象等。
它用于防止在 java 应用程序中进行不必要的修改。
105.深拷贝和浅拷贝有什么区别?
java中的浅拷贝将一个对象的所有值和属性复制到另一个对象,并且两个对象都引用相同的内存位置。
深拷贝是创建具有与被复制对象相同的值和属性的对象,但两个对象引用不同的内存位置。
106、默认构造函数有什么用?
默认构造函数是在声明类的对象后立即调用的构造函数。 默认构造函数是未参数化的。 默认构造函数的一般用途是在类变量的初始化中。
class ABC{ int i,j; ABC(){ i=0; j=0; } }
这里 ABC() 是一个默认构造函数。
107.什么是对象克隆?
对象克隆是创建类对象的精确副本的过程。 新创建的对象的状态与用于克隆的对象相同。
clone() 方法用于克隆对象。 使用 clone 方法完成的克隆是深拷贝的一个例子。
108、为什么要使用静态块?
它们的主要功能是初始化静态变量。 如果有多个静态块,它们将按照它们以自上而下的方式写入的顺序执行。
109.java中this关键字有什么用?
此关键字用于在 java 中使用当前对象引用实体。 它是一个多用途关键字,可提供各种功能
110.java中String和String Builder类有什么区别?
字符串是不可变的,而字符串 Builder 类是可变的。 字符串生成器类也是同步的。
111.如何计算一个物体的大小?
对象的大小可以通过将实例化对象的类的变量的大小相加来计算。
如果一个类有一个整数,其中定义了一个 double 变量,那么该类的对象的大小是 size(int)+size(double)。
如果有一个数组,那么对象的大小就是数组的长度*数组数据类型的大小。
112. == 和 .equals() 有什么区别?
“==”是一个运算符,而 .equals() 是一个函数。
“==”检查引用是否共享相同的位置,而 .equals() 检查两个对象值在评估时是否相同。
面向经验丰富的专业人员的 Java 面试问题
1、什么是java中的序列化?
对象序列化是用于将对象的状态转换为字节流的过程,字节流可以持久化到磁盘/文件中,也可以通过网络发送到任何其他正在运行的 Java 虚拟机。 从字节流创建对象的逆过程称为反序列化。
2. 什么是java中的同步?
同步是处理多线程请求的资源可访问性的过程。 同步的主要目的是避免线程干扰。 有时当多个线程尝试访问共享资源时,我们需要确保该资源一次只能由一个线程使用。 实现这一点的过程称为同步。 java中的同步关键字创建了一个称为临界区的代码块。
3、java中的spring是什么?
Spring Framework 是Java 平台的应用程序框架和控制容器反转。 任何 Java 应用程序都可以使用该框架的核心功能,但也有一些扩展可用于在 Java EE(企业版)平台之上构建 Web 应用程序。
4.如何在java中创建不可变类?
- 将类声明为 final 使其无法扩展。
- 将所有字段设为私有,以便不允许直接访问。
- 不要为变量提供 setter 方法。
- 将所有可变字段设为最终字段,以便其值只能分配一次。
- 通过执行深层复制的构造函数初始化所有字段。
- 在 getter 方法中执行对象的克隆以返回副本而不是返回实际的对象引用。
5.java中的servlet是什么?
servlet 是一种 Java 编程语言类,用于扩展托管通过请求-响应编程模型访问的应用程序的服务器的功能。 尽管 servlet 可以响应任何类型的请求,但它们通常用于扩展 Web 服务器托管的应用程序。 对于此类应用程序,Java Servlet 技术定义了特定于 HTTP 的 servlet 类。
所有 servlet 都必须实现 Servlet 接口,该接口定义了生命周期方法。 实现通用服务时,您可以使用或扩展随 Java Servlet API 提供的 GenericServlet 类。 HttpServlet 类提供了一些方法,例如 doGet 和 doPost,用于处理特定于 HTTP 的服务。
6. java中的xname类是什么?
扩展名称,由(任意)命名空间名称和附近名称组成。 XName 示例是不变的,可以共享。
7. 静态方法可以引用非静态变量吗?
是的,静态方法可以引用非静态变量。 可以通过创建变量所属类的对象来完成。
8. 如果有多个静态块,静态块如何执行?
多个静态块按照它们以自上而下的方式写入的顺序执行。 首先执行顶部块,然后执行后续块。
9.我们可以重写静态方法吗?
静态方法不能被覆盖,因为它们不会在运行时被分派给对象实例。 在他们的情况下,编译器决定调用哪个方法。
10.java中的所有类都继承于哪个类?
java中的所有类都继承自Object类,它是所有类的超类。
11.什么是类加载器?
ClassLoader 是 JVM 的一个子系统,用于加载类文件。 每当我们运行 java 程序时,它首先由类加载器加载。 Java中有三个内置的类加载器。
- 引导类加载器: 这是第一个类加载器,它是扩展类加载器的超类。 它加载包含Java标准版所有类文件的rt.jar文件,如java.lang包类、java.net包类、java.util包类、java.io包类、java.sql包类等。
- 扩展类加载器: 这是 Bootstrap 的子类加载器和 System 类加载器的父类加载器。 它加载位于 $JAVA_HOME/jre/lib/ext 目录中的 jar 文件。
- 系统/应用程序类加载器: 这是扩展类加载器的子类加载器。 它从类路径加载类文件。 默认情况下,类路径设置为当前目录。 您可以使用“-cp”或“-classpath”开关更改类路径。 因此它也被称为应用程序类加载器。
12.Java中Serializable和Externalizable的区别?
Serializable 接口用于使 Java 类可序列化,以便它们可以通过网络传输或它们的状态可以保存在磁盘上,但它利用了 JVM 内置的默认序列化,这是昂贵、脆弱且不安全的。 Externalizable 允许您完全控制序列化过程,指定自定义二进制格式并添加更多安全措施。
13. 我们可以在 switch case 中使用 String 吗?
我们可以在 switch case 中使用 String ,但它只是语法糖。 内部字符串哈希码用于开关。 有关更多解释和讨论,请参阅详细答案。
14.什么是对象序列化和反序列化?
使用 java.io.Serializable 将对象转换为字节序列称为对象序列化。 反序列化是从字节流中恢复对象状态的过程。
15. Java中checked和unchecked exception的区别?
编译器在编译时检查已检查的异常。 方法必须处理检查的异常或在其 throws 子句中声明它们。 这些是 Exception 的子类,但不是 RuntimeException 的后代。 未经检查的异常是 RuntimeException 的后代,编译器在编译时不检查。 这个问题现在变得不那么流行了,你只会在采访小公司时发现这个问题,投资银行和初创公司都从这个问题上移开。
16. ++ 运算符在 Java 中是线程安全的吗?
不,它不是线程安全的运算符,因为它涉及多个指令,例如读取一个值、对其进行归罪并将其存储回内存中,这些指令可以在多个线程之间重叠。
17. 哪个类包含克隆方法? 可克隆还是对象?
java.lang.Cloneable 是一个标记接口,不包含任何方法 clone 方法是在对象类中定义的。 它还知道 clone() 是一种本机方法,这意味着它是用 C 或 C++ 或任何其他本机语言实现的。
Java 编程面试题
1.java中的接口是什么?
Java 编程语言中的接口是一种抽象类型,用于指定类必须实现的行为。 它们类似于协议。 接口使用 interface 关键字声明,并且只能包含方法签名和常量声明。
2.如何在java中声明数组?
"To declare an array, define the variable type with square brackets: String[] cars;
We have now declared a variable that holds an array of strings. To insert values to it, we can use an array literal - place the values in a comma-separated list, inside curly braces: String[] cars = {""Volvo"", ""BMW"", ""Ford"", ""Mazda""};
To create an array of integers, you could write: int[] myNum = {10, 20, 30, 40};"
3.java中的多态是什么?
多态性是 OOP 的特性之一,它允许我们以不同的方式执行单个操作。 例如,假设我们有一个 Animal 类,它有一个方法 sound()。 因为这是一个通用类,所以我们不能给它一个像 Roar、Meow、Oink 等的实现。我们必须给出一个通用的消息。
public class Animal{ ... public void sound(){ System.out.println(""Animal is making a sound""); }
}
Now lets say we two subclasses of Animal class: Horse and Cat that extends (see Inheritance) Animal class. We can provide the implementation to the same method like this: public class Horse extends Animal{
... @Override public void sound(){ System.out.println(""Neigh""); }
}
and public class Cat extends Animal{
... @Override public void sound(){ System.out.println(""Meow""); }
}
As you can see that although we had the common action for all subclasses sound() but there were different ways to do the same action. This is a perfect example of polymorphism (feature that allows us to perform a single action in different ways). It would not make any sense to just call the generic sound() method as each Animal has a different sound. Thus we can say that the action this method performs is based on the type of object."
4. java中如何将string转int?
"class Scratch{ public static void main(String[] args){ String str = ""50""; System.out.println( Integer.parseInt( str )); // Integer.parseInt() }
}"
5. java中如何将int转成string?
class Convert { public static void main(String args[]) { int a = 786; int b = -986; String str1 = Integer.toString(a); String str2 = Integer.toString(b); System.out.println(""String str1 = "" + str1); System.out.println(""String str2 = "" + str2); }
6. 为什么字符串在java中是不可变的?
字符串在 Java 中是不可变的,因为字符串对象缓存在字符串池中。 由于缓存的字符串文字在多个客户端之间共享,因此总是存在风险,即一个客户端的操作会影响所有另一个客户端。 例如,如果一个客户端将字符串“ABC”的值更改为“abc”,则所有其他客户端也将看到该值,如第一个示例中所述。 由于 String 对象的缓存从性能原因来看很重要,因此通过使 String 类不可变来避免这种风险。 同时,String 是最终的,因此没有人可以通过扩展和覆盖行为来破坏 String 类的不变量,例如不变性、缓存、哈希码计算等。
7. 如何在 java 中将整数转换为字符串?
class ABC
{ public static void main(String args[]) { int a = 789; int b = 123; String str1 = Integer.toString(a); String str2 = Integer.toString(b); System.out.println(""String str1 = "" + str1); System.out.println(""String str2 = "" + str2); }
8、如何编译java程序?
打开命令提示符窗口并转到保存 java 程序的目录 (MyFirstJavaProgram.java)。 …
键入'javac MyFirstJavaProgram。 java'然后按回车编译你的代码
9. java中如何将char转成string?
public class CharToStringExample2{
public static void main(String args[]){
char c='M';
String s=Character.toString(c);
System.out.println(""String is: ""+s);
}}
10. java中的包装类是什么?
包装类用于将原始数据类型转换为对象,例如 int 到 Integer 等。
11.如何在java中迭代地图?
import java.util.Map; import java.util.HashMap; class IterationDemo { public static void main(String[] arg) { Map<String,String> m = new HashMap<String,String>(); // enter name/url pair m.put(""a"", 1); m.put(""b"", 2); m.put(""c"", 3); m.put(""d"", 4); // using for-each loop for iteration over Map.entrySet() for (Map.Entry<String,String> entry : m.entrySet()) System.out.println(""Key = "" + entry.getKey() + "", Value = "" + entry.getValue()); } }
12. java中如何将char转换为int?
public class JavaExample{ public static void main(String args[]){ char ch = '10'; int num = Integer.parseInt(String.valueOf(ch)); System.out.println(num); }
}
13、什么是java中的接口?
Java 中的接口类似于类,但接口的主体只能包含抽象方法和最终字段(常量)。 类通过为接口声明的每个方法提供代码来实现接口。
14. java中如何分割字符串?
String string = ""004-034556"";
String[] parts = string.split(""-"");
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556
14、如何在java中读取文件?
import java.io.*; public class Read { public static void main(String[] args)throws Exception { File file = new File(""C:\Users\LBL\Desktop\test.txt""); BufferedReader br = new BufferedReader(new FileReader(file)); String st; while ((st = br.readLine()) != null) System.out.println(st); } }
15、如何在java中使用scanner?
import java.util.Scanner; class classname{ public methodname(){ //Scanner declaration Scanner s_name = new Scanner(System.in); //Use Scanner to take input int val = s_name.nextInt(); }
}
16. 如何在java中反转一个数字?
class Reverse
{ public static void main(String args[]) { int num=564; int reverse =0; while( num != 0 ) { reverse = reverse * 10; reverse = reverse + num%10; num = num/10; } System.out.println(""Reverse is: ""+reverse); }
}
17. java中的实例是什么?
Java中的实例变量被对象用来存储它们的状态。 在没有 STATIC 关键字的情况下定义且在任何方法声明之外的变量是特定于对象的,称为实例变量。 之所以这样称呼它们,是因为它们的值是特定于实例的,并且不在实例之间共享。
18. java中如何将char数组转换为字符串?
class CharArrayToString
{ public static void main(String args[]) { // Method 1: Using String object char[] ch = {'g', 'o', 'o', 'd', ' ', 'm', 'o', 'r', 'n', 'i', 'n', 'g'}; String str = new String(ch); System.out.println(str); // Method 2: Using valueOf method String str2 = String.valueOf(ch); System.out.println(str2); }
}
19、什么是java中的maven?
Maven是一个强大的基于POM(项目对象模型)的项目管理工具。 它用于项目构建、依赖和文档。
它像 ANT 一样简化了构建过程。 但是它比ANT先进太多了。
20、什么是java中的数组?
数组是一个容器对象,它包含固定数量的单一类型的值。 数组的长度是在创建数组时确定的。 创建后,它的长度是固定的。 您已经在“Hello World!”的 main 方法中看到了一个数组示例。 应用。
21、什么是java中的applet?
小程序是一种特殊的 Java 程序,在支持 Java 的浏览器中运行。 这是第一个可以使用浏览器在网络上运行的 Java 程序。 小程序通常嵌入在网页中并在浏览器中运行。
换句话说,我们可以说 Applet 是小型 Java 应用程序,可以在 Internet 服务器上访问、通过 Internet 传输,并且可以作为 Web 文档的一部分自动安装和运行。
22.什么是java中的方法覆盖?
class Human{ //Overridden method public void eat() { System.out.println(""Human is eating""); }
}
class Boy extends Human{ //Overriding method public void eat(){ System.out.println(""Boy is eating""); } public static void main( String args[]) { Boy obj = new Boy(); //This will call the child class version of eat() obj.eat(); }
}
22.如何查看java是否安装?
- 单击“开始”
- 选择控制面板
- 选择程序
- 单击程序和功能
- 列出已安装的 Java 版本
23. java中如何返回一个数组?
import java.util.*;
public class Main
{
public static String[] return_Array() { //define string array String[] ret_Array = {""Java"", ""C++"", ""Python"", ""Ruby"", ""C""}; //return string array return ret_Array; } public static void main(String args[]) { //call method return_array that returns array String[] str_Array = return_Array(); System.out.println(""Array returned from method:"" + Arrays.toString(str_Array)); }
}
24. java中如何产生随机数?
public static double getRandomNumber(){ double x = Math.random(); return x;
}
25. java中的泛型是什么?
在定义类、接口和方法时,泛型使类型(类和接口)成为参数。 就像在方法声明中使用的更熟悉的形式参数一样,类型参数为您提供了一种通过不同输入重用相同代码的方法。 区别在于形式参数的输入是值,而类型参数的输入是类型。
26、什么是java中的构造函数?
Java 中的构造函数是一种用于初始化对象的特殊方法。 创建类的对象时调用构造函数。
27. java中如何求数组的长度?
class ArrayLengthFinder { public static void main(String[] arr) { // declare an array int[] array = new int[10]; array[0] = 12; array[1] = -4; array[2] = 1; // get the length of array int length = array.length; System.out.println(""Length of array is: "" + length); }
}
28. 什么是java中的重写?
方法覆盖是指派生类方法对基类方法进行更具体定义的覆盖过程。
仅当两个类具有 is-a 关系时才执行方法覆盖。 这意味着类必须具有继承。 换句话说,它是使用继承关系在两个类之间执行的。
在重写中,两个类的方法必须具有相同的名称和相同数量的参数。
方法覆盖也称为运行时多态性,因为调用方法是由 JVM 在运行时决定的。
重写的主要好处是能够定义特定于特定子类类型的方法。
29.如何在java中创建文件?
打开一个文本文件,用扩展名 .java 保存它。
30. java中的实例变量是什么?
Java中的实例变量被对象用来存储它们的状态。 在没有 STATIC 关键字的情况下定义且在任何方法声明之外的变量是特定于对象的,称为实例变量。 之所以这样称呼它们,是因为它们的值是特定于实例的,并且不在实例之间共享。
31、如何在java中迭代hashmap?
import java.util.Map; import java.util.HashMap; class IterationDemo { public static void main(String[] arg) { Map<String,String> g = new HashMap<String,String>(); // enter name/url pair g.put(""1"":""One""); g.put(""2"":""Two""); // using for-each loop for iteration over Map.entrySet() for (Map.Entry<String,String> entry : g.entrySet()) System.out.println(""Key = "" + entry.getKey() + "", Value = "" + entry.getValue()); } }
32. java中如何分割字符串?
public class JavaExample{ public static void main(String args[]){ String s = "" ,ab;gh,bc;pq#kk$bb""; String[] str = s.split(""[,;#$]""); //Total how many substrings? The array length System.out.println(""Number of substrings: ""+str.length); for (int i=0; i < str.length; i++) { System.out.println(""Str[""+i+""]:""+str[i]); } }
}
33. java中如何对数组进行排序?
public class InsertSort { public static void main (String [] args) { int [] array = {10,20,30,60,70,80,2,3,1}; int temp; for (int i = 1; i < array.length; i++) { for (int j = i; j > 0; j--) { if (array[j] < array [j - 1]) { temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; } } } for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } }
}
34. 为什么java中的main方法是静态的?
Java main() 方法始终是静态的,因此编译器可以在不创建对象或在创建类的对象之前调用它。 在任何 Java 程序中,main() 方法都是编译器开始执行程序的起点。 因此,编译器需要调用 main() 方法。
35. 如何逐字反转java中的字符串?
import java.util.*;
class ReverseString
{ public static void main(String args[]) { String original, reverse = """"; Scanner in = new Scanner(System.in); System.out.println(""Enter a string to reverse""); original = in.nextLine(); int length = original.length(); for (int i = length - 1 ; i >= 0 ; i--) reverse = reverse + original.charAt(i); System.out.println(""Reverse of the string: "" + reverse); }
}
36. java中如何将字符串转换为日期?
String string = ""January 2, 2010"";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(""MMMM d, yyyy"", Locale.ENGLISH);
LocalDate date = LocalDate.parse(string, formatter);
System.out.println(date); // 2010-01-02
37. 如何在java中读取字符串?
Scanner sc= new Scanner(System.in); //System.in is a standard input stream.
System.out.print(""Enter a string: "");
String str= sc.nextLine(); //reads string.
38. java中如何将字符串转换为整数?
String string1 = ""100"";
String string2 = ""50"";
String string3 = ""20""; int number1 = Integer.decode(string1);
int number2 = Integer.decode(string2); int number3 = Integer.decode(string3); System.out.println(""Parsing String """" + string1 + """": "" + number2);
System.out.println(""Parsing String """" + string2 + """": "" + number2);
System.out.println(""Parsing String """" + string3 + """": "" + number3);
39. java中如何对arraylist进行排序?
import java.util.*;
public class ArrayListOfInteger { public static void main(String args[]){ ArrayList<Integer> arraylist = new ArrayList<Integer>(); arraylist.add(11); arraylist.add(2); arraylist.add(7); arraylist.add(3); /* ArrayList before the sorting*/ System.out.println(""Before Sorting:""); for(int counter: arraylist){ System.out.println(counter); } /* Sorting of arraylist using Collections.sort*/ Collections.sort(arraylist); /* ArrayList after sorting*/ System.out.println(""After Sorting:""); for(int counter: arraylist){ System.out.println(counter); } }
}
40. java中如何求字符串的长度?
要在 Java 中计算字符串的长度,可以使用 Java 字符串类的内置 length() 方法。
在 Java 中,字符串是使用字符串类创建的对象,length() 方法是该类的公共成员方法。 因此,任何字符串类型的变量都可以使用 . (点)运算符。
length() 方法计算字符串中的字符总数。
41. java中的数据类型是什么?
java中的数据类型指定java中的变量可以存储的值的类型。
42、什么是java中的hashmap?
HashMap 是一个基于 Map 的集合类,用于存储 Key & value 对,记为 HashMap 或哈希映射. 此类不保证地图的顺序。 它类似于 Hashtable 类,不同之处在于它是不同步的并允许空值(空值和空键)。
43. java中的流是什么?
Java 中的 Stream 可以定义为来自源的一系列元素。 Streams 支持对元素的聚合操作。 这里元素的来源是指为 Stream 提供数据的 Collection 或 Array。
Stream 保持元素的顺序与源中的顺序相同。 聚合操作是允许我们快速清晰地表达对流元素的常见操作的操作。
44. 如何在java中将double转为字符串?
public class D2S{
public static void main(String args[]){
double d=1.2222222;
String s=Double. toString(d);
System. out. println(s);
}}
45. java中如何声明数组?
int arr[]=new int[10];
46. java中如何替换字符串中的字符?
String replace(char oldChar, char newChar):它将所有出现的 oldChar 字符替换为 newChar 字符。 例如,“pog pance”.replace('p', 'd') 将返回狗舞。
47、什么是java中的lambda表达式?
lambda 表达式 (lambda) 描述了可以传递给构造函数或方法以供后续执行的代码块(匿名函数)。 构造函数或方法接收 lambda 作为参数。 考虑以下示例:
System.out.println(“你好”)
此示例标识用于将消息输出到标准输出流的 lambda。 从左到右,() 标识 lambda 的形参列表(示例中没有参数),-> 表示表达式是 lambda,System.out.println(“Hello”) 是要执行的代码.
48.什么是微服务java?
微服务是一种面向服务的架构风格(Java 开发人员最重要的技能之一),其中应用程序构建为不同的较小服务的集合,而不是一个完整的应用程序。
49. java中的jsp是什么?
JSP 页面是包含两种类型文本的文本文档:静态数据,可以用任何基于文本的格式(例如 HTML、SVG、WML 和 XML)表示,以及构建动态内容的 JSP 元素。
JSP 页面源文件的推荐文件扩展名是 .jsp。 该页面可以由包含其他文件的顶级文件组成,这些文件包含完整的 JSP 页面或 JSP 页面的片段。 JSP 页面片段的源文件的推荐扩展名是 .jspf。
JSP 页面中的 JSP 元素可以用两种语法表示,标准语法和 XML,尽管任何给定文件只能使用一种语法。 XML 语法中的 JSP 页面是一个 XML 文档,可以通过 XML 文档的工具和 API 进行操作。
50. java中构造函数有什么用?
构造函数是初始化新创建对象的代码块。 构造函数类似于 java 中的实例方法,但它不是方法,因为它没有返回类型。 简而言之,构造函数和方法是不同的(本指南末尾的更多信息)。 人们经常将构造函数称为 Java 中特殊类型的方法。
构造函数与类同名,在 java 代码中如下所示。
51. java中如何将列表转换为数组?
在 Java 中将 List 转换为 Array 的最好和最简单的方法是使用 .toArray() 方法。
同样,我们可以使用 Arrays.asList() 方法将 List 转换回 Array。
下面的示例展示了如何将字符串列表和整数列表转换为它们的等效数组。
Convert List to Array of String
import java.util.ArrayList;
import java.util.List; public class ConvertArrayListToArray { public static void main(String[] args) { List<String> itemList = new ArrayList<String>(); itemList.add(""item1""); itemList.add(""item2""); itemList.add(""item3""); String[] itemsArray = new String[itemList.size()]; itemsArray = itemList.toArray(itemsArray); for(String s : itemsArray) System.out.println(s); }
}"
52. java中创建对象有几种方法?
在 Java 中创建对象有五种不同的方法:
- Java 新运算符
- Java 类。 newInstance() 方法
- Java newInstance() 构造函数方法
- Java 对象。 克隆()方法
- Java 对象序列化和反序列化
53. 为什么java变得功能化(java 8)?
Java 8 通过所谓的 lambda 表达式添加了函数式编程,这是一种将函数描述为对任意一组提供的变量的某种操作的简单方法。
54、java中不支持哪些继承?
Java 不支持多重继承。
55. 如何在java中将double转换为int?
double d=1.2
int i=int(d)
56. java中如何获取char的ASCII值?
char character = 'a'; int ascii = (int) character;
在您的情况下,您需要先从字符串中获取特定的字符,然后再进行转换。
char character = name.charAt(0); // This gives the character 'a'
int ascii = (int) character; // ascii is now 97.
57、如何在java中声明一个字符串数组?
String[] array = new String[] {"a", "b"};
58. java中的标记接口是什么?
Java 中的空接口称为标记接口,即它不包含任何方法或字段,通过实现这些接口,类将表现出与实现的接口相关的特殊行为。 如果您仔细查看 Java 中的标记接口,例如 Serializable、Cloneable 和 Remote,它们看起来是用来向编译器或 JVM 指示某些内容的。 因此,如果 JVM 看到一个类是可序列化的,它会对它进行一些特殊的操作,类似地,如果 JVM 看到一个类是实现可克隆的,它会执行一些操作来支持克隆。 RMI 和远程接口也是如此。 在最简单的 Marker 接口中,向 Compiler 或 JVM 指示、信号或命令。
–> 实际上,我们可以创建一个类似于标记接口的接口,其中没有方法声明,但它根本不是标记接口,因为它没有向 JVM 指示某些东西,当我们的程序将要执行时,它会为类提供一些特殊行为.
例如 Serializable、Cloneable 等是标记接口
当我的程序被执行时,JVM 为我的实现了标记接口的类提供了一些特殊的能力。
59. 如何使用扫描仪在java中输入多个字符串?
class MyClass { public static void main(String[ ] args) { Scanner a = new Scanner(System.in); //Scanner b = new Scanner(System.in); System.out.println (a.nextLine()); System.out.println(a.nextLine()); }
} Then type this way:
a
b
60. java中如何连接两个字符串?
s3=s1+s2 其中 s1 和 s2 是 java 字符串。
61. java中如何将字符串转换为char数组?
public class StringToCharArrayExample{ public static void main(String args[]){ String s1=""hello""; char[] ch=s1.toCharArray(); for(int i=0;i<ch.length;i++){ System.out.print(ch[i]); } }}
62.什么是java中的类型转换?
将一种数据类型(int、float、double 等)的值转换为另一种数据类型的过程称为类型转换。
63. java中如何对字符串进行排序?
import java.util.Arrays; public class Test
{ public static void main(String[] args) { String original = ""edcba""; char[] chars = original.toCharArray(); Arrays.sort(chars); String sorted = new String(chars); System.out.println(sorted); }
}
64. 如何在java中输入字符串?
import java.util.*; class Inp
{ public static void main(String[] args) { Scanner sc= new Scanner(System.in); //System.in is a standard input stream System.out.print(""Enter a string: ""); String str= sc.nextLine(); //reads string System.out.print(""You have entered: ""+str); } }
65. 如何在java中导入scanner?
import java.utils.Scanner
Scanner sc=new Scanner();
66. java中如何去除字符串中的特殊字符?
class New { public static void main(String args[]) { String str= ""This#string%contains^special*characters&.""; str = str.replaceAll(""[^a-zA-Z0-9]"", "" ""); System.out.println(str); } }
67. java中如何求字符串长度?
要计算 Java 中字符串的长度,您可以利用 Java 字符串类的内置 length() 技术。
在 Java 中,字符串是利用字符串类创建的对象,而 length() 策略是此类的开放部分技术。 按照这些思路,任何字符串类型的因素都可以使用 . (点)管理员。
length() 技术计算字符串中的所有字符数。
68. java中如何在数组中添加元素?
将数组转换为数组列表。 然后可以添加元素。
69、什么是java中的异常处理?
Java中的异常处理是一种即使发生错误也能保持程序运行的方法。 异常是在程序执行期间可能发生的错误事件,并会破坏其正常流程。 Java 提供了一种健壮且面向对象的方式来处理异常情况,称为 Java 异常处理。
70. 如何在java中扫描字符串?
import java.util.*;
public class ScannerExample {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.print(""Enter your name: "");
String name = in.nextLine();
System.out.println(""Name is: "" + name);
in.close();
71. java中什么时候使用comparer和comparator的例子?
如果一个人想要不同的排序顺序,那么他可以实现比较器并定义自己的方式来比较两个实例。 如果对象的排序需要基于自然顺序,则使用 Comparable,而如果您需要对不同对象的属性进行排序,则使用 Java 中的 Comparator。
72、如何在java中创建jar文件?
创建 JAR 文件的命令的基本格式是:
jar cf jar-file 输入文件
此命令中使用的选项和参数是:
- c 选项表示要创建 JAR 文件
- f 选项表示您希望输出到文件而不是标准输出
jar-file 是您希望生成的 JAR 文件具有的名称。 您可以为 JAR 文件使用任何文件名。 按照惯例,JAR 文件名具有 .jar 扩展名,但这不是必需的。
input-file(s) 参数是以空格分隔的一个或多个要包含在 JAR 文件中的文件的列表。 input-file(s) 参数可以包含通配符 * 符号。 如果任何“输入文件”是目录,则这些目录的内容会递归地添加到 JAR 存档中。
c 和 f 选项可以按任意顺序出现,但它们之间不能有任何空格。
73. java中如何调用方法?
要在 Java 中调用方法,请编写方法名,后跟两个括号 () 和一个分号; 方法调用的过程很简单。 当程序调用方法时,程序控制权转移到被调用的方法。
74.java中的next()和nextline()有什么区别?
next() 只能读取输入直到空格。 它无法读取以空格分隔的两个单词。 此外,next() 在读取输入后将光标放在同一行。 nextLine() 读取输入,包括单词之间的空格(也就是说,它读取到第 n 行的末尾)。
75.什么是java中的mvc?
MVC 模式代表模型-视图-控制器模式。 此示例用于隔离应用程序的兴趣。 模型——模型与项目或 JAVA POJO 交流信息。 如果其信息发生变化,它同样可以有理由更新监管机构。
76. 如何在java中迭代地图?
for (Map.Entry<Integer, String> entry : hm.entrySet()) { Integer key = entry.getKey(); String value = entry.getValue(); }
77. java中的菱形问题是什么?
“钻石问题”是一种不确定性,可能由于允许各种遗产而出现。 对于考虑到大量国家遗产的方言(如 C++)来说,这是一个重要问题。 然而,在 Java 中,许多遗留系统不考虑类,只考虑接口,并且这些不包含状态。
78.如何在java中交换两个字符串?
String a = ""one"";
String b = ""two""; a = a + b;
b = a.substring(0, (a.length() - b.length()));
a = a.substring(b.length()); System.out.println(""a = "" + a);
System.out.println(""b = "" + b);
79. java中如何将字符串转换为yyyy-mm-dd格式的日期?
String start_dt = ""2011-01-01"";
DateFormat formatter = new SimpleDateFormat(""yyyy-MM-DD""); Date date = (Date)formatter.parse(start_dt);
SimpleDateFormat newFormat = new SimpleDateFormat(""MM-dd-yyyy"");
String finalString = newFormat.format(date);
80. java中的getname是什么例子?
import java.io.*; public class solution { public static void main(String args[]) { // try-catch block to handle exceptions try { // Create a file object File f = new File(""new.txt""); // Get the Name of the given file f String Name = f.getName(); // Display the file Name of the file object System.out.println(""File Name : "" + Name); } catch (Exception e) { System.err.println(e.getMessage()); } } }
getName 返回文件的名称。
81. java中的bufferreader是什么?
Java.io.BufferedReader 类细读字符输入流中的文本,缓冲字符以适应对字符、簇和行的熟练细读。 以下是对 BufferedReader 的重要关注 - 可以确定底座大小,或者可以使用默认大小。
82、如何在java中创建包?
要制作一个捆绑包,您需要为捆绑包选择一个名称(命名节目将在以下区域讨论),然后在包含分类(类、接口、列表和解释类型)你需要记住的捆绑包。
83. java中的聚合是什么?
聚合的情况是学校关闭时学生在学校上课,尽管一切都存在,但学生之后可以加入另一所学校或类似的东西。 在 UML 文档中,结构由填充的宝石表示,而聚集体由未填充的宝石表示,这表明它们在关系质量方面无可否认的区别。
84. java中如何使用switch case?
int amount = 9; switch(amount) { case 0 : System.out.println(""amount is 0""); break; case 5 : System.out.println(""amount is 5""); break; case 10 : System.out.println(""amount is 10""); break; default : System.out.println(""amount is something else"");
}
85.什么是java中的递归?
递归只是解决容量决策本身的策略。 这种方法提供了一种将纠缠不清的问题分离为更容易解决的简单问题的方法。
86. java中如何打印数组?
System.out.println(Arrays.toString(a));
87. 什么是java中的自动装箱和拆箱?
自动装箱是 Java 编译器在原始类型与其对应的对象包装类之间进行的自动转换。 例如,将 int 转换为 Integer,将 double 转换为 Double,等等。 如果转换以另一种方式进行,则称为拆箱。
88. java构造函数返回一个值,但是什么?
Java 构造函数不返回任何值。
89.什么是java中的方法重载?
方法重载是一项功能,它允许一个类在参数列表不同的情况下拥有多个具有相同名称的方法。 它类似于 Java 中的构造函数重载,它允许一个类具有多个具有不同参数列表的构造函数。
90.如何在java中创建对象数组?
初始化对象数组的一种方法是使用构造函数。 创建实际对象时,可以通过将值传递给构造函数来为每个对象分配初始值。 您还可以在将数据分配给对象的类中具有单独的成员方法。
91. java中什么时候使用抽象类和接口?
Java 提供了四种类型的访问说明符,我们可以将它们用于类和其他实体。
它们是:
#1) 默认:只要未指定特定访问级别,则假定为“默认”。 默认级别的范围在包内。
#2) Public:这是最常见的访问级别,每当公共访问说明符与实体一起使用时,该特定实体都可以从类内部或外部、包内部或外部等进行访问。
#3) 受保护:受保护的访问级别具有包内的范围。 受保护的实体也可以通过继承的类或子类在包外访问。
#4)私有:当一个实体是私有的,那么这个实体就不能在类之外被访问。 私有实体只能从类中访问。
92. 如何在java中创建单例类?
单例类意味着您只能为给定的类创建一个对象。 您可以通过将其构造函数设为私有来创建单例类,以便您可以限制对象的创建。 提供静态方法来获取对象的实例,您可以在其中处理仅在类内部创建的对象。 在此示例中,我们使用静态块创建对象。
public class MySingleton { private static MySingleton myObj; static{ myObj = new MySingleton(); } private MySingleton(){ } public static MySingleton getInstance(){ return myObj; } public void testMe(){ System.out.println(""Hey.... it is working!!!""); } public static void main(String a[]){ MySingleton ms = getInstance(); ms.testMe(); }
}
93、什么是java中的静态方法?
Java 编程 Java8 面向对象编程。 static 关键字用于创建独立于为类创建的任何实例而存在的方法。 静态方法不使用定义它们的类的任何对象的任何实例变量。
94.解释一下Java的异常处理机制?
Exception 类继承自 java 中的 Throwable 类。 Java 有一个 try-catch 机制来处理异常而不会将它们作为错误生成。
public class Exception_Handling { String gender; Exception_Handling(String s){ gender=s; } void Check_Gender(String s) throws GenderException{ if (gender!="Male" || gender!="Female") throw new GenderException("Gender Invalid"); else System.out.println("Gender valid"); } public static void main(String args[]){ Exception_Handling n=new Exception_Handling("None"); try{ n.Check_Gender("Female"); }catch (Exception e){ System.out.println("Exception : "+e); } } } class GenderException extends Exception{ GenderException(String s){ super(s); } }
95.我们什么时候使用Array列表?
每当需要随机访问 java 中的元素时,我们都会使用 ArrayList。 Get 和 set 方法使用数组列表提供对元素的快速访问。
96.Java中泛型有什么用?
泛型允许类和接口成为在 java 中定义新类的类型,从而实现更强大的类型检查。 它还消除了插入时数据类型不匹配的可能性。
97. 什么是迭代器?
迭代器是一种集合框架功能,它支持对元素进行顺序访问。 访问只能在一个方向进行。 Java 支持两种类型的迭代器:
1.枚举迭代器
2. 列表迭代器
98.什么是hashmap?
Hashmap 是一个集合框架功能,用于将数据存储到键值对中。 要访问数据,我们需要密钥。 hashmap 在内部使用链表来支持存储功能。
99. 什么是堆栈?
堆栈是一种支持 LAST IN FIRST OUT 方法的数据结构。 最后推送的元素位于堆栈的顶部。 堆栈支持以下功能:
- 推入操作将元素推入堆栈
- 将元素推出堆栈的弹出操作
- Peek - 检查顶部元素的选项
100. 什么是树状图?
Treemap 是 java 中的一种可导航地图解释,它是围绕红树和黑树的概念构建的。 树形图的键按其键升序排序。
101.什么是向量?
向量是 java 中类似于 ArrayList 的数据结构,其大小会根据需要增加。 此外,它还支持一些集合不支持的遗留功能。
您还应该知道,与集合对象不同,向量更适合与线程一起使用。
102.ArrayList和vector有什么区别?
ArrayList 不适合在基于线程的环境中工作。 为基于线程的执行构建了一个向量。 ArrayList 不支持遗留函数,而向量支持遗留函数。
103. 在java中编写一个程序来计算一个数的阶乘。
import java.util.Scanner; public class star { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int fact=1; int n=sc.nextInt(); for (int i=1;i<=n;i++) fact=fact*i; System.out.println(fact); } }
104. 编写一个程序来检查一个数是否是素数。
import java.util.Scanner; public class star { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int count=0; for (int i=1;i<=n;i++) { if (n%i==0) count++; } if (count==2) System.out.println("Prime"); else System.out.println("Not Prime"); } }
105. 编写程序将十进制数转换为二进制数。
import java.util.Scanner; class star { public static void main(String arg[]) { Scanner sc=new Scanner(System.in); System.out.println("Enter a decimal number"); int n=sc.nextInt(); int bin[]=new int[100]; int i = 0; while(n > 0) { bin[i++] = n%2; n = n/2; } System.out.print("Binary number is : "); for(int j = i-1;j >= 0;j--) { System.out.print(bin[j]); } } }
106. 编写程序将十进制数转换为八进制数。
import java.util.Scanner; class star { public static void main(String args[]) { Scanner sc = new Scanner( System.in ); System.out.print("Enter a decimal number : "); int num =sc.nextInt(); String octal = Integer.toOctalString(num); System.out.println("Decimal to octal: " + octal); } }
107. 可以使用哪个实用函数来提取字符串中特定位置的字符?
charAt() 实用函数可用于实现上述功能。
108.java中如何获取字符串的长度?
可以使用 .length() 实用程序找到 java 中字符串的长度。
109. 以下哪种定义数组的语法是正确的?
– 诠释[]=新诠释[];
– int a[]=new int[];
– int a[] =新 int [32]
int a[]=new int[32] 是正确的方法。
110. 3*0.1 == 0.3 会返回什么? 对或错?
这是非常棘手的问题之一,只有在您的概念非常清楚的情况下才能回答。 简短的回答是错误的,因为某些浮点数无法准确表示。
111. 编写程序对java中的数组进行冒泡排序。
import java.util.Scanner; class star { public static void main(String args[]) { int arr[] =new int [10]; Scanner sc = new Scanner( System.in ); System.out.println("Enter size of array"); int n=sc.nextInt(); System.out.print("Enter an arry : "); for (int i=0;i<n;i++) arr[i]=sc.nextInt(); for (int i=0;i<n;i++) { for (int j=0;j<n-i-1;j++) { if (arr[j]>arr[j+1]) { int t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for (int i=0;i<n;i++) { System.out.println(arr[i]); } } }
112.编写程序,在java中生成如下输出?
*
**
****
*****
******
public class star { public static void main(String[] args) { int i; int count=1; for (i=1;i<=5;i++){ for (int j=1;j<=i;j++) System.out.print("*"); System.out.println(" "); } } }
113. 编写程序生成以下输出。
****
***
**
*
public class star { public static void main(String[] args) { int i; int count=1; for (i=5;i>=1;i--){ for (int j=1;j<=i;j++) System.out.print("*"); System.out.println(" "); } } }
114. 用java编写一个程序来删除字符串中的所有元音。
import java.util.Scanner; public class star { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String n=sc.nextLine(); String n1=n.replaceAll("[AEIOUaeiou]", ""); System.out.println(n1); } }
115.用java编写一个程序来检查回文。
String str, rev = ""; Scanner sc = new Scanner(System.in); System.out.println("Enter a string:"); str = sc.nextLine(); int length = str.length(); for ( int i = length - 1; i >= 0; i-- ) rev = rev + str.charAt(i); if (str.equals(rev)) System.out.println(str+" is a palindrome"); else System.out.println(str+" is not a palindrome");
116、java内置排序的底层机制是什么?
Java 的内置排序功能利用了二元快速排序机制。 快速排序在大多数现实生活场景中效果最佳,并且没有额外的空间要求。
117. 哪个实用函数用于检查 ArrayList 中元素的存在?
hasNext() 用于 ArrayList 中下一个元素的存在。
118.如何从数组中删除一个元素?
要从数组中删除一个元素,我们必须先删除该元素,然后将位于该元素右侧的数组元素向左移动一个位置。
119. a = a + b 和 a += b 之间的区别?
+= 运算符将加法的结果隐式转换为用于保存结果的变量的类型。 当您添加两个整数变量时,例如 byte、short 或 int 类型的变量,它们首先被提升为 int 并且它们发生加法。 如果加法的结果大于 a 的最大值,则 a + b 将给出编译时错误,但 a += b 会正常,如下所示
字节 a = 127;
字节 b = 127;
b = a + b; // 错误:无法从 int 转换为 byte
b += a; // 好的
Java OOPS 面试题
1.Java中的类是什么?
在现实世界中,您经常拥有许多相同类型的对象。 例如,您的自行车只是世界上众多自行车中的一种。 使用面向对象的术语,我们说您的自行车对象是称为自行车的对象类的一个实例(在词汇表中)。 自行车有一些共同的状态(当前档位、当前节奏、两个轮子)和行为(换档、刹车)。 但是,每辆自行车的状态都独立于其他自行车,也可以不同于其他自行车。
在制造自行车时,制造商利用自行车具有共同特征的事实,根据相同的蓝图制造许多自行车。 为每辆制造的自行车制定新的蓝图是非常低效的。
在面向对象的软件中,也有可能有许多相同类型的对象共享特征:矩形、员工记录、视频剪辑等等。 与自行车制造商一样,您可以利用同类对象相似的事实,并为这些对象创建蓝图。 对象的软件蓝图称为类(在词汇表中)。
2、什么是java中的构造函数?
"A constructor in Java is a special method that is used to initialize objects. The constructor is called when an object of a class is created. It can be used to set initial values for object attributes: Example
Create a constructor: // Create a MyClass class
public class MyClass { int x; // Create a class attribute // Create a class constructor for the MyClass class public MyClass() { x = 5; // Set the initial value for the class attribute x } public static void main(String[] args) { MyClass myObj = new MyClass(); // Create an object of class MyClass (This will call the constructor) System.out.println(myObj.x); // Print the value of x }
} // Outputs 5
3. 什么是java中的对象?
对象是变量和相关方法的软件包。
您可以使用软件对象来表示现实世界的对象。 您可能希望将现实世界中的狗表示为动画程序中的软件对象,或者将现实世界中的自行车表示为电动健身车中的软件对象。 但是,您也可以使用软件对象对抽象概念进行建模。 例如,事件是 GUI 窗口系统中常用的对象,用于表示用户按下鼠标按钮或键盘上的键的动作。
4、如何在java中创建对象?
- 声明:以粗体显示的代码是所有将变量名与对象类型相关联的变量声明。
- 实例化:new 关键字是创建对象的 Java 运算符。
- 初始化:new 操作符之后是对构造函数的调用,该构造函数初始化新对象。
5. java中的对象是什么?
软件对象在概念上类似于现实世界的对象:它们也包含状态和相关行为。 对象将其状态存储在字段(某些编程语言中的变量)中,并通过方法(某些编程语言中的函数)公开其行为。 方法对对象的内部状态进行操作,并作为对象到对象通信的主要机制。 隐藏内部状态并要求通过对象的方法执行所有交互被称为数据封装——面向对象编程的基本原则。
6. java中的oops是什么?
面向对象编程系统 (OOPs) 是一种基于包含数据和方法的“对象”概念的编程范例。 面向对象编程的主要目的是增加程序的灵活性和可维护性。 面向对象的编程将数据及其行为(方法)集中在一个位置(对象)中,从而更容易理解程序的工作原理。 我们将详细介绍 OOP 的每一个特性,这样您在理解 OOP 概念时就不会遇到任何困难。
7. java中的字节码是谁执行的?
字节码是 Java 程序的编译格式。 一旦 Java 程序被转换为字节码,它就可以通过网络传输并由 Java 虚拟机 (JVM) 执行。
8. 为什么java是安全的?
Java没有指针的概念。 因此java是安全的。 Java 不提供对实际内存位置的访问。
9、为什么java不支持多重继承?
Java 仅支持通过接口进行多重继承。 一个类可以实现任意数量的接口,但只能扩展一个类。
不支持多重继承,因为它会导致致命的钻石问题。 然而,它可以解决,但它会导致一个复杂的系统,因此 Java 创始人已经放弃了多重继承。
10、为什么java不支持多重继承?
Java 仅支持通过接口进行多重继承。 一个类可以实现任意数量的接口,但只能扩展一个类。 不支持多重继承,因为它会导致致命的钻石问题。
11. 为什么我们不能在java中创建抽象类的对象?
因为抽象类是一个不完整的类(不完整的意思是它包含没有主体和输出的抽象方法)我们不能创建实例或对象; 就像我们说的接口一样。
12. 什么是构造函数重载?
当一个类有多个具有不同函数定义或不同参数的构造函数时,称为构造函数重载。
import java.io.*; import java.lang.*; public class constructor_overloading { double sum; constructor_overloading(){ sum=0; } constructor_overloading(int x,int y){ sum=x+y; } constructor_overloading(double x,double y){ sum=x+y; } void print_sum(){ System.out.println(sum); } public static void main(String args[]){ constructor_overloading c=new constructor_overloading(); c.print_sum(); constructor_overloading c1=new constructor_overloading(10,20); c1.print_sum(); constructor_overloading c2=new constructor_overloading(10.11,20.11); c2.print_sum(); } }
13. Java 中有多少种继承类型?
在 java 中,单、多、多级、混合和分层继承是可能的。 混合继承和层次继承只能通过接口实现。
14、Java支持多少种构造函数?
Java 支持以下类型的构造函数:
– 非参数化或默认构造函数
– 参数化构造函数
– 复制构造函数
15. Java中的单例类是什么? 制作一个类单例有什么好处?
单例类是 Java 中的一个类,在应用程序中最多可以有一个实例。 如果为同一个类创建新实例,则它们指向创建的第一个实例,因此所有属性和属性的值都相同。
创建单例类是为了创建对对象的全局访问点。 单例类在缓存、日志记录、设备驱动程序中找到它们的主要用途,这些都是通用访问的实体。
16.finalize()的作用是什么?
Finalize() 用于垃圾回收。 Java 运行环境默认调用它来清除未使用的对象。 这是为了内存管理和清除堆。
17.解释Java中的封装。
封装是将变量和函数封装到一个单元中以隐藏不必要的细节的过程。 包装好的实体在 java 中称为类。 封装也被称为数据隐藏,因为它隐藏了底层的复杂性。
18. 解释 Java 中的抽象。
抽象是在java中跨单元揭示基本信息并隐藏琐碎细节的过程。 Java 具有抽象类和方法,通过这些抽象类和方法进行数据抽象。
19.如果子类继承了基类,那么子类是否也继承了基类的构造函数?
构造函数不是类的属性。 因此它们不能被继承。 如果可以继承构造函数,那么这也意味着可以使用父类的构造函数创建子类,这在以后实例化子类时可能会导致引用错误。 因此,为了避免这种复杂性,构造函数不能被继承。 子类可以使用 super 关键字调用父类的构造函数。
20.super有什么用?
super() 用于由子类构造函数调用超类构造函数。 这样,我们就不必为超类和子类创建不同的对象。
21、Java中如何实现封装?
封装是通过将数据和代码包装到称为类的简单包装器中来实现的。 对象实例化类以获取类数据的副本。
22、什么是Java中的抽象类?
抽象类是只能被继承的类,不能用于创建对象。 它是一种功能有限的受限类。
23、Java中多态性是如何实现的?
多态性的一个例子是 == 运算符,可用于比较数字和字符串。
24.java中main方法可以声明为private吗?
是的,主方法可以声明为私有的。
25. Java 中的对象是什么?
对象是java中类的一个实例。 它共享一个类的所有属性和属性。
26. 如果我们将构造函数设为 final 会发生什么?
如果我们将构造函数设为 final,那么在构造函数中初始化的类变量将变得不可用。 他们的状态不能改变。
27. 什么是构造函数链?
构造函数链接是在构造函数中调用同一类或不同类的构造函数的过程。 这样,对于具有不同参数的构造函数的构造函数调用,不需要多个对象。
Java 多线程面试题
1. Java中的多线程是什么?
多线程是 Java 的一项功能,它允许并发执行程序的两个或多个部分以最大限度地利用 CPU。 这种程序的每一部分都称为一个线程。 因此,线程是进程中的轻量级进程。
2、java中什么是线程安全的?
Java中的线程安全或线程安全代码是指可以在并发或多线程环境中安全使用或共享的代码,并且它们将按预期运行。 任何代码、类或对象在并发环境中的行为可能与其合同不同,这不是线程安全的。
3.java中什么是线程?
线程是允许多个进程同时运行的轻量级程序。 每个java程序至少有一个线程叫做主线程,主线程是由JVM创建的。 用户可以通过扩展 Thread 类(或)通过实现 Runnable 接口来定义自己的线程。 线程同时执行。
public static void main(String[] args){//main thread starts here }
4.java中的volatile是什么?
volatile关键字用于不同线程修改变量的值。 它还用于使类成为线程安全的。 这意味着多个线程可以同时使用类的方法和实例而没有任何问题。
5.java中如何生成范围内的随机数?
import java.util.concurrent.ThreadLocalRandom; // nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1);
6. 如果我们使用赋值运算符克隆对象,引用是否不同?
当使用赋值运算符克隆对象时,两个对象共享相同的引用。 一个对象对数据所做的更改也将反映在另一个对象中。
7.java中可以启动一个线程两次吗?
线程一旦启动,就再也无法启动。 这样做会抛出 IllegalThreadStateException
8.java线程是如何创建的?
可以通过实现可运行接口来创建线程。
也可以通过扩展线程类来创建线程
这将我们带到 Java 面试问题的结尾。 很高兴看到您现在能够更好地接受面试。
Java 面试问题常见问题解答
1、Java面试需要准备什么?
没有固定的方法可以让您为即将到来的 Java 面试做准备。 但是,了解 Java 的基本概念对于您做得好很重要。 下一步是学习 Java 初学者课程,这将帮助您很好地理解这些概念,或者阅读顶级书籍进行自学。 除了通过课程、书籍和博客学习基本概念外,您还可以从事有助于您获得实践经验的项目。
2.Java的基础是什么?
Java 是一种面向对象的通用编程语言。 它是一种流行的编程语言,因为它易于使用的语法。 Java 的基础知识包括了解 Java 是什么、如何安装 Java 和 Java IDE、Java 中的变量和数据类型、Java 中的运算符、数组、函数、流控制语句和基本程序。 要学习 Java 的基础知识,您可以参加 Java for Beginners Course 并了解在 Java 编程领域建立成功职业所需的概念。
3、为什么Java中的字符串是不可变的?
String 在 Java 中是不可变的,以确保字符串的值不会改变。 Java 使用字符串字面量,如果有多个变量引用一个对象,并且该对象的值发生变化,则会影响所有引用变量。 因此,字符串在 Java 中是不可变的。
4. 为什么Java中不用指针?
Java 不允许使用指针。 Java 中不使用指针来确保它更加安全和健壮。
5. Java 是 100% 面向对象的语言吗?
不,Java 不是 100% 面向对象的语言。 它遵循面向对象语言的一些原则,但不是全部。
6、Java有什么特点?
Java 的主要特性包括:多线程、平台无关、简单、安全、架构中立、可移植、健壮、动态、高性能和解释性。
7. 如何轻松学习Java?
任何适合你和你的学习风格的学习方法都应该被认为是最好的学习方式。 不同的人通过不同的方法学得很好。 有些人可能更喜欢参加在线课程、阅读书籍或博客、观看 YouTube 视频来自学。 有些人也可能通过实践和实践经验来学习。 选择最适合您的!
8. Java 中的 API 是什么?
在 Java 中,API 代表应用程序编程接口。 它是一个允许两个应用程序相互通信的软件。 它是一个类列表,是 JDK 或 Java 开发工具包的一部分,包括接口、包、类、字段、方法和构造函数。
9.什么是Java全格式?
Java 是一种编程语言,最初由 Sun Microsystems 的 James Gosling 开发。 当开发人员喝咖啡并为他们的编程语言头脑风暴时,他们在 1995 年选择将其命名为 Java。它没有任何完整的形式。
您可以在 Great Learning Academy 注册这些 JAVA 课程并免费获得证书:
Java程序设计
印地语 Java 编程
Java中的数据结构和算法
想知道在哪里可以免费学习令人垂涎的热门技能吗? 查看课程 大学习学院. 注册任何课程,学习热门技能并获得免费证书。 匆忙!
7 来源:https://www.mygreatlearning.com/blog/java-interview-questions/
- '
- "
- &
- 100
- 11
- 2021
- 7
- 9
- 绝对
- ACCESS
- 访问
- 账号管理
- 操作
- 优点
- 算法
- 所有类型
- 其中
- 动画
- 蚂蚁
- API
- APIs
- 应用
- 应用领域
- 应用领域
- 应用
- 架构
- 档案
- 国家 / 地区
- 参数
- 围绕
- 刊文
- 可用性
- 银行
- 基础
- 最佳
- 自行车
- 亿
- 黑色
- 博客
- 宝马
- 身体
- 书籍
- 盒子
- 浏览器
- 泡沫
- 建立
- 建设者
- 建筑物
- 种子套餐
- 商业
- 商业应用
- Cadence公司
- 呼叫
- 容量
- 寻找工作
- 汽车
- 摔角
- 原因
- 证书
- 证书
- 更改
- 检查
- 支票
- 孩子
- 铬
- 客户
- 码
- 编码
- 咖啡
- 合作
- 高校
- 相当常见
- 沟通
- 公司
- 公司
- 元件
- 混乱
- 连接的设备
- 容器
- 集装箱
- 内容
- Contents
- 合同
- 转化
- 曲奇饼
- 创造
- 电流
- DAO
- data
- 数据访问
- 数据处理
- 数据库
- 数据库
- 设计
- 细节
- 开发
- 开发商
- 开发
- 研发支持
- 设备
- 文件
- 小狗
- 司机
- 下降
- 工程师
- 工程师
- 英语
- 企业
- 环境
- 等
- 活动
- 事件
- Excel
- 独家
- 执行
- 锻炼
- 体验
- 扩展
- 面部彩妆
- 高效率
- 专栏
- 特征
- 字段
- 数字
- 姓氏:
- FIS
- 高度灵活
- 流
- 遵循
- 涉
- 申请
- 格式
- 创始人
- 骨架
- Free
- ,
- 功能
- 基本原理
- 婴儿车
- 性别
- 其他咨询
- 全球
- 大
- 绿色
- 团队
- 指南
- 处理
- 哈希
- 散列
- 头
- 此处
- 隐藏
- 高
- 举行
- 创新中心
- How To
- HTTPS
- 杂交种
- 主意
- 包含
- 增加
- 指数
- 印度尼西亚
- 行业
- 信息
- 积分
- 相互作用
- 网络
- 专属采访
- 面试
- 投资
- 投资银行
- 问题
- IT
- 爪哇岛
- JavaScript的
- 宝
- 工作
- 加入
- 键
- 键
- 试剂盒
- 知识
- 语言
- 语言
- 大
- 领导
- 学习用品
- 学习
- Level
- 自学资料库
- 有限
- Line
- 友情链接
- 清单
- 书单
- 加载
- 圖書分館的位置
- 长
- 主要
- 制作
- 颠覆性技术
- 制成的
- 地图
- 标记
- 数学
- 衡量
- 成员
- 联络号码
- 移动应用程序
- 模型
- 最受欢迎的产品
- MS
- 亦即
- 名称
- 净
- 网络
- 数字
- 橡木
- 优惠精选
- 在线
- 打开
- 运营
- 附加选项
- 附加选项
- 神谕
- 秩序
- 其他名称
- 范例
- 模式
- 员工
- 性能
- 枢
- 平台
- 池
- 热门
- 当下
- express
- 私立
- 简介
- 曲目
- 代码编程
- 编程语言
- 训练课程
- 项目
- 项目管理
- 项目
- 国家
- 蟒蛇
- 质量
- 范围
- 读者
- 阅读
- 实时的
- 记录
- 岗位要求
- 资源
- REST的
- 回报
- 反转
- 风险
- rt
- 运行
- 运行
- 浏览
- 学校
- 屏风
- 搜索
- 保安
- 看到
- 感
- 特色服务
- 集
- Share
- 共用的,
- 分享
- 短
- 简易
- 尺寸
- 技能
- 小
- So
- 软件
- 软件开发
- 解决
- 太空
- 分裂
- 电子表格
- 弹簧
- SQL
- 广场
- 阶段
- 开始
- 开始
- 初创企业
- 州/领地
- 州
- 存储
- 商店
- 商店
- 策略
- 学生
- 成功
- 供应
- SUPPORT
- 支持
- 支持
- Switch 开关
- 系统
- 产品
- 说
- 技术
- 专业技术
- test
- 基础知识
- 次
- 最佳
- 运
- 教程
- 普遍
- 大学合作伙伴
- 大学
- 更新
- us
- 用户
- 效用
- 折扣值
- 视频
- 视频
- 在线会议
- 虚拟机
- 沃尔沃
- 卷筒纸
- 网络应用
- 您的网站
- 什么是
- WHO
- 窗户
- 中
- 话
- 工作
- 合作
- 世界
- 全世界
- X
- XML
- YouTube的