概述
Java 是由Sun Microsystems(已被Oracle收购)开发的一种面向对象的、跨平台的、解释型的高级编程语言。自1995年首次发布以来,Java 因其强大的跨平台特性、简洁和安全的特性,迅速成为最受欢迎的编程语言之一。Java 在 Web 开发、Android 应用开发、桌面应用、企业级应用等方面都有着广泛的应用。
Java 的发展趋势与应用领域
- Web 开发:Java Web 开发框架如 Spring、Apache Tomcat 等,使得 Java 成为构建复杂 Web 应用的理想选择。
- Android 开发:Java 是 Android 应用的主要开发语言,通过使用 Android Studio 等 IDE,开发者可以轻松构建移动应用。
- 企业级应用:Java Enterprise Edition(Java EE)提供了构建大型、分布式的商业应用所需的框架和工具。
- 大数据与云计算:Java 与 Apache Hadoop、Apache Spark 等大数据处理框架紧密结合,成为处理大规模数据问题的首选语言之一。
Windows 系统下安装 JDK 与 配置环境变量
- 下载 JDK:访问 Oracle 官网下载最新版本的 JDK。
- 安装 JDK:
.\javaws.exe setup.exe
- 配置环境变量:
- 打开 系统属性 > 高级 > 环境变量。
- 添加 JAVA_HOME(指向 JDK 的安装目录)。
- 在 Path 变量中添加
%JAVA_HOME%\bin
。
macOS 与 Linux 系统的安装方法
- macOS:使用 Homebrew 安装 JDK:
brew install adoptopenjdk
- Linux:根据发行版的不同,可以通过包管理器安装(如在 Ubuntu 上使用 apt):
sudo apt-get install default-jdk
使用 IntelliJ IDEA 与 Eclipse 进行开发
- IntelliJ IDEA:
# 下载与安装(以 Linux 为例) wget -q https://download.jetbrains.com/idea/ideaIC_latest.deb sudo dpkg -i ideaIC_latest.deb
- Eclipse:
# 下载与安装(以 Windows 为例) # 下载 Eclipse IDE for Java Developers # 双击安装,选择 Java EE 功能进行安装
变量与数据类型
public class HelloWorld {
public static void main(String[] args) {
int age = 25;
float height = 1.75f;
double pi = 3.14159;
char gender = 'M';
String name = "John Doe";
System.out.println("Age: " + age);
System.out.println("Height: " + height + " meters");
System.out.println("Pi: " + pi);
System.out.println("Gender: " + gender);
System.out.println("Name: " + name);
}
}
控制结构:条件语句、循环及分支
条件语句
public class ConditionalCheck {
public static void main(String[] args) {
int x = 10;
int y = 20;
if (x > y) {
System.out.println("x is greater than y");
} else {
System.out.println("x is not greater than y");
}
}
}
循环与分支
public class LoopControl {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
System.out.println("Even number: " + i);
} else {
System.out.println("Odd number: " + i);
}
}
}
}
函数与方法的定义与调用
public class FunctionUsage {
public static void main(String[] args) {
System.out.println(greeting());
System.out.println(addNumbers(3, 5));
}
public static String greeting() {
return "Hello, World!";
}
public static int addNumbers(int a, int b) {
return a + b;
}
}
面向对象编程
类与对象的概念
public class Employee {
private String name;
private int age;
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
public void introduce() {
System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
}
}
封装、继承与多态的实现
封装
public class Account {
private double balance;
public Account(double balance) {
this.balance = balance;
}
public void deposit(double amount) {
balance += amount;
}
public void withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
} else {
System.out.println("Insufficient funds");
}
}
public double getBalance() {
return balance;
}
}
继承
public class CheckingAccount extends Account {
private double overdraftLimit;
public CheckingAccount(double balance, double overdraftLimit) {
super(balance);
this.overdraftLimit = overdraftLimit;
}
public void withdraw(double amount) {
if (balance + overdraftLimit >= amount) {
balance -= amount;
} else {
System.out.println("Withdrawal exceeds overdraft limit");
}
}
}
多态
public class Vehicle {
public void move() {
System.out.println("Vehicle is moving");
}
}
public class Car extends Vehicle {
public void move() {
System.out.println("Car is moving");
}
}
public class Main {
public static void main(String[] args) {
Vehicle v = new Car();
v.move(); // Outputs: Car is moving
}
}
集合框架与 Stream
集合框架
import java.util.ArrayList;
import java.util.List;
public class CollectionUsage {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
Stream API 处理数据流
import java.util.Arrays;
import java.util.List;
public class StreamExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println("Even numbers: " + evenNumbers);
}
}
实战项目
设计与搭建一个简单的 Java 应用
假设我们设计一个简单的应用来追踪用户的在线时间。用户可以选择登录,应用记录他们的登录时间,并在下次登录时显示他们已在线的总时间。
应用设计
- 用户类(User):包含用户名和在线时间。
- 应用类(App):管理用户和在线时间。
示例代码
import java.util.HashMap;
import java.util.Map;
public class App {
private Map<String, Long> userLogins = new HashMap<>();
public void loginUser(String username) {
userLogins.put(username, System.currentTimeMillis());
}
public long getTotalOnlineTime(String username) {
Long lastLoginTime = userLogins.get(username);
if (lastLoginTime == null) {
return 0;
}
long currentTime = System.currentTimeMillis();
return currentTime - lastLoginTime;
}
public static void main(String[] args) {
App app = new App();
app.loginUser("John");
app.loginUser("Jane");
System.out.println("John's online time: " + app.getTotalOnlineTime("John") + " ms");
System.out.println("Jane's online time: " + app.getTotalOnlineTime("Jane") + " ms");
}
}
通过以上指南,你将从基础知识开始,逐步深入到面向对象编程、Java 集合与流处理,并最终构建一个实际的 Java 应用。整个过程通过配套的代码示例贯穿始终,以帮助你更直观地理解并实践 Java 编程。希望这些内容能够帮助你成为一名熟练的 Java 开发者。
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦