JAVA流程控制--------条件结构和循环结构(入门也能看懂)

一、IF条件语句

Java使用if语句实现分支控制,if语句有三种表达式

1. 单if条件语句

	if(条件语句)
	{
		执行语句
	}

如果条件语句值为 true,则执行 if 语句中的代码块,否则跳出执行括号之后的语句。

public class Test {
	public static void main(String[] args){
		int x=5;
		if(x<6);
		{
			System.out.print("条件成立,语句被执行!");
		}
	}
}

运行结果
在这里插入图片描述

2. if-else语句

	 if(条件语句)
		 {
			语句1
	 }else{
 		    语句2
	 }

语法说明:if条件语句为真,则执行语句1,否则执行else之后的语句2

public class Test {
 
   public static void main(String args[]){
      int x = 3;
 
      if( x < 2 ){
         System.out.print("这是 if 语句");
      }else{
         System.out.print("这是 else 语句");
      }
   }
}

运行结果
在这里插入图片描述

3. 多重if语句

    if(条件语句1{

	语句1	//真的话执行该语句,否则继续执行else if语句
	
	 }else if(条件语句2){

	语句2
	
	 }else if(条件语句3){

	语句3
	..if里面有多个else if语句,else if语句里面也有多个else if语句
	此处省略,这种称为if语句的嵌套使用
	
	 }else{
	语句n
	 }
import java.util.Scanner;

public class Text4 {
	public static void main(String[] args) {
		//模拟商品打折
		System.out.println("请输入商品价格");
		double prise = new Scanner(System.in).nextDouble();//输入商品价格
		double givePrise = cutMoney(prise);//打折的过程
		System.out.println("打折之后的价格为"+givePrise);
		
		System.out.println("请输入学生成绩");
		int score = new Scanner(System.in).nextInt();
		showScore(score);
	}
	
	//模拟商品打折
	private static double cutMoney(double p) {
		if(p>5000) {
			p*=0.5;
		}else if(p>2000) {
			p*=0.8;
		}else if(p>1000){
			p*=0.9;
		}
		return p;
	}
	
	//统计学员得分
	private static void showScore(int score) {
		if(score>=90){
			System.out.println("该生表现优秀");
		}else if(score>=80 && score<=89) {
			System.out.println("该生表现良好");
		}else if(score>=70 && score<=79) {
			System.out.println("该生表现中等");
		}else if(score>=60 && score<=69) {
			System.out.println("该生表现及格");
		}else {
			System.out.println("该生表现不及格");
		}
	}
}

4. switch语句

 switch  语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支,其表达式如下:
 
	 switch(表达式或者某值){
		 case1 XX:
 		 	语句1
			break;
 		case2 XX:
 			语句2
			 break;
		 case3XX:
			 语句3
			 break;
	 }

运行结果·
在这里插入图片描述

switch 语句有如下规则:
  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

  • switch 语句可以拥有多个 case 语句。

  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

  • switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

实例

public class Test {
   public static void main(String args[]){
      int i = 5;
      switch(i){
         case 0:
            System.out.println("0");
            break;
         case 1:
            System.out.println("1");
            break;
         case 2:
            System.out.println("2");
            break;
         case 3:
             System.out.println("3");
             break;
         case 4:
             System.out.println("4");
             break;
         case 5:
             System.out.println("5");
             break;
      }
   }
}

在这里插入图片描述
显而易见,值与case5语句匹配,执行语句5,遇到break语句,跳出switch语句。

二、循环结构

Java中有三种主要的循环结构:while 循环,do…while 循环,for 循环
循环三要素

  • 循环变量的初始化
  • 循环的判断条件
  • 循环体中改变循环变量的值

1.while循环

特点,先判断,在循环

public class Test1 {
	public static void main(String[] args){
		int i=0;//循环变量初始化
		while(i<5){//循环条件
			System.out.println("我爱学习Java");
			i++;//循环体中改变循环变量的值
		}
	}
}

运行结果
在这里插入图片描述

2.do-while循环

	do{
		循环操作
	}while(循环条件);
	特点:先执行语句,再判断

案例分析

public class Test1 {
   public static void main(String args[]){
      int i=1;
      do{
         System.out.println("我第"+i+"次循环");
         i++;
      }while( i < 6 );
   }
}

运行结果
在这里插入图片描述
while语句和都do-while语句的区别
while语句先判断语句再执行语句,而do-while语句先执行语句再判断,而且至少执行一句语句
共同点:条件语句为假之后跳出循环体

3.for循环

特点:循环次数固定
语法:
for(表达式1(循环变量初始化);表示式2(判断条件);表达式3(更新循环变量)){
执行语句
}

public class Test1 {
   public static void main(String args[]){
      for(int i=1;i<=5;i++){//中间用分号隔开
         System.out.println("我第"+i+"次循环");
      }
   }
}

运行结果
在这里插入图片描述

4.九九乘法表案例分析

public class for_1 {
	public static void main(String[] args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+j*i+"\t");
			}
				System.out.println();
		}
	}
}

详细分析

public class for_1 {
		public static void main(String[] args){
			for(int i=1;i<=9;i++){//这里进入i变量的循环i=1,最大循环9次
				for(int j=1;j<=i;j++){//这里进入j变量的循环,j=1,将j与i做比较
					System.out.print(j+"*"+i+"="+j*i+"\t");//到这里执行第2个for循环里面的语句,实现
					1*1=1,然后j自增变成2,不满足j<=i条件,跳出第2for循环,并打印出1*1
				}
				System.out.println();//执行第一个for循环的语句,这里实现换行的作用
				//然后返回第一个for循环,i自增变成了2,往下执行到了第2个for循环,这里j=1,i=2,输出打1*2=2,然后j自增变成2,j<=i任然成立,输出打印2*2=4,然后j自增变成33<=2不成立,
				跳出第2for循环,这样依次循环,注意的是,第2for循环要循环完才能跳出来,这样每次循环
				的时候第一个for循环只执行一次,而第2for循环循环多次,以达到九九乘法表的打印
			}
		}
}

运行结果
在这里插入图片描述

5.break 关键字和continue 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块,continue 适用于任何循环控制结构中。并且只能用于循环里,作用是让程序立刻跳转到下一次循环的迭代。

import java.util.Scanner;
public class continue_1 {
	public static void main(String[] args){
		Scanner in=new Scanner(System.in);//扫描仪的使用,从键盘输入
        while(true){
        	System.out.println("请输入你的密码:");//从键盘输入你的密码
        	int passworld=in.nextInt();//声明变量接受密码
        	if(passworld!=123456){//该条件表示如果密码不等于正确密码则执行以下语句
        		continue;//密码不正确,跳出本次循环,执行下一次循环,继续输入密码
        	}
        	break;//终止该循环,若输入密码正确,不执行if之后的语句,使用break语句终止该循环
		}
		System.out.println("密码正确");
	}
}

运行结果
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值