Java 面试题代码精选274
简介
作为一名 Java 开发人员,掌握核心概念和解决常见问题的代码至关重要。本文提供了一系列精选的 Java 面试题代码,涵盖从基础知识到高级话题,以帮助你做好面试准备。通过理解和应用这些代码,你可以展示你的编程技能和对 Java 的深刻理解。
基础
反转数组
```java
public static void reverseArray(int[] arr) {
int start = 0;
int end = - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
```
查找元素
```java
public static int findElement(int[] arr, int target) {
for (int i = 0; i < ; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
```
排序数组
```java
public static void sortArray(int[] arr) {
(arr);
}
```
数据结构
链表
```java
// 节点类
public class Node {
private T data;
private Node next;
// 构造函数
public Node(T data) {
= data;
= null;
}
// 获取数据
public T getData() {
return data;
}
// 设置数据
public void setData(T data) {
= data;
}
// 获取下一个节点
public Node getNext() {
return next;
}
// 设置下一个节点
public void setNext(Node next) {
= next;
}
}
// 链表类
public class LinkedList {
private Node head;
// 添加元素
public void add(T data) {
Node newNode = new Node(data);
if (head == null) {
head = newNode;
} else {
Node current = head;
while (() != null) {
current = ();
}
(newNode);
}
}
// 删除元素
public boolean remove(T data) {
if (head == null) {
return false;
} else if (().equals(data)) {
head = ();
return true;
} else {
Node current = head;
Node previous = null;
while (current != null && !().equals(data)) {
previous = current;
current = ();
}
if (current != null) {
(());
return true;
}
return false;
}
}
// 打印链表
public void print() {
Node current = head;
while (current != null) {
(() + " ");
current = ();
}
();
}
}
```
栈
```java
public class Stack {
private Node top;
// 入栈
public void push(T data) {
Node newNode = new Node(data);
if (top == null) {
top = newNode;
} else {
(top);
top = newNode;
}
}
// 出栈
public T pop() {
if (top == null) {
return null;
} else {
T data = ();
top = ();
return data;
}
}
// 查看栈顶
public T peek() {
if (top == null) {
return null;
} else {
return ();
}
}
}
```
队列
```java
public class Queue {
private Node front;
private Node rear;
private int size;
// 入队
public void enqueue(T data) {
Node newNode = new Node(data);
if (front == null) {
front = newNode;
rear = newNode;
} else {
(newNode);
rear = newNode;
}
size++;
}
// 出队
public T dequeue() {
if (front == null) {
return null;
} else {
T data = ();
front = ();
if (front == null) {
rear = null;
}
size--;
return data;
}
}
// 查看队首
public T peek() {
if (front == null) {
return null;
} else {
return ();
}
}
}
```
面向对象编程
继承
```java
// 父类
public class Person {
private String name;
private int age;
public Person(String name, int age) {
= name;
= age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
// 子类
public class Student extends Person {
private String major;
public Student(String name, int age, String major) {
super(name, age);
= major;
}
public String getMajor() {
return major;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", major='" + major + '\'' +
'}';
}
}
```
多态
```java
// 父类
public abstract class Shape {
private String color;
public Shape(String color) {
= color;
}
public abstract double getArea();
public String getColor() {
return color;
}
}
// 子类圆形
public class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
= radius;
}
@Override
public double getArea() {
return * radius * radius;
}
}
// 子类正方形
public class Square extends Shape {
private double length;
public Square(String color, double length) {
super(color);
= length;
}
@Override
public double getArea() {
return length * length;
}
}
// 测试多态
public class Test {
public static void main(String[] args) {
Shape[] shapes = {new Circle("red", 5.0), new Square("blue", 10.0)};
for (Shape shape : shapes) {
(() + " " + ());
}
}
}
```
高级
线程
```java
public class MyThread extends Thread {
@Override
public void run() {
// 线程体
("新线程已启动");
}
public static void main(String[] args) {
MyThread thread = new MyThread();
();
}
}
```
集合框架
```java
// 创建一个 HashSet
Set set = new HashSet();
// 添加元素
("Java");
("Python");
("C++");
// 遍历集合
for (String element : set) {
(element);
}
```
正则表达式
```java
// 编译正则表达式
Pattern pattern = ("[a-z]+");
// 匹配字符串
Matcher matcher = ("Java is a programming language");
// 查找所有匹配
while (()) {
(());
}
```
这些代码示例涵盖了一系列 Java 面试中常见的主题,从基础知识到高级
2024-11-02
上一篇:Java 中的树数据结构
Java方法栈日志的艺术:从错误定位到性能优化的深度指南
https://www.shuihudhg.cn/133725.html
PHP 获取本机端口的全面指南:实践与技巧
https://www.shuihudhg.cn/133724.html
Python内置函数:从核心原理到高级应用,精通Python编程的基石
https://www.shuihudhg.cn/133723.html
Java Stream转数组:从基础到高级,掌握高性能数据转换的艺术
https://www.shuihudhg.cn/133722.html
深入解析:基于Java数组构建简易ATM机系统,从原理到代码实践
https://www.shuihudhg.cn/133721.html
热门文章
Java中数组赋值的全面指南
https://www.shuihudhg.cn/207.html
JavaScript 与 Java:二者有何异同?
https://www.shuihudhg.cn/6764.html
判断 Java 字符串中是否包含特定子字符串
https://www.shuihudhg.cn/3551.html
Java 字符串的切割:分而治之
https://www.shuihudhg.cn/6220.html
Java 输入代码:全面指南
https://www.shuihudhg.cn/1064.html