Java流程控制之顺序结构和选择结构if语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,要清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

1、顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

总的来说:写在前面的先执行,写在后面的后执行

顺序结构图:

例子:

public class OperatorDemo {
	public static void main(String[] args) {
		System.out.println("程序开始了");
		System.out.println("↓");
		System.out.println("程序运行中...");
		System.out.println("↓");
		System.out.println("程序结束了");
	}
}

输出结果:

2、选择结构

选择结构也被称为分支结构。

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

Java语言提供了两种选择结构语句:if语句和switch语句

if语句,if语句有三种格式

    (1)第一种格式:

执行流程

if(关系表达式) {//首先判断关系表达式看其结果是true还是false
		     语句体1;//如果是true就执行语句体
		}//如果是false就不执行语句体

 

注意事项:

关系表达式无论简单还是复杂,结果必须是boolean类型。if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。一般来说:有左大括号就没有分号,有分号就没有左大括号

例子:

public class OperatorDemo {
    public static void main(String[] args) {
    int x=10;
    if(x==10){
    System.out.println("x 等于 10");
    }
  }
}

 

输出结果:

 

    (2)if语句第二种格式:

执行流程

if(关系表达式) {//首先判断关系表达式看其结果是true还是false
		     语句体1;//如果是true就执行语句体1
		}else {
			 语句体2;//如果是false就执行语句体2
		}

 

比如三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和if语句的第二种格式很相似,他们在某些情况下应该是可以相互转换的。

if语句第二种格式和三元运算符:

三元运算符的操作都可以使用if语句改进,反之不成立。

什么时候不成立呢?当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。而输出语句却不能作为一个返回结果。

例子:

public class OperatorDemo {
	public static void main(String[] args) {
		int a=10;
		int b=20;
		if(a==b){
			System.out.println("a 等于 b");
		}else{
			System.out.println("a 不等于 b");
		}
	}
}

 

输出结果:

    (3)if语句第三种格式:

执行流程

public static void main(String[] args) {
		if(关系表达式1) {//首先判断关系表达式1看其结果是true还是false
		     语句体1;//如果是true就执行语句体1
		}else  if (关系表达式2) {//如果是false就继续判断关系表达式2,看其结果是true还是false
			 语句体2;//如果是true就执行语句体2
		}//如果是false就继续判断关系表达式…看其结果是true还是false
		……
		else {
			 语句体n+1;//如果没有任何关系表达式为true,就执行语句体n+1
		}

 

例子:

import java.util.Scanner;
public class OperatorDemo {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		//录入数据
		System.out.println("输入你的成绩:");
		int score=sc.nextInt();
		//对录入的数据进行判断
		if(score>=90 && score<=100){
			System.out.println("优秀");
		}else if(score>=80 && score<80){
			System.out.println("好");
		}else if(score>=70 && score<70){
			System.out.println("良");
		}else if(score>=60 && score<70){
			System.out.println("及格");
		}else if(score>=0 && score<60){
			System.out.println("不及格");
		}else{
			System.out.println("你输入的成绩有误");
		}
	  }
}

输出结果:

输入49的时候

输入78的时候

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值