zoukankan      html  css  js  c++  java
  • Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制

    blog: CSDN

    data: Java学习路线及视频

    1.程序流程控制

    • 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
    • 三种基本流程结构
      • 顺序结构---程序从上到下逐行地执行,中间没有任何判断和跳转
      • 分支结构---根据条件,选择性地执行某段代码。有if…else和switch-case两种分支语句
      • 循环结构---根据循环条件,重复性的执行某段代码。有while、do…while、for、foreach三种循环语句。
    Gnfkhd.png

    2.顺序结构

    GnfB4J.png
    • Java中定义成员变量时采用合法的前向引用
    //正确形式
    public class Test{
    	int num1 = 12;
    	int num2 = num1 + 2;
    }
    //错误形式
    public class Test{
    	int num2 = num1 + 2;
            int num1 = 12;
    }
    
    

    3.分支语句1: if-else

    if(条件表达式){
      	执行代码块;
    }
    
    GnhirV.png
    if(条件表达式){
    	执行代码块1;
    }
    else{
    	执行代码块2;
    }
    
    
    Gnh0qf.png
    if(条件表达式1){
    	执行代码块1;
    }
    else if (条件表达式2){
    	执行代码块2;
    }
    ……
    else{
    	执行代码块n;
    }
    
    
    GnhqzR.png
    • 分支结构:if-else使用说明

      • 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
      • 语句块只有一条执行语句时,一对{}可以省略,但建议保留
      • if-else语句结构,根据需要可以嵌套使用
      • 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
      • 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
      • 当多个条件是“包含”关系时,“小上大下 / 子上父下”
    • if-else语句应用举例

    public class AgeTest{
    	public static void main(String args[]){
    		int age = 15; 
    		if (age< 0) {
    			System.out.println("不可能!");
    } else if (age>250) {
    			System.out.println("是个妖怪!");
    } else {
    			System.out.println(“人家芳龄 " + age +" ,马马乎乎啦!");
    			}
    		}
    }
    
    

    4.分支语句2: switch-case

    switch(表达式){
    case 常量1:
    语句1;
    	// break;
    case 常量2:
    	语句2;
    	// break;
    … …
    case 常量N:
    	语句N;
    	// break;
    default:
    	语句;
    	// break;
    }
    
    
    Gn5s3j.png
    • switch-case语句应用举例
    public class SwitchTest {
    	public static void main(String args[]) {
    		int i = 1; 
    		switch (i) 
    		{ case 0:
    			System.out.println("zero");
    			break; 
    		case 1:
    			System.out.println("one"); 
    			break;
    		default:
    			System.out.println("default");
                 break;
    			}
    		}
    }
    
    
    • switch-case语句有关规则
      • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);
      • case子句中的值必须是常量,不能是变量名或不确定的表达式值;
      • 同一个switch语句,所有case子句中的常量值互不相同;
      • break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
      • default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default

    5.switch和if语句的对比

    • 如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。

    • 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。也就是说,使用switch-case的,都可以改写为if-else。反之不成立。

    6.循环结构

    • 在某些条件满足的情况下,反复执行特定代码的功能

      • for 循环
      • while 循环
      • do-while 循环
    • 循环语句的四个组成部分

    • 初始化部分(init_statement)

      • 循环条件部分(test_exp)
    • 循环体部分(body_statement)

      • 迭代部分(alter_statement)

    7.循环结构1:for循环

    • 语法格式
    for (1.初始化部分;2.循环条件部分;3.迭代部分){
    		4.循环体部分;
    }
    
    • 执行过程
    • ①-②-③-④-②-③-④-②-③-④-.....-②
    • 说明
      • ②循环条件部分为boolean类型表达式,当值为false时,退出循环
      • ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
      • ④可以有多个变量更新,用逗号分隔
    • 演示
    GnTnun.png
    • 应用举例
    public class ForLoop {
    	public static void main(String args[]) 
    		{ 
    			int result = 0;
    			for (int i = 1; i <= 100; i++) {
    				result += i;
    		}
    			System.out.println("result=" + result);
    	}
    }
    

    8.循环结构1:while循环

    • 语法格式
    ①初始化部分
    while(②循环条件部分){
    	③循环体部分;
    	④迭代部分;
    }
    
    • 执行过程

    ①-②-③-④-②-③-④-②-③-④-...-②

    • 说明
      • 注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环
      • for循环和while循环可以相互转换
    • 应用举例
    public class WhileLoop {
    	public static void main(String args[]) {
    		int result = 0;
    		int i = 1;
    		while (i <= 100) 
    			{ result += i; 
    			i++;
    		}
    		System.out.println("result=" + result);
    	}
    }
    

    9.循环结构1:do-while循环

    • 语法格式
    ①初始化部分
    do{
    	③循环体部分;
    	④迭代部分;
    }while(②循环条件部分);
    
    • 执行过程

    ①-③-④-②-③-④-②-③-④-...-②

    • 说明
      • do-while循环至少执行一次循环体
    • 应用举例
    public class DoWhileLoop {
    	public static void main(String args[]) 
        { 
            int result = 0, i = 1;
    	do {
    		result += i;
    		i++;
    	} while (i <= 100);
    		System.out.println("result=" + result);
    	}
    }
    
    

    10.结语

    8qXr3n.png

    2020-3-27: Java基础语法(2)-变量

    2020-3-27: Java基础语法(3)-运算符

  • 相关阅读:
    【转】Linux世界驰骋——文件系统和设备管理
    【转】Linux的inode的理解
    【转】名企HR教你如何过网申
    【转】Unix的文件系统的内部结构,主要是超级块、inode相关知识
    【转】Unix系统的心脏Unix文件系统
    【转】Unix环境高级程序设计入门文件系统的相关编程(上)
    【转】电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法详解
    【转】第三节 UNIX文件系统结构
    测试网站各项性能的31 个免费在线工具 (转)
    恋爱
  • 原文地址:https://www.cnblogs.com/cxytester/p/12600850.html
Copyright © 2011-2022 走看看