JAVA基础知识(三)流程控制

本文介绍了Java中的基本流程控制结构,包括顺序执行、if-else分支、switch语句、for循环、for-each循环以及while循环。通过实例演示了如何运用这些结构来实现条件判断和重复执行任务。
摘要由CSDN通过智能技术生成

JAVA基础知识(三)流程控制

顺序结构

Java中默认的语句执行顺序就是从上到下,按顺序执行。

分支结构

if语句

根据不同的条件(布尔运算结果为truefalse),执行不同的分支(语句块)。

if (条件1) {
	//满足条件1后执行的语句
} else if (条件2) {
	//不满足条件1,但满足条件2后执行的语句
}  else {
	//前面的条件均不满足后执行的语句
}

条件:既布尔运算

else{...}并非必须的

举例:

public class Main {
    public static void main(String[] args) {
        int n = 90;
        if (n >= 90) {
            System.out.println("优秀");
        } else if (n >= 60) {
            System.out.println("及格了");
        } else {
            System.out.println("挂科了");
        }
    }
}
// 来源:https://www.liaoxuefeng.com/wiki/1252599548343744/1259539352677728

switch语句

根据某个表达式的结果,分别执行不同的分支

switch(表达式) {
	case 结果1// 符合结果1执行的分支
			break; // 若不加break,语句将会按顺序继续往下执行结果2的分支
    case 结果2// 符合结果2执行的分支
			break; // 若不加break,语句将会按顺序继续往下执行结果3的分支
    case 结果3case 结果4:    
			// 符合结果3或结果4执行的分支
			break; // 若不加break,语句将会按顺序继续往下执行default的分支
    default:
            // 默认的分支,若以上结果没有相匹配的结果,则默认执行该分支,非必须。
            break;
}

举例:

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
        case "apple":
            System.out.println("Selected apple");
            break;
        case "pear":
            System.out.println("Selected pear");
            break;
        case "mango":
            System.out.println("Selected mango");
            break;
        default:
            System.out.println("No fruit selected");
            break;
        }
    }
}
// 来源: https://www.liaoxuefeng.com/wiki/1252599548343744/1259541030848864

循环结构

for语句

循环执行某个语句块({...}),可以设定循环进行条件、计数器等。

基本结构

for ([初始条件]; [循环检测(进行)条件]; [循环后更新计数器]) {
    // 执行语句
}

例如:求1加至10的和

int sum = 0;
for (int i = 1; i <= 10; i++) {
	sum += i;
}
System.out.println(sum);

初始条件、循环检测条件、循环后更新计数器均可省略不写,如下:

for(;;) {// 这个循环将一直执行下去(死循环)
	//语句
}

但是forwhile的明显区别就在于for循环可以在for内部方便、清晰的设置一个局部使用的循环计数器,所以如果不需要局部计数器,直接使用while循环会更好。

for-each循环

for语句的另一种语法,用来方便的循环遍历数组或可迭代类型(list, map,……)的元素本身。

基本格式

for(<数据类型> 元素名: <数组或可迭代元素>) {
	// 语句
}

举例:循环遍历数组

int[] numbers = {1, 3, 5, 7, 9};
for(int t : numbers) {
	System.out.println(t);
}

while语句

循环执行某个语句块({...}),先进行循环条件的检测,再执行语句块的语法。

基本格式:

while(循环进行条件) {
    // 语句
}

若循环进行条件设置为true,则循环将一直进行。通常会用来写某些需要在程序运行期间需要一直执行的语句。

举例:打印一百次ni,hao

int c = 100;
while(c > 0) {
	System.out.println("ni,hao");
    c--;
} 

break

在循环过程中,可以使用break语句跳出当前循环,不再继续向下执行。

举例:

public class Main {
    public static void main(String[] args) {
        int sum = 0;
        for (int i=1; ; i++) {
            sum = sum + i;
            if (i == 10) {
                break;// 提前结束循环,不再执行for内的语句。
            }
        }
        System.out.println(sum);
    }
}

continue

continue则是提前结束本次循环,直接继续执行下次循环。

举例:计算1到10中奇数的和(仅仅举例说明continue,实际上并不会这么写)

public class DataType {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            if ((i & 1) == 0) { // i为偶数时
                continue;// 直接进行下一次循环
            }  else {// i为奇数时
                sum += i;
            }
        }
        System.out.println(sum);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值