引言
Java作为一种广泛使用的编程语言,其核心知识点涵盖了从基础语法到高级特性。掌握这些知识点对于提高编程能力至关重要。本文将为您提供一个Java编程题库,通过实战练习帮助您轻松掌握核心知识点,提升编程能力。
一、Java基础
1. 变量和数据类型
题目描述
编写一个Java程序,声明并初始化以下变量:
- 一个整型变量
age,值为25 - 一个浮点型变量
salary,值为5000.0 - 一个字符串变量
name,值为”张三”
解答
public class Main {
public static void main(String[] args) {
int age = 25;
double salary = 5000.0;
String name = "张三";
System.out.println("姓名:" + name + ",年龄:" + age + ",薪资:" + salary);
}
}
2. 控制语句
题目描述
编写一个Java程序,使用if-else语句判断一个整数num是否为偶数,并输出结果。
解答
public class Main {
public static void main(String[] args) {
int num = 10;
if (num % 2 == 0) {
System.out.println(num + "是偶数");
} else {
System.out.println(num + "是奇数");
}
}
}
二、面向对象编程
1. 类和对象
题目描述
定义一个Person类,包含属性name和age,以及一个构造方法。
解答
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
2. 继承和多态
题目描述
定义一个Student类继承自Person类,并添加一个属性score。
解答
public class Student extends Person {
private int score;
public Student(String name, int age, int score) {
super(name, age);
this.score = score;
}
public int getScore() {
return score;
}
}
三、集合框架
1. 集合接口
题目描述
使用ArrayList存储以下整数,并按升序排序。
解答
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(4);
list.add(1);
Collections.sort(list);
System.out.println(list);
}
}
2. 泛型
题目描述
定义一个泛型类Box<T>,包含一个类型为T的成员变量。
解答
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
四、网络编程
1. Socket编程
题目描述
编写一个简单的Socket服务器,接收客户端发送的信息,并返回客户端的IP地址和端口号。
解答
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(12345);
System.out.println("服务器启动,等待连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端连接成功,IP地址:" + socket.getInetAddress().getHostAddress() + ",端口号:" + socket.getPort());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = in.readLine();
System.out.println("客户端发送的信息:" + line);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("服务器收到:" + line);
in.close();
out.close();
socket.close();
serverSocket.close();
}
}
2. HTTP协议
题目描述
使用Java编写一个简单的HTTP服务器,监听8080端口,接收GET请求并返回”Hello, World!“。
解答
import java.io.*;
import java.net.*;
public class SimpleHttpServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("HTTP服务器启动,监听8080端口...");
while (true) {
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = in.readLine();
if (line == null) {
break;
}
System.out.println("客户端请求:" + line);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("HTTP/1.1 200 OK");
out.println("Content-Type: text/plain");
out.println("Content-Length: 13");
out.println();
out.println("Hello, World!");
in.close();
out.close();
socket.close();
}
serverSocket.close();
}
}
总结
本文提供了一个Java编程题库,涵盖了Java基础、面向对象编程、集合框架和网络编程等方面的知识点。通过实战练习,您可以轻松掌握这些核心知识点,提升编程能力。希望这个题库对您的学习有所帮助!
