• Java基础学习之流程控制语句(5)


    1.顺序结构

    顺序结构较为简单,即自上而下顺序执行程序。

    2.选择结构

    2.1.if else结构

    语法:

    if (布尔表达式) {
    	//表达式为true时执行
    } else {
    	//表达式为false时执行
    }
    

    例如:

    public class TestIfElse {
    	public static void main(String[] args) {
    		int i = 20;
    		if (i > 20) {
    			System.out.println("i > 20");
    		} else {
    			System.out.println("i 不大于 20");
    		}
    	}
    }
    

    在这种情况下我们只能判断两种情况,条件满足和条件不满足,当条件很多时怎么办?
    这时有个if else的进阶版:

    if (布尔表达式1) {
    	//布尔表达式1为true时执行
    } else if (布尔表达式2) {
    	//布尔表达式2为true时执行
    } else if (布尔表达式3) {
    	//布尔表达式3为true时执行
    } else {
    	//以上表达式都不为true时执行
    }
    

    当然,if else也可以嵌套使用。

    2.2.switch case结构

    语法:

    switch(变量) {
    	case 值1:
    		处理流程;
    		break;
    	case 值2:
    		处理流程;
    		break;
    	case 值3:
    		处理流程;
    		break;
    	...
    	default:默认处理流程;
    }
    

    这里的变量类型有int、short、char和byte,JDK1.7以后支持String。这里的代表的是常量或运算表达式。当所有的case不满足时,执行default
    这里需要注意的是,如果在case中不加break时,会从满足case的地方开始向下执行直到遇到break;default无论放在哪都是所有case不满足或所有case都不带break时执行。

    3.循环结构

    3.1.while结构

    语法:

    while (布尔表达式) {
    	//循环体内容
    }
    

    当布尔表达式为true时,执行循环体,直到布尔表达式为false。当表达式恒true时就是死循环了。
    例如:

    public class TestWhile {
    	public static void main(String[] args) {
    		int i = 10;
    		while (i > 0) {
    			System.out.println(i);
    			i--;
    		}
    	}
    }
    

    运行结果:

    3.2.do while结构

    语法:

    do {
    	//循环体内容
    } while (布尔表达式);
    

    先执行do中的内容,当表达式为true时继续执行do内的东西。
    例如:

    public class TestDoWhile {
    	public static void main(String[] args) {
    		int i = 10;
            do {
                System.out.println(i);
                i--;
            } while (i > 0);
    	}
    }
    

    执行结果:

    3.3.for结构

    3.3.1.普通for循环

    语法:

    for (初始化操作; 布尔表达式; 迭代) {
    	//循环体内容
    }
    

    初始化操作用于声明变量也可以是空语句,布尔表达式为循环是否执行的判断条件,迭代用于控制更新如while中的i--语句。
    整体流程:
    初始化操作,表达式为true执行循环体,执行迭代,判断表达式...;表达式为false,跳出循环。
    例如:

    public class TestFor01 {
    	public static void main(String[] args) {
    		for (int i = 10; i > 0; i--) {
                System.out.println(i);
            }
    	}
    }
    

    执行结果:

    3.3.2.增强for循环

    语法:

    for (变量声明 : 可迭代变量) {
    	//循环体内容
    }
    

    可迭代变量是数组这样的有多个元素单元,后面会说的集合也是类似的可迭代的。
    变量声明为可迭代变量中元素的类型的变量声明。
    主要用于遍历可迭代变量的。
    例如:

    public class TestForEach {
    	public static void main(String[] args) {
    		int[] arr = {1,2,3,4,5,6,7,8,9};
            for (int num : arr) {
                System.out.println(num);
            }
    	}
    }
    

    执行结果:

    4.break和continue

    4.1.break

    break在之前条件结构的switch case语句中遇到过,用于跳出某个结构。在循环中则用于跳出循环。
    例如:

    public class TestBreak {
    	public static void main(String[] args) {
    		int[] arr = {1,2,3,4,5,6,7,8,9};
            for (int num : arr) {
                System.out.println(num);
                if (num == 5) {
                    break;
                }
            }
    	}
    }
    

    执行结果:

    我们发现当num == 5满足时执行break,整个循环都结束了。

    4.2.contine

    continue语义是继续,用于循环结构中,表示结束当前循环继续下一次循环。
    例如:

    public class TestBreak {
    	public static void main(String[] args) {
    		int[] arr = {1,2,3,4,5,6,7,8,9};
            for (int num : arr) {
                if (num == 5) {
                    continue;
                }
                System.out.println(num);
            }
    	}
    }
    

    执行结果:

    我们发现5没有打印,这是因为当num==5满足时,执行continue,需要直接结束当前循环,则后面的寻循环体内容就不执行了。

  • 相关阅读:
    代理模式和策略模式的区别
    代理模式vs适配器模式vs外观模式 转
    装饰模式与代理模式的区别(转载)
    用Delphi实现动态代理(2):设计说明  转
    Java静态内部类的介绍
    非常好的Java反射例子
    Java多线程中的锁机制
    Java多线程共享数据、同步、通信
    Java程序运行超时后退出解决
    Java安全:运用加密技术保护Java源代码
  • 原文地址:https://www.cnblogs.com/liquorppp/p/13563906.html
Copyright © 2020-2023  润新知