Java 多个 if 和多个 else if 的区别

  1. 多个 if 不管你前面ture与否后面的都执行  
  2. else  if 如果前面的有一个成立  那么后面的都不执行
public class Test {
	public static void main(String[] args) {
		int a = 1;
		if (a == 1) {
			System.out.println("1");
		}
		if (a == 2) {
			System.out.println("2");
		}
		if (a == 3) {
			System.out.println("3");
		}
		if (a == 1) {
			System.out.println("1");
		} else if (a == 2) {
			System.out.println("2");
		} else if (a == 3) {
			System.out.println("3");
		} else if (a == 4) {
			System.out.println("4");
		}
	}

}

 

水平有限,若有问题请留言交流。

互相学习,共同进步:) 转载请注明出处谢谢。

 

 

 

转载于:https://my.oschina.net/hp2017/blog/1808980

对于多层多个 if else if,可以使用责任链模式来实现。该模式将请求发送给多个对象,每个对象都有机会处理请求,直到其中一个对象处理请求为止。 以下是一个使用责任链模式实现多层多个 if else if 的 Java 代码: ```java // 定义一个处理请求的接口 interface RequestHandler { void handleRequest(int request); } // 实现处理请求的类 class Level1Handler implements RequestHandler { private RequestHandler nextHandler; public void setNextHandler(RequestHandler handler) { nextHandler = handler; } public void handleRequest(int request) { if (request < 10) { System.out.println("Handled by Level 1 Handler"); } else if (nextHandler != null) { nextHandler.handleRequest(request); } else { System.out.println("No Handler found for request " + request); } } } class Level2Handler implements RequestHandler { private RequestHandler nextHandler; public void setNextHandler(RequestHandler handler) { nextHandler = handler; } public void handleRequest(int request) { if (request < 100) { System.out.println("Handled by Level 2 Handler"); } else if (nextHandler != null) { nextHandler.handleRequest(request); } else { System.out.println("No Handler found for request " + request); } } } class Level3Handler implements RequestHandler { private RequestHandler nextHandler; public void setNextHandler(RequestHandler handler) { nextHandler = handler; } public void handleRequest(int request) { if (request < 1000) { System.out.println("Handled by Level 3 Handler"); } else if (nextHandler != null) { nextHandler.handleRequest(request); } else { System.out.println("No Handler found for request " + request); } } } public class Main { public static void main(String[] args) { RequestHandler handler1 = new Level1Handler(); RequestHandler handler2 = new Level2Handler(); RequestHandler handler3 = new Level3Handler(); handler1.setNextHandler(handler2); handler2.setNextHandler(handler3); // send requests to the handler chain handler1.handleRequest(5); handler1.handleRequest(50); handler1.handleRequest(500); handler1.handleRequest(5000); } } ``` 在上述代码中,我们定义了一个 RequestHandler 接口,包含处理请求的方法 handleRequest。然后实现了三个不同等级的处理请求的类,并将它们串联起来形成一个处理链。最后在 Main 类中,我们创建了一个处理链,并向其发送了多个不同的请求。 使用责任链模式可以有效地解决多层多个 if else if 的问题,使代码更加清晰、易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值