流程控制语句(分支结构、循环结构)

分支结构的的概念:

当需要进行条件判断并做出选择时,使用分支结构。

if分支结构

if(条件表达式) {
语句块;
}

案例:

import java.util.Scanner; // 是一个类,可以用这个类来从控制台写入数据,写入数据时要加上


     public static void main(String[] args){
		//1.提示用户输入整数
		System.out.println("请输入两个整数:");
		Scanner sc = new Scanner (System.in); //获取用户输入
		int ia =sc.nextInt();
		int ib =sc.nextInt();
		
		//2.使用if分支结构找到最大值并打印
		/*方法1:使用两个if
		 if(ia >= ib){
			System.out.println("最大值是:" + ia);
		}
		if(ia <ib){
			System.out.println("最大值是:" + ib);
		} */
		
		//方法2:假设第一个数为最大值并记录
		int max = ia;
		 if(ib > max){
			max = ib;
		}
			System.out.println("最大值是:" + max);
				

if else分支结构

if(条件表达式) {
    语句块1;
} else {
    语句块2;
}

案例:


    //使用if else分支结构判断是否为负数和非负数
	public static void main(String[] args){
		System.out.println("请输入一个整数:");
		Scanner sc = new Scanner (System.in); 
		int ia = sc.nextInt();
		if(ia < 0){
			System.out.println(ia + "为负数");
		}else{
			//System.out.println(ia + "为非负数");
			//针对目前非负数再次判断是否为正数和0
			if(ia > 0){
			System.out.println(ia + "为正数");
		    }else{
			System.out.println(ia + "为0");
		    }
			
		}
	} 

if else if else分支结构

if(条件表达式1) {
    语句块1; }
else if(条件表达式2) {
    语句块2; }
else {
    语句块n; }

案例:

    //使用if   else if   else 分支结构来计算出租车计费系统
	public static void main(String[] args){
		System.out.println("请输入公里数和等待的秒数:");
		Scanner sc = new Scanner (System.in); 
		int km = sc.nextInt();
		int sec = sc.nextInt();
		
		int kmprice = 0;
		if(km <= 3){
			kmprice = 13;
		}else if(km <= 15){
			kmprice = 13 + (km - 3) * 2;
		}if(km > 15){
			kmprice = 13 + (15 - 3) * 2 + (km - 15) * 3;
		}
		
		int secprice = sec / 150;
		int sumprice = kmprice + secprice;
		System.out.println("本次行程总费用为:" + sumprice);
	} 

switch case分支结构

switch(变量/表达式) {
    case 字面值1: 语句块1; break;
    case 字面值2: 语句块2; break;
    ...
    default:语句块n;
}
switch() 中支持的数据类型有: byte short char 以及 int 类型,从 jdk1.5
开始支持枚举类型,从 jdk1.7 开始支持 String 类型。

案例:

	//使用if   else if   else 分支结构来判断考试成绩所在等级
    public static void main(String[] args){
		System.out.println("请输入您的考试成绩:");
		Scanner sc = new Scanner (System.in); 
		int score = sc.nextInt();
		
		if(90 <= score && score <= 100){
			System.out.println("等级A");
		}else if(80 <= score ){
			System.out.println("等级B");
		}else if(70 <= score ){
			System.out.println("等级C");
		}else {
			System.out.println("等级E");
		}
	}

循环结构

概念:

  • 在Java程序中若希望重复执行一段代码时,就需要使用循环结构。
  • 任何复杂的程序逻辑都可以通过顺序、分支、循环三种程序结构实现。

for循环

for(初始化表达式; 条件表达式; 修改初始值表达式) {
     循环体;
}
 	//使用for循环,打印100内的奇数
	//方法1:根据奇数概念除余数不等于0
 	public static void main(String[] args) {
		for(int i = 1; i <= 100; i++){
			if(i % 2 !=0){

			System.out.println("i = " + i);
			}
		} 
		
		
		System.out.println("----------------------------------------");
		//方法2:根据两数差值为2
 		for(int i = 1; i <= 100; i += 2){
			System.out.println("i = " + i);
		}  */
		
/*  //使用for循环,打印100内的奇数
	public static void main(String[] args) {
		int sum = 0;
		for(int i = 1; i <= 100; i++){
			sum += i;
		}
		System.out.println("sum =" + sum);
	}

continue关键字

continue语句用在循环体中,用于结束本次循环而开始下一次循环。
//实现 continue关键字的使用
	public static void main(String[] args) {
		
		for(int i = 1; i <= 20; i++){
			//不打印5的倍数
			if(0 == i % 5){
			    continue;//提前结束本次循环,继续下一次循环
			}
			 System.out.println(" i " + i);
		}
	}

双重for循环

for( 初始化表达式 1; 条件表达式 2; 修改初始值表达式 3) {
    for( 初始化表达式 4; 条件表达式 5; 修改初始值表达式 6) {
        循环体 ;
    }
}
//使用双重for打印九九乘法表
	public static void main(String[] args) {
		//1.使用外层for循环控制打印的行数,一共9行
		outer:for(int i =1; i <= 9;i++){
			//2.使用内层for循环控制打印的列数,最多9列,规律是:与当前所在的行数相等
			for(int j =1; j <= i; j++){
			//3.使用内层for循环变量来拼接等式
				System.out.print(j  + "*" +  i + "=" + i*j + " ");
				//4.打印到6*6结束整个打印
				if(6==j){
					//break;//主要用于跳出循环(只能跳出当前所在循环)
					break outer;
				}
			}
		System.out.println();	
		}
	}

break关键字

• break用于退出当前语句块,break用在循环体中用于退出循环。
• for(;;) - 这种没有循环条件的循环叫做 无限循环,俗称“死循环” 。
break一般用于子循环内语句表示循环结束

break关键字跳出多层循环

• 在嵌套的循环结构中,break用于退出所在循环体。
• 如果要退出外层循环体,需要使用标号的方式。
for (...) { 
    for(...) { 
        break;
    } 
 outer: for (...) {
     for(...) {
         break outer;
     } 

while循环

while(条件表达式) {
     循环体;
}
		//倒序打印(如123  321)
		public static void main(String[] args) {
		System.out.println("请输入一个正整数:");
		Scanner sc =new Scanner(System.in);
		int num =sc.nextInt();
		
		 //拆分打印方式
		//while(num > 0){
		//	System.out.print(num % 10);//拆分出个位数
		//	num /= 10;//丢弃个位数,再进入下一次循环
		//} 
		int res = 0;
		int temp = num;//指定变量做numd 替身
		while(temp > 0){
			res = res*10 + temp % 10;//3  32  321
			temp /= 10;              //12  1  0
		} 
		
		System.out.println(res);
	}

while循环和for循环比较

• while循环和for循环完全可以互换,当然推荐使用for循环。
• while循环更适合于明确循环条件不明确循环次数的场合中。
• for循环更适合于明确循环次数或范围的场合中。
• while(true) 等价于 for(;;) 都表示无限循环。

do while循环

do-while循环主要用于至少执行一次循环体的场合中。

do {
   循环体;
} while(条件表达式);
   public static void main(String[] args) throws Exception{		
      String mag = null;
		do{
			System.out.println("正在学习中。。。");
			Thread.sleep(5000); //模拟5秒
			System.out.println("是否合格?");
			Scanner sc =new Scanner(System.in);
			mag =sc.next();
		}while (!"y".equals(mag));
		System.out.println("恭喜合格!");
		
		System.out.println("-----------------------------");
		//笔试考点:有没有分好号
		int i=1;
		while(i<=100);{  //加; 语句不执行(空语句,用于延时)
			System.out.println("i love you!" );
			i++;
		}
		
	}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值