第一次接触Java时,我被它严谨的语法结构所震撼。作为一门诞生于1995年的编程语言,Java凭借"一次编写,到处运行"的特性,至今仍是企业级开发的首选。对于初学者来说,掌握基础语法就像学习一门新语言的字母和单词,是后续编写复杂程序的基石。
Java开发工具包(JDK)是开发Java程序的必备环境。推荐从Oracle官网下载最新的LTS版本(目前是JDK 17)。安装完成后,需要配置环境变量:
验证安装是否成功:
bash复制java -version
javac -version
注意:不同操作系统配置方式略有差异,Windows使用分号分隔路径,而Linux/Mac使用冒号
初学者可以从这些IDE开始:
我个人推荐IntelliJ IDEA,它的智能提示和代码补全对新手非常友好。
经典的Hello World程序:
java复制public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
关键点解析:
Java是强类型语言,所有变量都必须先声明类型:
java复制byte smallNum = 100; // 8位整数
short mediumNum = 30000; // 16位整数
int num = 100000; // 32位整数(最常用)
long bigNum = 100L; // 64位整数(加L后缀)
float pi = 3.14f; // 32位浮点数(加f后缀)
double precisePi = 3.14159;// 64位浮点数(默认)
char letter = 'A'; // 单个字符
boolean flag = true; // 布尔值
提示:整型默认是int,浮点型默认是double,赋值时要注意类型匹配
变量声明语法:
java复制// 变量(可修改)
int count = 10;
count = 20;
// 常量(不可修改)
final double PI = 3.14159;
// PI = 3.14; // 编译错误
命名规范:
java复制int a = 10, b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3 (整数除法)
System.out.println(a % b); // 1 (取余)
java复制System.out.println(a > b); // true
System.out.println(a == b); // false
System.out.println(a != b); // true
java复制boolean x = true, y = false;
System.out.println(x && y); // false (与)
System.out.println(x || y); // true (或)
System.out.println(!x); // false (非)
java复制int c = 10;
c += 5; // 等价于 c = c + 5
c *= 2; // 等价于 c = c * 2
if-else结构:
java复制int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else {
System.out.println("继续努力");
}
switch-case结构:
java复制int day = 3;
switch (day) {
case 1:
System.out.println("周一");
break;
case 2:
System.out.println("周二");
break;
// ...其他case
default:
System.out.println("无效输入");
}
注意:Java 12+支持switch表达式,可以更简洁地返回值
for循环:
java复制for (int i = 0; i < 5; i++) {
System.out.println("当前值: " + i);
}
while循环:
java复制int j = 0;
while (j < 5) {
System.out.println(j);
j++;
}
do-while循环:
java复制int k = 0;
do {
System.out.println(k);
k++;
} while (k < 5);
java复制// break跳出循环
for (int i = 0; i < 10; i++) {
if (i == 5) break;
System.out.println(i);
}
// continue跳过当前迭代
for (int i = 0; i < 5; i++) {
if (i == 2) continue;
System.out.println(i);
}
一维数组:
java复制// 声明并初始化
int[] numbers = {1, 2, 3, 4, 5};
// 访问元素
System.out.println(numbers[0]); // 1
// 遍历数组
for (int num : numbers) {
System.out.println(num);
}
二维数组:
java复制int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
System.out.println(matrix[1][2]); // 6
String类常用方法:
java复制String str = "Hello Java";
System.out.println(str.length()); // 10
System.out.println(str.charAt(4)); // 'o'
System.out.println(str.substring(6)); // "Java"
System.out.println(str.indexOf("Java")); // 6
System.out.println(str.toUpperCase()); // "HELLO JAVA"
提示:Java字符串是不可变的,任何修改操作都会返回新字符串
java复制// 无返回值方法
public static void greet(String name) {
System.out.println("Hello, " + name);
}
// 有返回值方法
public static int add(int a, int b) {
return a + b;
}
java复制public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
java复制public static int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
return n * factorial(n - 1);
}
java复制// 定义类
class Person {
// 字段(属性)
String name;
int age;
// 方法
void introduce() {
System.out.println("我叫" + name + ", 今年" + age + "岁");
}
}
// 创建对象
Person p = new Person();
p.name = "张三";
p.age = 25;
p.introduce();
java复制class Person {
String name;
int age;
// 构造方法
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Person p = new Person("李四", 30);
java复制class BankAccount {
private double balance; // 私有字段
// 公有方法访问私有字段
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public double getBalance() {
return balance;
}
}
java复制try {
int result = 10 / 0; // 除零异常
} catch (ArithmeticException e) {
System.out.println("发生算术异常: " + e.getMessage());
} finally {
System.out.println("这段代码总会执行");
}
学习Java语法就像学习一门新语言的语法规则,开始时可能会觉得繁琐,但随着练习的增加,这些规则会变得自然而然。我在教学过程中发现,初学者最容易犯的错误是忽略分号、大括号不匹配等基础语法问题,建议在编码时保持耐心,逐步培养规范的编码习惯。