Java面试笔试题_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java面试笔试题

Java面试笔试题

更新时间:2022-05-16 10:59:52 来源:极悦 浏览1227次

1.Java 是做什么用的?

我们到处都在使用 Java 编程。我们使用 Java 创建独立程序、Web 应用程序和 Web 服务。我们可以使用 Java EE 框架创建分布式企业应用程序。

2.什么是核心Java?

Java SE 也称为核心 Java。它是标准 java 安装的一部分的库集。例如,Collections 框架是 Core Java 的一部分。但是,Servlet/JSP 是 Java 企业版的一部分。

3.Java 是一种垂死的语言吗?

Java 仍然是最流行的编程语言之一。它仍然是企业应用程序的首选。有大量免费的开源资源可以帮助您进行 Java 编程。所以我一点也不担心 Java 正在消亡。

4.JavaScript 和 Java 有什么区别?

JavaScript 和 Java 之间的一些主要区别是:

Java是面向对象的编程语言。但是,JavaScript 是一种面向对象的脚本语言。

Java 代码在 JavaScript 代码在浏览器上运行的虚拟机或浏览器 (Applets) 中运行。

我们必须将 Java 源代码编译为字节码,然后 JVM 才能理解并执行它。JavaScript 代码是基于文本的,我们不需要编译它。

我们使用 JavaScript 来执行浏览器特定的任务。我们使用 Java 创建独立的实用程序应用程序、Web 应用程序和 Web 服务。

JavaScript 是轻量级的,而我们必须安装 Java 并对其进行配置才能运行。

5.检查一个整数列表是否只包含奇数?

我们可以使用 for 循环并一一检查每个元素是否奇数。

public static boolean onlyOddNumbers(List<Integer> list) {
	for (int i : list) {
		if (i % 2 == 0)
			return false;
	}
	return true;
}

如果列表很大,我们可以使用并行流来加快处理速度。

public static boolean onlyOddNumbers(List<Integer> list) {
	return list
			.parallelStream() // parallel stream for faster processing
			.anyMatch(x -> x % 2 != 0); // return as soon as any elements match the condition
}

6.回文检查

回文字符串是其反向也是相同字符串的字符串。所以我们可以反转输入字符串并检查两个字符串是否相等。我们还可以使用 String charAt(int index) 方法来检查回文字符串。

boolean checkPalindromeString(String input) {
	boolean result = true;
	int length = input.length();
	for(int i=0; i < length/2; i++) {
		if(input.charAt(i) != input.charAt(length-i-1)) {
			result = false;
			break;
		}
	}
	return result;
}

7.如何从字符串中删除空格

我们可以使用 Character.isWhitespace() 方法从字符串中删除空格。

String removeWhiteSpaces(String input){
	StringBuilder output = new StringBuilder();	
	char[] charArray = input.toCharArray();	
	for(char c : charArray) {
		if (!Character.isWhitespace(c))
			output.append(c);
	}	
	return output.toString();
}

8.从输入字符串中删除所有出现的给定字符?

String 类没有任何删除字符的方法。我们可以使用 replace() 方法创建一个没有给定字符的新字符串。

String str1 = "abcdABCDabcdABCD";		
str1 = str1.replace("a", ""); 
System.out.println(str1); // bcdABCDbcdABCD

字符串在 Java 中是不可变的。所有字符串操作方法都返回一个新字符串。所以,我们有必要将它分配给另一个变量。

9.如何在字符串中获取不同的字符及其数量?

我们可以从字符串创建字符数组。然后对其进行迭代并创建一个以字符为键、计数为值的 HashMap。

String str1 = "abcdABCDabcd";
char[] chars = str1.toCharArray();
Map<Character, Integer> charsCount = new HashMap<>();
for(char c : chars) {
	if(charsCount.containsKey(c)) {
		charsCount.put(c, charsCount.get(c)+1);
	}else
		charsCount.put(c, 1);
}
System.out.println(charsCount); // {a=2, A=1, b=2, B=1, c=2, C=1, d=2, D=1}

10.如何以编程方式证明 String 是不可变的?

String s1 = "Java"; // "Java" String created in pool and reference assigned to s1
String s2 = s1; //s2 is also having the same reference to "Java" in the pool
System.out.println(s1 == s2); // proof that s1 and s2 have same reference
s1 = "Python"; 
//s1 value got changed above, so how String is immutable?
//well, in the above case a new String "Python" got created in the pool
//s1 is now referring to the new String in the pool 
//BUT, the original String "Java" is still unchanged and remains in the pool
//s2 is still referring to the original String "Java" in the pool
// proof that s1 and s2 have different reference
System.out.println(s1 == s2); 
System.out.println(s2); 
// prints "Java" supporting the fact that original String value is unchanged, hence String is immutable

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>