Java 作为最流行的编程语言之一,广泛应用于企业开发、Android 应用、大数据等领域。本文将带你从零开始学习 Java 基础语法。
一、第一个 Java 程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
运行结果:
Hello, Java!
代码解析:
public class:定义公共类,类名必须与文件名一致main 方法:程序入口,JVM 从这里开始执行System.out.println():控制台输出语句
二、变量与数据类型
1. 基本数据类型
public class DataType {
public static void main(String[] args) {
// 整数类型
int age = 25;
long population = 7_000_000_000L;
// 浮点类型
double price = 99.99;
float pi = 3.14f;
// 字符类型
char grade = 'A';
// 布尔类型
boolean isJavaFun = true;
System.out.println("年龄:" + age);
System.out.println("价格:" + price);
System.out.println("等级:" + grade);
System.out.println("有趣吗:" + isJavaFun);
}
}
2. 引用数据类型
String name = "张三";
String city = "北京";
System.out.println(name + "住在" + city);
三、运算符
1. 算术运算符
int a = 10, b = 3;
System.out.println("a + b = " + (a + b)); // 13
System.out.println("a - b = " + (a - b)); // 7
System.out.println("a * b = " + (a * b)); // 30
System.out.println("a / b = " + (a / b)); // 3 (整数除法)
System.out.println("a % b = " + (a % b)); // 1 (取余)
2. 关系运算符
int x = 5, y = 10;
System.out.println("x == y: " + (x == y)); // false
System.out.println("x != y: " + (x != y)); // true
System.out.println("x > y: " + (x > y)); // false
System.out.println("x < y: " + (x = 5: " + (x >= 5)); // true
3. 逻辑运算符
boolean a = true, b = false;
System.out.println("a && b: " + (a && b)); // false (与)
System.out.println("a || b: " + (a || b)); // true (或)
System.out.println("!a: " + (!a)); // false (非)
四、控制流程
1. if-else 条件语句
import java.util.Scanner;
public class IfExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入你的年龄:");
int age = scanner.nextInt();
if (age < 18) {
System.out.println("未成年");
} else if (age < 60) {
System.out.println("成年人");
} else {
System.out.println("老年人");
}
scanner.close();
}
}
2. switch 语句
public class SwitchExample {
public static void main(String[] args) {
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
dayName = "星期四";
break;
case 5:
dayName = "星期五";
break;
case 6:
case 7:
dayName = "周末";
break;
default:
dayName = "无效的日期";
}
System.out.println("今天是:" + dayName);
}
}
3. for 循环
public class ForLoop {
public static void main(String[] args) {
// 计算 1 到 100 的和
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1 到 100 的和:" + sum);
// 打印 99 乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "×" + i + "=" + (i*j) + " ");
}
System.out.println();
}
}
}
4. while 循环
public class WhileLoop {
public static void main(String[] args) {
int count = 1;
while (count <= 5) {
System.out.println("第 " + count + " 次循环");
count++;
}
// do-while 循环
int num = 1;
do {
System.out.println("至少执行一次:" + num);
num++;
} while (num <= 3);
}
}
五、数组
public class ArrayExample {
public static void main(String[] args) {
// 声明并初始化数组
int[] numbers = {1, 2, 3, 4, 5};
// 访问数组元素
System.out.println("第一个元素:" + numbers[0]);
System.out.println("数组长度:" + numbers.length);
// 遍历数组
System.out.print("所有元素:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
// 增强型 for 循环
System.out.print("增强 for:");
for (int num : numbers) {
System.out.print(num + " ");
}
// 二维数组
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println("\n二维数组:");
for (int[] row : matrix) {
for (int val : row) {
System.out.print(val + " ");
}
System.out.println();
}
}
}
六、方法(函数)
public class MethodExample {
// 无返回值方法
public static void sayHello(String name) {
System.out.println("你好," + name + "!");
}
// 有返回值方法
public static int add(int a, int b) {
return a + b;
}
// 可变参数
public static int sum(int... numbers) {
int total = 0;
for (int num : numbers) {
total += num;
}
return total;
}
// 递归方法:计算阶乘
public static long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
return n * factorial(n - 1);
}
public static void main(String[] args) {
sayHello("张三");
int result = add(10, 20);
System.out.println("10 + 20 = " + result);
System.out.println("1+2+3+4+5 = " + sum(1, 2, 3, 4, 5));
System.out.println("5 的阶乘 = " + factorial(5));
}
}
七、面向对象基础
1. 类的定义
// 定义一个学生类
class Student {
// 成员变量
String name;
int age;
String major;
// 构造方法
public Student(String name, int age, String major) {
this.name = name;
this.age = age;
this.major = major;
}
// 成员方法
public void study() {
System.out.println(name + "正在学习" + major + "专业");
}
public void introduce() {
System.out.println("我叫" + name + ",今年" + age + "岁");
}
}
// 使用类
public class Main {
public static void main(String[] args) {
Student s1 = new Student("李四", 20, "计算机科学与技术");
Student s2 = new Student("王五", 21, "软件工程");
s1.introduce();
s1.study();
s2.introduce();
s2.study();
}
}
八、实战练习
练习 1:猜数字游戏
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
Random random = new Random();
int target = random.nextInt(100) + 1;
Scanner scanner = new Scanner(System.in);
int attempts = 0;
System.out.println("=== 猜数字游戏 ===");
System.out.println("我已经想好了一个 1-100 之间的数字");
while (true) {
System.out.print("请猜:");
int guess = scanner.nextInt();
attempts++;
if (guess target) {
System.out.println("太大了!");
} else {
System.out.println("恭喜你猜对了!");
System.out.println("总共猜了 " + attempts + " 次");
break;
}
}
scanner.close();
}
}
总结
本文涵盖了 Java 基础语法的核心内容:
- ✅ 变量与数据类型
- ✅ 运算符(算术、关系、逻辑)
- ✅ 控制流程(if、switch、for、while)
- ✅ 数组(一维、二维)
- ✅ 方法定义与调用
- ✅ 面向对象基础(类与对象)
学习建议:
- 多敲代码:把示例代码都亲手敲一遍
- 多练习:完成文中的实战练习
- 理解原理:不要死记硬背,理解为什么这样写
- 循序渐进:基础打牢后再学习高级特性
下节预告:《Java 面向对象进阶:继承、封装、多态》
如果觉得本文有帮助,欢迎收藏、转发,让更多人看到!有任何问题欢迎在评论区留言讨论。
