Java,全名Java Programming Language,是由Sun Microsystems公司于1995年推出的面向对象的程序设计语言。Java以其跨平台性、安全性、健壮性、可移植性等优点,在企业级应用开发、互联网编程、移动应用等领域得到了广泛的应用。Java的普及性使得它成为了世界范围内学习和使用最为广泛的编程语言之一。掌握Java编程能力对于开发者而言,是职场竞争力的重要组成部分。
Java的普及和广泛应用源于以下几个关键因素:
Java开发的第一步是安装Java Development Kit(JDK)。通过访问Java官方网站下载最新版本的JDK。之后按照安装向导进行安装。完成安装后,需要设置环境变量以配置开发环境。
bin
目录路径。bin
目录路径。在Java中,变量是存储数据的容器,而数据类型则定义了变量可以存储的类型。Java的基本数据类型包括:int
(整数)、float
(浮点数)、char
(字符)、boolean
(布尔值)等。
// 定义变量 int age = 20; float height = 1.75f; char grade = 'A'; boolean isStudent = true; // 类型转换 int num = 10; float num2 = num; // 不需要类型转换 int num3 = (int) num2; // 强制类型转换
Java提供了一系列运算符用于进行算术、比较、逻辑和位操作。
int a = 10; int b = 5; int sum = a + b; // 加法 int diff = a - b; // 减法 int product = a * b; // 乘法 int quotient = a / b; // 除法 int mod = a % b; // 取模 boolean isEqual = (a == b); // 比较相等 boolean isLess = (a < b); // 比较小于 boolean isNot = !(isEqual); // 逻辑非 int sign = (a > 0) ? 1 : (-1); // 条件表达式
Java的控制结构用于实现流程控制,包括if
、for
、while
等语句。
if
语句int score = 85; if (score >= 90) { System.out.println("优秀"); } else if (score >= 75) { System.out.println("良好"); } else { System.out.println("及格"); }
for
循环for (int i = 1; i <= 5; i++) { System.out.println("第 " + i + " 次执行"); }
while
循环int count = 0; while (count < 5) { System.out.println("循环进行中:" + count); count++; }
在Java中,函数或方法用于执行特定的逻辑。
public static void greet(String name) { System.out.println("Hello, " + name); }
方法可以接受参数,并且可以返回一个值。
public static int add(int a, int b) { return a + b; }
int result = add(3, 4); System.out.println("结果是:" + result);类与对象
在面向对象编程中,类是对象的模板,用于定义对象的特性(属性)和行为(方法)。
class Person { String name; int age; void eat() { System.out.println(name + " is eating."); } }
构造函数是类的一个特殊方法,用于初始化新创建的对象。
class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } void eat() { System.out.println(name + " is eating."); } }
封装是通过限定访问权限,将数据和行为绑定到一个类中,以保护内部数据不被外部直接访问。
class BankAccount { private double balance; public BankAccount() { balance = 0; } public void deposit(double amount) { balance += amount; } public void withdraw(double amount) { balance -= amount; } public double getBalance() { return balance; } }
继承允许一个类从另一个类继承属性和方法。
class Vehicle { void move() { System.out.println("Vehicle is moving."); } } class Car extends Vehicle { void move() { System.out.println("Car is moving."); } }
多态允许不同类的对象以相同的方法被调用,具体行为由对象的类型决定。
interface Vehicle { void move(); } class Car implements Vehicle { void move() { System.out.println("Car is moving."); } } class Bicycle implements Vehicle { void move() { System.out.println("Bicycle is moving."); } } public class MultiVehicleDemo { public static void main(String[] args) { Vehicle vehicle; vehicle = new Car(); vehicle.move(); vehicle = new Bicycle(); vehicle.move(); } }异常处理
Java使用异常处理机制来管理程序运行中的错误或异常情况。异常可以分为两大类:Error
和Exception
。
public class ExceptionExample { public static void main(String[] args) { readData(); } public static void readData() throws Exception { // 模拟读取数据时出错 throw new Exception("无法读取数据"); } }
public class ExceptionHandling { public static void main(String[] args) { try { readData(); } catch (Exception e) { System.out.println("发生了错误: " + e.getMessage()); } finally { System.out.println("处理完毕,无论是否捕获到异常"); } } public static void readData() throws Exception { throw new Exception("无法读取数据"); } }
public class CustomException extends Exception { public CustomException(String message) { super(message); } } public class CustomExceptionDemo { public static void validateInput(String input) throws CustomException { if (input.isEmpty()) { throw new CustomException("输入不能为空"); } System.out.println("输入有效: " + input); } public static void main(String[] args) { try { validateInput(""); } catch (CustomException e) { System.out.println("错误: " + e.getMessage()); } } }集合框架
Java集合框架提供了对数据的高效操作,包括列表、集合和映射。
List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.forEach(item -> System.out.println(item));
Set<String> set = new HashSet<>(); set.add("apple"); set.add("banana"); set.forEach(item -> System.out.println(item));
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.forEach((key, value) -> System.out.println(key + ": " + value));
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2); Collections.sort(numbers); numbers.forEach(number -> System.out.println(number));实战项目
import java.util.ArrayList; import java.util.Scanner; public class TodoApp { private static ArrayList<String> todos = new ArrayList<>(); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("\n1. 添加待办事项\n2. 查看所有待办事项\n3. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: addTodo(scanner); break; case 2: displayTodos(); break; case 3: System.out.println("退出应用"); return; default: System.out.println("无效的选项"); } } } private static void addTodo(Scanner scanner) { System.out.println("输入待办事项:"); String todo = scanner.nextLine(); todos.add(todo); System.out.println("添加成功"); } private static void displayTodos() { System.out.println("所有待办事项:"); for (String todo : todos) { System.out.println(todo); } } }
import java.util.Scanner; import java.util.regex.Pattern; public class TextProcessor { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入文本:"); String text = scanner.nextLine(); System.out.println("请输入要替换的模式和替换文本:"); String pattern = scanner.nextLine(); String replacement = scanner.nextLine(); System.out.println("替换后的文本:"); System.out.println(processText(text, pattern, replacement)); scanner.close(); } private static String processText(String text, String pattern, String replacement) { return text.replaceAll(Pattern.quote(pattern), replacement); } }结语