Java流程控制语句

涎涎原创约 2473 字大约 8 分钟...JavaJava

188-Java流程控制语句.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

概念

示例代码

  • if语句
package com.tencent.chapter03;

import java.util.Scanner;

/**
 * <p>Title: IfYuJu_01</p>  
 * <p>
 *    Description: 
 * </p>  
 * @author xianxian 
 * @date 2023年1月3日
 */
public class IfYuJu_01 {
	/**
	 * <p>Title: main</p>  
	 * <p>
	 *    Description: 
	/**
		单一条件判断:
			if(A表达式)
			{
				B语句块;
			}
			
			执行步骤:
				1.判断A表达式
					返回true,执行B语句块,结束判断
					返回false,结束判断
					
	 --------------------------------------------------------------
	 	两个条件:
	 		if(A表达式)
			{
				B语句块;
			}
			else
			{
				C语句块;
			}
			
			执行步骤:
				1.判断A表达式
					返回true,执行B语句块,结束判断
					返回false,执行C语句块,结束判断
	--------------------------------------------------------------
	 	多个条件:
	 		if(A表达式)
			{
				B语句块;
			}
			else if(C表达式)
			{
				D语句块;
			}
			.....
			else
			{
				N语句块;
			}
			
			执行步骤:
				1.判断A表达式
					返回true,执行B语句块,结束判断
					返回false,判断C表达式
				2.判断C表达式
					返回true,执行D语句块,结束判断
					返回false,判断N表达式
				......
				3.如果以上表达式均返回false,默认执行N语句块,结束判断
				
		注意:如果,大括号中,只有一条语句,则可以省略大括号(不建议省略)
	 
	 *
	 * </p>  
	 * @param args
	 */
	public static void main(String[] args) {
		//扫描仪
				Scanner scanner = new Scanner(System.in);
				
				//扫描控制台一行数据(以回车作为结束判断)
				System.out.println("请输入您的年龄:");
				int num = scanner.nextInt();
				
				/**
				 * if : 如果年龄大于0,输出"您的年龄为:N",否则,不作响应
				 */
				if(num > 0)
				{
					//System.out.println("您的年龄为:" + num);
				}
				
				/**
				 * if....else... :  如果年龄大于0,输出"您的年龄为:N" ; 否则,输出"年龄不能小于等于0"
				 */
				if(num > 0)
				{
					System.out.println("您的年龄为:" + num);
				}
				else
				{
					System.out.println("年龄不能小于等于0");
				}
				
				/**
				 * if...else if....else if ....else:
				 * 
				 * 		输入一个学生的成绩,
				 * 			如果成绩大于等于90,输出"优秀"
				 * 			如果成绩大于等于80,小于90,输出"良好"
				 * 			如果成绩大于等于60,小于80,输出"及格"
				 * 			否则,输出"不及格,请继续深造"
				 */
				//扫描一行数据
				System.out.println("请录入学员的成绩:");
				double score = scanner.nextDouble();
				
				//如果成绩大于等于90,输出"优秀"
				if(score >= 90)
				{
					System.out.println("优秀");
				}
				//如果成绩大于等于80,小于90,输出"良好"
				else if(score >= 80 && score < 90)
				{
					System.out.println("良好");
				}
				//如果成绩大于等于60,小于80,输出"及格"
				else if(score >= 60 && score < 80)
				{
					System.out.println("及格");
				}
				//否则,输出"不及格,请继续深造"
				else
				{
					System.out.println("不及格,请继续深造");
				}
	}
}

  • switch 语句
package com.tencent.chapter03;
/**
 * <p>Title: SwitchYuju_02</p>  
 * <p>
 *    Description: 
 * </p>  
 * @author xianxian 
 * @date 2023年1月3日
 */
public class SwitchYuju_02 {
	/**
	 * <p>Title: main</p>  
	 * <p>
	 *    Description: 
		  switch(A表达式)
		  {
		  	   case 取值1:
			  	   		B语句块;
			  	   		break;
			   case 取值2:
			  	   		C语句块;
			  	   		break;
			   .....
			   default:
			   	   N语句块;
		  
		  }
		  
		  注意:
		  	1. switch(A表达式)中的A表达式只能接收byte、short、char、int、long类型,JDK1.7版本以上可以接收String类型
		  	2. case的取值不能重复
		  	3. 如果不使用break,一旦某个case的表达式符合条件,后续所有的case后的语句都会判断执行,所以慎重考虑是否需要使用break语句;
	 * </p>  
	 * @param args
	 */
	public static void main(String[] args) {
		/**
	 	如果周一~周五,输出"写代码使我高兴,写代码使我兴奋!!!"
	 	如果周六~周日,输出"放假使我难过,不能写代码!!!"
		 */
		int weekday = 2;
		//方式一
		switch(weekday)
		{
			//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
			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;
			case 6:
				System.out.println("放假使我难过,不能写代码!!!---6");
				break;
			case 7:
				System.out.println("放假使我难过,不能写代码!!!---7");
				break;
		}
		//方式二
		switch(weekday)
		{
			//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
				System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
				break;
			case 6:
			case 7:
				System.out.println("放假使我难过,不能写代码!!!---6、7");
				break;
		}
		//方式三
		switch(weekday)
		{
			//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
				System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
				break;
			default:
				System.out.println("放假使我难过,不能写代码!!!---6、7");
				break;
		}
		//方式四
		switch(weekday)
		{
			case 6:
			case 7:
				System.out.println("放假使我难过,不能写代码!!!---6、7");
				break;	
			default:
				System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
				break;
		}
		
		//JDK1.7版本以上可以接收String类型
		String week = "星期六";
		switch(week)
		{
			case "星期六":
			case "星期天":
				System.out.println("放假使我难过,不能写代码!!!---6、7");
				break;	
			default:
				System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
				break;
		}
	}
}
  • while与doWhile语句
package com.tencent.chapter03;

import java.util.Scanner;

public class WhileYuDoWhileYujU_03 {
	/**
	 * <p>Title: main</p>  
	 * <p>
	 *    Description: 
	while(A表达式)
		{
		   B语句块;
		}
		
		执行步骤:
			1.判断A表达式
				返回true,执行B语句块,重复执行步骤1
				返回false,结束循环。
	
		-------------------------------------------------
		
		do{
		
		   B语句块;
		   
		}while(A表达式);//分号必须有
		
		执行步骤:
			1.B语句块
			2.判断A表达式
				返回true,执行B语句块,重复执行步骤1
				返回false,结束循环。
				
				
	    while:     先判断,再执行
	    do...while:先执行一次,再判断执行
	 * </p>  
	 * @param args
	 */
	public static void main(String[] args) {
		//使用while循环打印1~10之间的整数
				int num = 1;
				while(num <= 10)
				{
					System.out.println(num);
					num++;
				}
				
				//使用do....while循环打印1~10之间的整数
				int num2 = 1;
				do{
					System.out.println(num2);
					num2++;
					
				}while(num2 <= 10);//分号必须有
				
				//死循环
				/*while(true)
				{
					System.out.println("陷入死循环....");
				}*/
				
				int num3 = 1;
				while(num3 <= 10)
				{
					System.out.println(num3);
					//num++;//忘记添加自增条件
				}
				
				//死循环
				while(true)
				{
					//扫描仪
					Scanner scanner = new Scanner(System.in);
					
					//扫描控制台一行数据(以回车作为结束判断)
					String message = scanner.nextLine();
					
					//当用户输入"exit",退出循环
					if("exit".equals(message))
					{
						System.out.println("我走了................");
						break;
					}
					else
					{
						System.out.println(">>>>:" + message);
					}
				}
				
				//计算从1到100的所有奇数相加(提示利用do...while语句)
				/*int x = 1;
				int sum = 0;
				do{
					sum = sum + x;
					x += 2;
					
				}while(x <= 100);
				
				System.out.println("sum:" + sum);*/
				
				int x = 1;
				int sum = 0;
				do{
					if(x%2 == 1)
					{
						sum = sum + x;
					}
					x++;
					
				}while(x <= 100);
				
				System.out.println("sum:" + sum);
	}
}
  • for语句
package com.tencent.chapter03;
/**
 * <p>Title: ForYuJu_04</p>  
 * <p>
 *    Description: 
 * </p>  
 * @author xianxian 
 * @date 2023年1月3日
 */
public class ForYuJu_04 {
	/**
	 * <p>Title: main</p>  
	 * <p>
	 *    Description: 
	 *    for(A初始化表达式;B循环条件表达式;D后的操作表达式)
		{
		         C执行语句块;
		}
		
		A初始化表达式
	 	B循环条件表达式
		C执行语句块 :1
		-----------------------------
		D后的操作表达式
		B循环条件表达式
		C执行语句块 :2
		-----------------------------
		D后的操作表达式
		B循环条件表达式
		C执行语句块 :3
		-----------------------------
		D后的操作表达式
		B循环条件表达式,判断不符合条件,终止循环
	 * </p>  
	 * @param args
	 */
	public static void main(String[] args) {
		//使用while循环打印1~10之间的整数
				/*int num = 1;
				while(num <= 10)
				{
					System.out.println(num);
					num++;
				}*/
				
				//for循环打印1~10之间的整数
				for(int num=1;num <= 10;num++)
				{
					System.out.println(num);
				}
				
				//测试for循环的执行步骤
				int num = 1;
				for(System.out.println("A初始化表达式");num <= 3;System.out.println("D后的操作表达式"))
				{
					System.out.println("C执行语句块 :" + num);
					num++;
					
					System.out.println("-----------------------------");
				}
				
				//死循环
				/*while(true)
				{
					System.out.println("死循环");
				}*/
				
				/*for(int k = 1;k <= 10;)
				{
					//System.out.println(k);
				}*/
				
				/*for(int k = 1; ;k++)
				{
					System.out.println(k);
				}*/
				
				//嵌套循环
				/*
				 	1.九九乘法表
				 		1*1=1	
						1*2=2	2*2=4	
						1*3=3	2*3=6	3*3=9	
						1*4=4	2*4=8	3*4=12	4*4=16	
						1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
						1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
						1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
						1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
						1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	
								 		
				 	2.
				 		*****
				 		*****
				 		*****
				 		*****
				 		
				 	3. 
				 		*****
				 		****
				 		***
				 		**
				 		*
				    
				    4.
				    	*****
				    	 ****
				    	  ***
				    	   **
				    	    *
				 	
				    5.
				    	 *
				    	***
				       *****
				        ***
				         *
				    6.
				    	 *
				    	***
				       *****
				         *
				    	***
				       *****
				      *******
				      	 *
				      	 *
				      	 *
				      	 *	
				 */
				//1.遍历九次
				for (int i = 1; i <= 9; i++) {
					//2.每次遍历i次
					for (int j = 1; j <= i; j++) {
						System.out.print(j + "*" + i + "=" + (j*i) + "\t");
					}
					System.out.println();
				}
	}
}
  • 终止循环
package com.tencent.chapter03;

import java.util.Scanner;

/**
 * <p>Title: ZhongZhiXunHuan_05</p>  
 * <p>
 *    Description: 
 * </p>  
 * @author xianxian 
 * @date 2023年1月3日
 */
public class ZhongZhiXunHuan_05 {
	/**
	 * <p>Title: main</p>  
	 * <p>
	 *    Description: 
	 *    break:终止整个循环
	 	continue:终止当次循环,程序继续执行下一次循环
	 	
	 	break label:终止指定名称的循环
	 * </p>  
	 * @param args
	 */
	public static void main(String[] args) {
		//break:终止整个循环
				for (int i = 1; i <= 10; i++) {
					
					if(i%4 == 0)
					{
						break;//终止整个循环
					}
					
					System.out.println(i);
				}//1 2 3
				
				
				//continue:终止当次循环,程序继续执行下一次循环
				for (int i = 1; i <= 10; i++) {
					
					if(i%4 == 0)
					{
						continue;//终止当次循环,程序继续执行下一次循环
					}
					
					System.out.println(i);
				}//1 2 3 5 6 7 9 10
				
				
				//break label:终止指定名称的循环
				outer:for (int i = 1; i <= 10; i++) {
					System.out.println("outer:" + i);
					
					inner:while(true)
					{
						Scanner scanner = new Scanner(System.in);
						String message = scanner.nextLine();
						
						System.out.println("inner:" + message);
						
						if("exit inner".equals(message))
						{
							break inner;//退出内部循环
						}
						else if("exit outer".equals(message))
						{
							break outer;//退出外部循环
						}
					}
				}
	}
}

分割线


相关信息

以上就是我关于 Java流程控制语句 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

扩展知识

  1. Eclipse 导包快捷键 ctrl + shift + O

分割线


上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4