一、为什么选择Java?
Java是一门跨平台、面向对象的编程语言,被广泛应用于企业级开发、安卓应用、大数据处理等领域。它最大的特点是“一次编写,到处运行”,只需要编写一次代码,就能在不同操作系统(Windows、Linux、Mac)上运行。这种特性使得Java开发者无需为不同平台单独编写代码,大大提高了开发效率,也让Java在全球拥有庞大的开发者社区和丰富的技术资源。
二、Java环境搭建
1. 下载JDK
JDK(Java Development Kit)是Java开发的核心工具包,包含了编译和运行Java程序所需的工具。你可以从以下地址下载:
- Oracle JDK官方下载
- OpenJDK下载
2. 安装JDK
下载完成后,双击安装文件,按照提示完成安装。安装过程中记住JDK的安装路径(例如: C:\Program Files\Java\jdk-17 )。
3. 配置环境变量
Windows:
1. 右键点击“此电脑”,选择“属性”→“高级系统设置”→“环境变量”。
2. 在“系统变量”中,新建变量 JAVA_HOME ,值为JDK的安装路径(如 C:\Program Files\Java\jdk-17 )。
3. 在“系统变量”的 Path 中,新建一个变量值 %JAVA_HOME%\bin 。
- Mac/Linux:
1. 打开终端,编辑 .bashrc 或 .zshrc 文件(例如: vi ~/.bashrc )。
2. 添加以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
3. 保存文件后,执行 source ~/.bashrc 使配置生效。
4. 验证安装
打开命令行,输入 java -version 和 javac -version ,如果显示JDK版本信息,说明安装成功!
三、第一个Java程序:Hello World
使用记事本或VS Code等编辑器,创建一个名为 HelloWorld.java 的文件,输入以下代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
代码解析:
- public class HelloWorld :定义一个公共类,类名必须与文件名相同(包括大小写)。
- public static void main(String[] args) :Java程序的入口方法,程序从这里开始执行。
- System.out.println("Hello, World!"); :在控制台打印一行文字。
编译和运行:
1. 打开命令行,进入 HelloWorld.java 所在的文件夹。
2. 执行 javac HelloWorld.java ,如果没有报错,会生成一个 HelloWorld.class 文件。
3. 执行 java HelloWorld ,即可在控制台看到输出 Hello, World! 。
四、Java基础语法
1. 数据类型
Java的数据类型分为基本数据类型和引用数据类型:
- 基本数据类型:
整数类型:byte(1 字节 )、short(2 字节 )、int(4 字节 )、long(8 字节 ),如 int age = 20; 存储整数数据 。
浮点类型:float(4 字节 )、double(8 字节 ),用于表示小数,像 double price = 9.99; 。
字符类型:char(2 字节 ),存储单个字符,例如 char gender = 'M'; 。
布尔类型:boolean,取值 true 或 false,用于条件判断,如 boolean isStudent = true; 。
- 引用数据类型:包括类、接口、数组等,例如 String str = "Hello"; 。
2. 变量和常量
- 变量:存储数据的容器,例如: int score = 90;
- 常量:值不可改变,使用 final 关键字定义,例如: final double PI = 3.14159;
3. 运算符
- 算术运算符: + 、 - 、 * 、 / 、 % (取余)
- 关系运算符: > 、 < 、 == 、 !=
- 逻辑运算符: && (与)、 || (或)、 ! (非)
4. 流程控制
- 条件语句:
if-else 和 switch
int num = 10;
if (num > 5) {
System.out.println("大于5");
} else {
System.out.println("小于等于5");
}
- 循环语句:
for 、 while 、 do-while
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
五、面向对象编程基础
1. 类和对象
- 类:是对象的模板,包含属性和方法。例如:
class Person {
String name;
int age;
void sayHello() {
System.out.println("Hello, my name is " + name);
}
}
- 对象:类的实例,例如:
Person person = new Person();
person.name = "Alice";
person.sayHello();
2. 封装
通过 private 关键字隐藏类的属性,使用 public 方法访问和修改属性,例如:
class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
六、数组
数组是一种用于存储相同数据类型元素的容器,它在内存中是一段连续的空间。
1. 数组的声明与初始化
- 静态初始化:在声明时直接指定元素值
int[] numbers = {1, 2, 3, 4, 5};
- 动态初始化:先指定数组长度,再赋值
String[] names = new String[3];
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";
2. 多维数组
Java支持多维数组,以二维数组为例:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
可以通过 matrix[row][col] 的方式访问元素,例如 matrix[0][1] 的值为2。
七、类的继承
继承是面向对象编程的重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用。
1. 继承的语法
使用 extends 关键字实现继承:
class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
public Dog(String name) {
super(name);
}
public void bark() {
System.out.println(name + " is barking.");
}
}
在子类的构造方法中,通过 super 关键字调用父类的构造方法。
2. 方法重写
子类可以重写父类的方法,需要满足方法签名(方法名、参数列表、返回类型)相同:
class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void eat() {
System.out.println(name + " is eating fish.");
}
}
@Override 注解用于确保方法重写的正确性,如果方法签名不匹配,编译器会报错。
八、抽象类与接口
1. 抽象类
抽象类不能被实例化,它存在的意义是为子类提供一个通用的模板。抽象类中可以包含抽象方法(只有声明,没有实现)和具体方法。例子:
abstract class Shape {
protected String color;
public Shape(String color) {
this.color = color;
}
public abstract double getArea();
public void displayColor() {
System.out.println("Color: " + color);
}
}
class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
2. 接口
接口是一种特殊的抽象类型,其中的方法默认是 public abstract ,属性默认是 public static final 。接口用于实现多继承的效果,一个类可以实现多个接口。
interface Flyable {
void fly();
}
class Bird implements Flyable {
@Override
public void fly() {
System.out.println("Bird is flying.");
}
}
九、ArrayList集合
ArrayList 是Java中最常用的动态数组,它可以自动调整大小,方便地添加、删除和访问元素
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
// 添加元素
list.add("Apple");
list.add("Banana");
// 获取元素
String element = list.get(0);
// 修改元素
list.set(1, "Cherry");
// 删除元素
list.remove(0);
// 遍历集合
for (String s : list) {
System.out.println(s);
}
}
}
十、HashMap集合
HashMap 是一种键值对(key-value)存储的数据结构,用于快速查找和存储数据。
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("Alice", 25);
map.put("Bob", 30);
// 获取值
Integer age = map.get("Alice");
// 修改值
map.put("Bob", 31);
// 删除键值对
map.remove("Alice");
// 遍历集合
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
十一、总结
通过以上内容,你已经掌握了Java的基础入门知识,包括环境搭建、第一个程序、基本语法、面向对象编程、数组、类的继承、抽象类与接口,以及常用集合 ArrayList 和 HashMap 。这些知识是Java编程的基石,后续可以尝试编写更复杂的程序,例如计算器、学生成绩管理系统、简易图书管理系统等,在实践中加深对Java的理解。编程需要多练习,遇到问题多查资料、多思考,祝你在Java学习的道路上越走越远!
1414

被折叠的 条评论
为什么被折叠?



