Java简介
Java的历史与特点
Java,由Sun Microsystems于1995年发布,以其跨平台性、面向对象的编程模型、强大的异常处理机制和丰富的类库,迅速在Web开发、企业级应用、移动应用(如Android开发)、大数据处理等领域占据重要地位。Java的核心设计目标是提高开发效率、确保平台独立性和安全性。
Java的应用领域与优势
Java在以下领域展现出强大的优势:
- Web开发:Java EE框架如Spring、Struts支撑了复杂企业级应用的开发。
- 移动开发:通过Java ME,Java可用于开发功能丰富的移动应用。
- 大数据处理:配合Hadoop、Spark等工具,Java成为处理大规模数据的理想选择。
- 云计算与服务器端应用:支持复杂业务逻辑和高并发处理,Java是构建服务器端应用的首选语言之一。
安装Java Development Kit (JDK)
- 访问Oracle官方网站下载适用于操作系统的JDK版本,如访问https://www.oracle.com/java/technologies/javase-jdk11-downloads.html。
- 解压下载的JDK到指定目录,例如
C:\Program Files\Java
。 - 将JDK的
bin
目录添加到PATH
环境变量:- 在Windows中,打开“系统属性”>“高级系统设置”>“环境变量”,在“系统变量”中找到
Path
变量并编辑,将%JAVA_HOME%\bin
添加至变量值的末尾。
- 在Windows中,打开“系统属性”>“高级系统设置”>“环境变量”,在“系统变量”中找到
设置环境变量
- 在“环境变量”中,如果不存在
JAVA_HOME
变量,新建一个指向JDK路径的变量,如JAVA_HOME=C:\Program Files\Java\jdk-11
。 - 确保在系统变量设置中,将
Path
变量更新,添加%JAVA_HOME%\bin
路径。
配置IDE(Eclipse或IntelliJ IDEA)
- 安装IDE:从官方网站下载并安装Eclipse或IntelliJ IDEA。
- 新建项目:启动IDE,选择“文件”>“新建”>“Java项目”,配置项目名称、位置和Java SDK。
- 配置JRE:在项目设置中选择“运行/调试”>“运行配置”,确保“主类”指向Java主类,并选取适当的JRE。
变量与数据类型
Java变量需在使用前声明。基本数据类型包括:
public class Main {
public static void main(String[] args) {
byte b = 10; // 8位,有符号整数
short s = 20; // 16位,有符号整数
int i = 30; // 32位,有符号整数
long l = 40; // 64位,有符号整数
float f = 50.0f; // 32位浮点数
double d = 60.0; // 64位浮点数
char c = 'A'; // 单字符
boolean b1 = true; // 布尔类型
// 引用类型
String str = "Hello, Java!";
int[] array = {1, 2, 3}; // 数组
Person person = new Person(); // 对象引用
}
}
控制结构
条件语句包括if
、else
、switch
,循环语句有for
、while
、do-while
:
public class FlowControl {
public static void main(String[] args) {
int age = 18;
if (age >= 18) {
System.out.println("You are an adult.");
} else {
System.out.println("You are not an adult.");
}
switch (age) {
case 18:
System.out.println("You are 18.");
break;
case 20:
System.out.println("You are 20.");
break;
default:
System.out.println("You are not 18 or 20.");
}
int count = 0;
for (int i = 0; i < 5; i++) {
count++;
}
System.out.println("Count: " + count);
int sum = 0;
int i = 1;
while (i <= 10) {
sum += i;
i++;
}
System.out.println("Sum: " + sum);
int j = 10;
do {
System.out.println("Do-while loop: " + j);
j--;
} while (j > 0);
}
}
函数与方法的定义与调用
方法定义遵循:
public class Methods {
public static void main(String[] args) {
System.out.println(greet("Alice"));
System.out.println(calculateSum(1, 2, 3));
}
public static String greet(String name) {
return "Hello, " + name;
}
public static int calculateSum(int... numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
return sum;
}
}
面向对象编程
类与对象概念
类定义对象的模板:
public class Person {
private String name;
private int age;
public Person() {}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void introduce() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
封装、继承、多态的实现
- 封装:通过
private
,protected
,public
访问控制。 - 继承:通过
extends
关键字。
public class Student extends Person {
private String major;
public Student(String name, int age, String major) {
super(name, age);
this.major = major;
}
@Override
public void introduce() {
super.introduce();
System.out.println("Major: " + major);
}
}
接口与抽象类
定义接口和实现抽象类:
public interface Animal {
void makeSound();
}
public abstract class AnimalBase implements Animal {
@Override
public void makeSound() {
System.out.println("Animal sound");
}
}
public class Dog extends AnimalBase {
@Override
public void makeSound() {
System.out.println("Woof woof!");
}
}
数组与集合
数组的使用与操作
数组操作的示例:
public class ArrayExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(numbers[0]);
numbers[0] = 10;
System.out.println(numbers[0]);
}
}
集合框架(List, Set, Map)的运用
集合类使用示例:
import java.util.*;
public class CollectionExample {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Dave");
uniqueNames.add("Eve");
uniqueNames.add("Charlie");
Map<String, Integer> ageMap = new HashMap<>();
ageMap.put("Alice", 20);
ageMap.put("Bob", 21);
for (String name : names) {
System.out.println(name);
}
for (String name : uniqueNames) {
System.out.println(name);
}
if (ageMap.containsKey("Alice")) {
System.out.println("Alice's age: " + ageMap.get("Alice"));
}
}
}
简单项目实践
创建并运行第一个Java程序
创建Main.java
:
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
在命令行或IDE中运行程序。
实践案例:开发一个简单的学生信息管理系统
实现Student
类、StudentManager
类和StudentManagerExample
类:
public class Student {
private String name;
private int age;
private String grade;
public Student(String name, int age, String grade) {
this.name = name;
this.age = age;
this.grade = grade;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGrade() {
return grade;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", grade='" + grade + '\'' +
'}';
}
}
public class StudentManager {
private List<Student> students;
public StudentManager() {
this.students = new ArrayList<>();
}
public void addStudent(Student student) {
students.add(student);
}
public void removeStudent(String name) {
students.removeIf(s -> s.getName().equals(name));
}
public Student findStudent(String name) {
for (Student student : students) {
if (student.getName().equals(name)) {
return student;
}
}
return null;
}
public void printAllStudents() {
for (Student student : students) {
System.out.println(student);
}
}
}
public class StudentManagerExample {
public static void main(String[] args) {
StudentManager manager = new StudentManager();
manager.addStudent(new Student("Alice", 18, "Grade 12"));
manager.addStudent(new Student("Bob", 17, "Grade 11"));
manager.addStudent(new Student("Charlie", 16, "Grade 10"));
manager.printAllStudents();
Student student = manager.findStudent("Alice");
if (student != null) {
System.out.println("Found student: " + student);
}
manager.removeStudent("Bob");
manager.printAllStudents();
}
}
通过上述内容,你已经掌握了Java的基础知识和实践技巧。为深入探索Java的高级特性,如并发编程、异常处理、设计模式等,建议访问在线编程学习平台如慕课网(imooc.com),获取更多Java相关课程和资源。
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦