首页 > 编程语言 >JavaSE If执行流程 案例分析

JavaSE If执行流程 案例分析

时间:2024-03-29 21:01:17浏览次数:27  
标签:语句 流程 System else 案例 println JavaSE 执行 表达式

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,
    我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序
    来实现我们要完成的功能。
    
    顺序结构(最常用):代码从上往下一行一行执行

public class ShunXu {
    
    public static void main(String[] args) {
        System.out.println("开始");
        System.out.println("3");
        System.out.println("1");
        System.out.println("2");
        
        System.out.println("结束");
    }
}

    if语句第一种格式: if
    
    if: 如果
    
    
    格式:
        
        if (关系表达式) {
            
            语句体;
        }
        
    
    关系表达式的结果要么是true,要么是false
    
    执行流程:
        如果关系表达式是true就执行语句体
        如果关系表达式是false就不执行语句体
    
    适用场景:
        适用于一种情况的判断
        
    目标: 理解if语句的格式和执行流程

public class IfDemo01 {
	
	public static void main(String[] args) {
		int age = 26;
		
		if (age < 18) {
			System.out.println("未成年,禁止入内....");
		}
		
		// 注意: ;表示一行结束, 千万不要在if()后面添加;
		/*if (false); {
			System.out.println("未成年,禁止入内....");
		}*/
		
		System.out.println("结束");
	}
}

    if语句第二种格式:if...else
    
    else: 否则
    
    格式:
    
        if (关系表达式) {
            
            
           语句体1;
        } else {
            
            
           语句体2;  
        }
        
        
    执行流程
        如果关系表达式是true,就执行 语句体1
        如果关系表达式是false,就执行 语句体2
    
    适用场景:
        适合2种情况的判断
    
    目标: 理解if...else语句的格式和执行流程

public class IfDemo02 {
	
	public static void main(String[] args) {
		// 判断一个数是奇数还是偶数
		int num = 11;
		// 如果这个数除以2余数为0,是偶数,否则是奇数
		if (num % 2 == 0) {
			// 偶数
			System.out.println(num + "是偶数");
		} else {
			System.out.println(num + "是奇数");
		}
	}
}

 

/*
	if语句第三种格式:if...else if...else
	
	格式:
	
		if (关系表达式1) {
			
			
		   执行语句1;
		} else if (关系表达式2) {
			
			
		   执行语句2;
		} else if (关系表达式n) {
			
			
		  执行语句n;
		} else {
			
			
		   执行语句n+1;
		}
	
	
	执行流程
		首先判断关系表达式1看其结果是true还是false
		如果是true就执行语句体1
		如果是false就继续判断关系表达式2看其结果是true还是false
		如果是true就执行语句体2
		如果是false就继续判断关系表达式…看其结果是true还是false
		…
		如果没有任何关系表达式为true,就执行语句体n+1。
	
	总结:
		1.从上往下执行,如果关系表达式为true,就执行后面的代码块
		2.如果关系表达式为false,就看下一个关系表达式
		
	
	适用场景:
		适合多种情况的判断
		
	目标: 理解if...else if语句的格式和执行流程
*/
public class IfDemo03  {
	
	public static void main(String[] args) {
		// x和y的关系满足如下:
		// x>=3 y = 2x + 1;
		// -1<=x<3 y = 2x;
		// x<=-1 y = 2x - 1;
		// 根据给定的x的值,计算出y的值并输出
		int x = -1;
		int y = 0;
		
		if (x >= 3) {
			y = 2 * x + 1;
		} else if (-1 <= x && x < 3) {
			y = 2 * x;
		} else if (x <= -1) {
			y = 2 * x - 1;
		}
		
		System.out.println("y = " + y);
	}
}

标签:语句,流程,System,else,案例,println,JavaSE,执行,表达式
From: https://blog.csdn.net/youmashengyue/article/details/137061869

相关文章

  • C++精品小案例:C++中的多态性及其实现、模板元编程及其在C++中的应用
    1.C++中的多态性及其实现多态性是面向对象编程的三大特性之一,它允许使用父类类型的指针或引用来指向子类对象,并通过这个父类类型的指针或引用来调用实际子类的成员函数。这样,就可以在运行时确定应该调用哪个具体的函数实现,从而实现一个接口多种形态。多态性主要通过虚函数来......
  • KingbaseES V8R3集群运维案例之---failover切换后新主库启动过程
    案例说明:KingbaseESV8R3集群failover切换后,在生产环境中,新主库启动过程中可能会有业务访问,出现‘系统只读’的问题。如下图所示:适用版本:KingbaseESV8R3一、问题分析1、如下所示,failover切换过程:1)在master节点执行failover_stream.sh脚本执行failover切换。2)ping网关地......
  • KingbaseES V8R6集群运维案例之---PGPASSWORD变量导致esrep用户连接主库失败
    案例说明:KingbaseESV8R6集群,在备库执行clone时,esrep用户认证失败,导致clone失败。适用版本:KingbaseESV8R6一、问题现象如下所示,在执行备库clone是,esrep认证失败:备库sys_log日志:(esrep用户认证失败)二、问题分析对于KingbaseESV8R6集群,esrep的用户通过~/.encpwd建立认证(......
  • KingbaseES数据库案例之---输出数据库日志到syslog服务器
    案例说明:生产中心需对数据库日志建立审计,需要将数据库服务器的日志发送到日志服务器集中存储并建立审计。适用版本:KingbaseESV8R3/R6案例主机架构:node201192.168.1.201#数据库主机、syslog客户端node202192.168.1.202#syslog服务器一、构建syslog服务器S......
  • KingbaseES V8R6集群运维案例之---备库register故障
    案例说明:据现场实施人员说,备库执行了clone,启动数据库服务,执行'repmgrstandbyregister'后,无法将备库register到集群。适用版本:KingbaseESV8R6一、问题现象如下图所示,执行'repmgrstandbyregister',register失败:二、问题分析1、repmgrstandbyregister分析如下图所示:......
  • KingbaseES V8R3集群运维案例之---集群启动“DATA_SIZE_DIFF 16 (MB)”故障
    案例说明:为保证集群数据的一致性安全,在主备库的数据相差“DATA_SIZE_DIFF>=16M"以上时,该备库不能参与主备切换,并且通过kingbase_monitor.sh启动集群时,集群将无法启动;本案例对此种故障做了复现,并测试了解决方法。适用版本:KingbaseESV8R3适用版本:KingbaseESV8R3一、案例......
  • KingbaseES V8R3备份恢复案例之---backup_label does not exist in KINGBASE_DATA
    案例说明:在KingbaseESV8R3集群主库执行sys_rman的全备时,出现‘backup_labeldoesnotexistinKINGBASE_DATA’的故障,如下图所示:适用版本:KingbaseESV8R3一、问题现象如下所示,数据库执行sys_rman物理备份:[kingbase@node201bin]$./sys_rman-Usystem-W123456-dtes......
  • KingbaseES集群运维案例之-- V8R3与V8R6集群wal函数应用
    案例说明:KingbaseESV8R3和V8R6集群在通过函数获取wal日志的相关信息时,两个版本的函数名称不同,本案例做了函数应用的对比和总结。适用版本:KingbaseESV8R3/R6一、KingbaseESV8R3相关函数Tips:在V8R3的版本,事务日志名称为xlog。1、查询数据库支持的函数test=#selectpron......
  • kingbaseES V8R6集群运维案例之---配置priority防止failover切换案例
    案例说明:在一主多备的架构中,需要配置一台备库在主备切换时,不能选举为主库。对于repmgr主备切换主库的选择算法如下:Tips:Repmgr选举候选备节点会以以下顺序选举:LSN---->Priority---->Node_ID。系统会先选举一个LSN比较大者作为候选备节点;如LSN一样,会根据Priority优先级进行比......
  • KingbaseES V8R6集群运维案例之---级联备库upstream节点故障
    KingbaseESV8R6集群运维案例之---级联备库upstream节点故障案例说明:在KingbaseESV8R6集群,构建级联备库后,在其upstream的节点故障后,级联备库如何处理?适用版本:KingbaseESV8R6集群架构:案例一:一、配置集群的recovery参数(allnodes)Tips:关闭备库的aut-recovery机制......