Java 基本语法详解(二)

AI的出现,是否能替代IT从业者? 10w+人浏览 1.6k人参与

Java 基本语法详解(二)

四、流程控制语句

2. 循环结构(重复执行代码块)

循环结构用于在满足条件时重复执行一段代码,Java 中常用的循环有for、while和do-while三种。

(1)for 循环(适合已知循环次数的场景)

格式:

for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体(条件为true时执行的代码)
}
  • 初始化表达式:循环开始前执行一次,用于初始化循环变量(如int i = 0);

  • 条件表达式:每次循环前判断,结果为true则执行循环体,为false则退出循环;

  • 更新表达式:每次循环体执行后执行,用于更新循环变量(如i++)。

示例 1:遍历 1 到 5 的整数并打印
public class ForLoopDemo1 {
    public static void main(String[] args) {
        // 遍历1-5
        for (int i = 1; i <= 5; i++) {
            System.out.println("i = " + i);
        }
    }
}

输出结果:

i = 1
i = 2
i = 3
i = 4
i = 5
示例 2:遍历数组(增强 for 循环,JDK 5 + 支持)

增强 for 循环(foreach)简化数组 / 集合的遍历,无需关注下标,格式:

for (元素类型 变量名 : 数组/集合) {
    // 循环体(变量名代表当前遍历的元素)
}
public class ForLoopDemo2 {
    public static void main(String[] args) {
        int[] scores = {85, 92, 78, 95, 88};
        // 增强for循环遍历数组
        for (int score : scores) {
            System.out.println("成绩:" + score);
        }
    }
}

输出结果:

成绩:85
成绩:92
成绩:78
成绩:95
成绩:88
(2)while 循环(适合未知循环次数,仅需条件判断的场景)

格式:

while (条件表达式) {
    // 循环体(条件为true时执行)
}
  • 先判断条件表达式,若为true则执行循环体,执行后再次判断条件,直至条件为false退出循环;

  • 注意:若条件始终为true,会导致 “死循环”(需避免,除非有特殊业务场景)。

示例:计算 1 到 100 的累加和
public class WhileLoopDemo {
    public static void main(String[] args) {
        int sum = 0; // 存储累加和
        int i = 1;   // 循环变量
        // 当i<=100时,执行循环
        while (i <= 100) {
            sum += i; // 等价于sum = sum + i
            i++;      // 更新循环变量
        }
        System.out.println("1到100的累加和:" + sum); // 输出:5050
    }
}
(3)do-while 循环(先执行一次循环体,再判断条件)

格式:

do {
    // 循环体(至少执行一次)
} while (条件表达式);
  • 与while的区别:do-while先执行循环体,再判断条件,因此循环体至少执行一次;while先判断条件,条件不满足则一次都不执行。
示例:获取用户输入,直到输入正确的数字
import java.util.Scanner; // 导入输入类

public class DoWhileLoopDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建输入对象
        int correctNum = 5; // 正确数字
        int inputNum;       // 存储用户输入
        
        do {
            System.out.print("请输入数字5:");
            inputNum = scanner.nextInt(); // 获取用户输入
        } while (inputNum != correctNum); // 输入不正确则继续循环
        
        System.out.println("输入正确!");
        scanner.close(); // 关闭输入流
    }
}

输出结果(假设用户先输入 3,再输入 5):

请输入数字5:3
请输入数字5:5
输入正确!

3. 循环控制语句(改变循环执行流程)

(1)break 语句
  • 作用:跳出当前循环(for/while/do-while)或switch语句;

  • 若在嵌套循环中,仅跳出当前所在的内层循环。

示例:找到 10 以内的第一个偶数并跳出循环
public class BreakDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i % 2 == 0) { // 判断是否为偶数
                System.out.println("10以内的第一个偶数:" + i); // 输出:2
                break; // 跳出循环,后续循环不再执行
            }
        }
    }
}
(2)continue 语句
  • 作用:跳过当前循环的剩余代码,直接进入下一次循环的条件判断;

  • 不会跳出循环,仅跳过当前次循环。

示例:打印 1 到 10 中的奇数(跳过偶数)
public class ContinueDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i % 2 == 0) { // 判断是否为偶数
                continue; // 跳过当前次循环,不执行后续打印
            }
            System.out.println("奇数:" + i);
        }
    }
}

输出结果:

奇数:1
奇数:3
奇数:5
奇数:7
奇数:9

五、方法(函数)的定义与调用

方法是一段封装好的、可重复调用的代码块,用于实现特定功能,能提高代码的复用性和可读性。

1. 方法的基本结构

格式:

修饰符 返回值类型 方法名(参数列表) {
    // 方法体(实现功能的代码)
    [return 返回值;] // 若返回值类型不为void,需用return返回对应类型的值
}
  • 修饰符:控制方法的访问权限,常见的有public(公开)、static(静态,可直接通过类名调用);

  • 返回值类型:方法执行后返回的数据类型,若无需返回值,用void表示;

  • 方法名:遵循 “小驼峰命名法”(如calculateSum),见名知意;

  • 参数列表:方法接收的输入数据,格式为 “数据类型 参数名”,多个参数用逗号分隔(如int a, int b);

  • return 语句:若返回值类型不为void,必须用return返回一个与类型匹配的值;若为void,return可省略(或用于提前退出方法)。

2. 方法的分类

(1)无参数无返回值方法

示例:定义一个打印欢迎信息的方法

public class MethodDemo1 {
    // 无参数无返回值方法
    public static void printWelcome() {
        System.out.println("欢迎学习Java!");
        System.out.println("一起加油!");
    }

    public static void main(String[] args) {
        // 调用方法(静态方法通过“类名.方法名()”调用)
        MethodDemo1.printWelcome();
        // 也可省略类名(当前类中的静态方法)
        printWelcome();
    }
}

输出结果:

欢迎学习Java!
一起加油!
欢迎学习Java!
一起加油!
(2)有参数无返回值方法

示例:定义一个方法,接收姓名参数并打印问候语

public class MethodDemo2 {
    // 有参数无返回值方法(参数:String name)
    public static void printGreeting(String name) {
        System.out.println("你好," + name + "!");
    }

    public static void main(String[] args) {
        // 调用方法时需传入与参数类型匹配的值(实参)
        printGreeting("Alice");
        printGreeting("Bob");
    }
}

输出结果:

你好,Alice!
你好,Bob!
(3)有参数有返回值方法

示例:定义一个方法,接收两个整数参数,返回它们的和

public class MethodDemo3 {
    // 有参数有返回值方法(参数:int a, int b;返回值类型:int)
    public static int calculateSum(int a, int b) {
        int sum = a + b;
        return sum; // 返回计算结果
    }

    public static void main(String[] args) {
        // 调用方法,接收返回值并打印
        int result1 = calculateSum(3, 5);
        System.out.println("3 + 5 = " + result1); // 输出:8

        // 直接在表达式中使用返回值
        int result2 = calculateSum(10, 20) * 2;
        System.out.println("(10 + 20) * 2 = " + result2); // 输出:60
    }
}

3. 方法的重载(Overload)

方法重载是指在同一个类中,定义多个方法名相同但参数列表不同的方法(参数个数不同、或参数类型不同、或参数顺序不同),用于实现相似功能,提高代码灵活性。

注意:
  • 方法重载与返回值类型无关,仅由方法名和参数列表决定;

  • 调用重载方法时,JVM 会根据传入的实参类型和个数,自动匹配对应的方法。

示例:定义多个计算和的重载方法
public class MethodOverloadDemo {
    // 1. 两个int相加
    public static int calculateSum(int a, int b) {
        return a + b;
    }

    // 2. 三个int相加(参数个数不同,重载)
    public static int calculateSum(int a, int b, int c) {
        return a + b + c;
    }

    // 3. 两个double相加(参数类型不同,重载)
    public static double calculateSum(double a, double b) {
        return a + b;
    }

    public static void main(String[] args) {
        System.out.println("2 + 3 = " + calculateSum(2, 3)); // 调用1,输出5
        System.out.println("2 + 3 + 4 = " + calculateSum(2, 3, 4)); // 调用2,输出9
        System.out.println("2.5 + 3.5 = " + calculateSum(2.5, 3.5)); // 调用3,输出6.0
    }
}

六、Java 语法规范(编码习惯)

遵循规范的语法格式能让代码更易读、易维护,是团队开发的基础,常见规范如下:

  1. 缩进:代码块(如if、for、方法体)需缩进(通常 4 个空格),层次分明;

  2. 命名

  • 类名:遵循 “大驼峰命名法”,首字母大写(如HelloWorld、Student);

  • 方法名 / 变量名:遵循 “小驼峰命名法”,首字母小写,后续单词首字母大写(如calculateSum、studentName);

  • 常量名:全大写,单词间用下划线分隔(如MAX_SCORE、PI);

  1. 注释
  • 单行注释:// 注释内容(用于解释单行代码);

  • 多行注释:/* 注释内容 */(用于解释多行代码或代码块);

  • 文档注释:/** 注释内容 /(用于生成 API 文档,可包含方法功能、参数、返回值说明,如/* @param a 第一个整数 */);

  1. 代码换行
  • 分号;、逗号,后换行(如循环变量定义、参数列表);

  • 大括号{与代码同行,}单独换行(如类、方法、循环体);

  1. 空格
  • 运算符(如+、=、>)前后加空格(如int sum = a + b;);

  • 括号()前后不加空格(如if (i > 0),而非if ( i > 0 ))。

示例:规范的 Java 代码格式
/**
 * 这是一个计算工具类(文档注释)
 * 包含求和、求最大值等方法
 */
public class CalculationUtil {
    // 常量:最大值(单行注释)
    public static final int MAX_VALUE = 1000;

    /**
     * 计算两个整数的和(文档注释)
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的和
     */
    public static int getSum(int a, int b) {
        // 多行注释:
        // 1. 计算a和b的和
        // 2. 返回结果
        int sum = a + b;
        return sum;
    }

    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 20;
        int result = getSum(num1, num2);
        System.out.println(num1 + " + " + num2 + " = " + result);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值