Java基础
1. Java简介
Java是一种面向对象的编程语言,设计初衷是为了“一次编写,到处运行”。Java程序通常编译成字节码,然后由Java虚拟机(JVM)解释执行。
2. Java环境搭建
- JDK安装:Java开发工具包(JDK)是Java开发的基础,包含Java编译器、运行时库等。
- 环境变量配置:配置
JAVA_HOME和PATH环境变量,以便在命令行中运行Java命令。
3. Java语法基础
- 数据类型:基本数据类型(int、float、double等)和引用数据类型(String、Object等)。
- 变量和常量:变量的声明和初始化,常量的声明(final关键字)。
- 运算符:算术运算符、关系运算符、逻辑运算符等。
- 控制结构:if-else语句、switch语句、循环(for、while、do-while)。
4. 面向对象编程
- 类和对象:类的定义、对象的创建、类的继承、多态。
- 封装:使用private关键字隐藏属性,提供public方法访问。
- 继承:使用extends关键字实现类的继承。
- 多态:通过方法重写实现多态。
- 接口:定义一组方法的规范,实现多重继承。
Java进阶
5. 异常处理
- 异常类:Error、Exception、RuntimeException。
- try-catch-finally:捕获并处理异常。
- 抛出异常:使用throw关键字抛出异常。
6. 集合框架
- 集合接口:Collection、Map、Set、List、Queue等。
- 常用集合类:ArrayList、LinkedList、HashSet、HashMap等。
- 迭代器与遍历:Iterator、ListIterator、foreach循环。
7. Java I/O
- 文件操作:File类、RandomAccessFile类。
- 字节流:InputStream、OutputStream。
- 字符流:Reader、Writer。
8. Java网络编程
- URL类:处理URL。
- Socket编程:客户端和服务器端通信。
- 网络协议:HTTP、HTTPS、TCP/IP。
9. Java多线程
- 线程类:Thread、Runnable。
- 线程同步:synchronized关键字、Lock接口。
- 线程通信:wait()、notify()、notifyAll()。
10. Java新特性
- Lambda表达式:简化代码,实现函数式编程。
- Stream API:处理集合数据,提供并行处理能力。
- Java 9+:模块化、HTTP/2客户端、JShell等。
实战案例
1. 使用Java实现一个简单的计算器
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数:");
double num1 = scanner.nextDouble();
System.out.println("请输入第二个数:");
double num2 = scanner.nextDouble();
System.out.println("请选择运算符(+、-、*、/):");
char operator = scanner.next().charAt(0);
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
System.out.println("无效的运算符!");
return;
}
System.out.println("结果是:" + result);
}
}
2. 使用Java实现一个简单的HTTP服务器
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("服务器启动,监听端口8080...");
while (true) {
Socket clientSocket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String requestLine = in.readLine();
if (requestLine == null) {
break;
}
String[] requestParts = requestLine.split(" ");
if (requestParts.length >= 2 && "GET".equals(requestParts[0])) {
String filePath = requestParts[1];
File file = new File(filePath);
if (file.exists()) {
byte[] fileContent = Files.readAllBytes(file.toPath());
out.println("HTTP/1.1 200 OK");
out.println("Content-Type: text/html");
out.println("Content-Length: " + fileContent.length);
out.println();
out.write(fileContent);
} else {
out.println("HTTP/1.1 404 Not Found");
out.println("Content-Type: text/html");
out.println("Content-Length: 0");
out.println();
}
}
in.close();
out.close();
clientSocket.close();
}
serverSocket.close();
System.out.println("服务器关闭。");
}
}
通过以上实战案例,你可以更好地理解Java的核心技术要点。希望这篇总结对你有所帮助!
