Java_hsp(顺序控制、分支控制、循环控制、break、continue、return)

目录

顺序控制

前向引用

分支控制(if-else)

单分支

双分支

多分支

switch

 细节讨论

switch 和 if 的选择

循环控制

for循环

while循环

do-while循环

多重循环(嵌套循环)

练习

金字塔

空心金字塔

跳转控制语句

break

标签

continue

return


顺序控制

        从上到下的逐步执行,中间没有任何判断跳转

前向引用

        先定义,后使用

分支控制(if-else)

单分支

import java.util.Scanner;
public class If{
    public static void main(String[] args){
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入年龄");
        int age = myScanner.nextInt();
        if(age > 18){
            System.out.println("你的年龄大于18");
        }

    }
}

双分支

import java.util.Scanner;

public class If02{
	public static void main(String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入年龄");
		int age = myScanner.nextInt();
		if(age > 18){
			System.out.println("你的年龄超过18");
		}else{
			System.out.println("你的年龄不大");
		}
	}
}

多分支

import java.util.Scanner;
public class If03{
	public static void main (String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入年龄");
		int age = myScanner.nextInt();
		if(age < 18){
			System.out.println("年龄小于18");
		}else if(age < 30){
			System.out.println("年龄小于30");
		}else{
			System.out.println("年龄大于30");
		}
	}
}

 else可以不写,表示不符合条件的情况下,什么也不做。

switch

import java.util.Scanner;
public class Switch{
	public static void main(String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入年龄");
		int age = myScanner.nextInt();
		switch(age){
			case 18 :
				System.out.println("年龄18");
				break;
			case 30 :
				System.out.println("年龄30");
				break;
			case 50 :
				System.out.println("年龄50");
				break;
			default:
				System.out.println("你老了");
				break;
		}
	}
}

 细节讨论

  • 表达式的数据类型应当与case的常量自动转换可比较
  • 返回值必须是( byte \ short \ int \ char \ enum【枚举】\ String ) 类型
  • case 语句里必须时常量,不可以时变量
  • default 语句时可选的,没有case匹配时,执行 default
  • break语句,用于执行case 分支后跳出switch ,若没有写break ,程序会顺序执行到switch 结尾

switch 和 if 的选择

  1. 判断的数值不多,符合( byte \ short \ int \ char \ enum【枚举】\ String ) 类型,用switch语句
  2. 对区间的判断、对Boolean类型的判断,使用if
  3. if的适用范围更广

循环控制

for循环

for(变量初始;条件;迭代){

        代码块;
}

  • 变量初始(迭代)可以初始化(迭代)多个条件,要求类型一样,并且用逗号隔开
  • 循环条件是一个返回布尔值的一个表达式

while循环

while(循环条件){

        循环体;

        循环变量迭代;

}

do-while循环

do{

        循环体;

        循环变量迭代;

}while(循环条件);

  • do while 也是关键字
  • 有循环四要素,只是位置不一样
  • 先执行,后判断
  • 最后有分号

多重循环(嵌套循环)

for(变量初始;条件;迭代){

        for(变量初始;条件;迭代){

                代码块;
        }

}

共循环m*n次

练习

金字塔

import java.util.Scanner;
public class For01{
	public static void main (String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入金字塔的行数");
		int n = myScanner.nextInt();
		for (int i = 1 ; i <= n ; i++) {//i 表示层数
			//打印空格
			for (int k = 1 ; k <= n - i ; k++) {
				System.out.print(" ");
			}
			//打印星星
			for (int j = 1 ; j <= 2*i-1 ; j++ ) {
				System.out.print("*");
			}
			//换行
			System.out.print("\n");
			
		}
	}
}

空心金字塔

import java.util.Scanner;
public class For01{
	public static void main (String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入金字塔的行数");
		int n = myScanner.nextInt();
		for (int i = 1; i <= n; i++) {//i 表示层数
			//打印空格
			for (int k = 1; k <= n - i; k++) {
				System.out.print(" ");
			}
			//打印星星
			if(i == 1){
				System.out.print("*");
			}else if(i == n){
				for (int j = 1; j <= 2*i-1; j++ ) {
					System.out.print("*");
				}
			}else{
				System.out.print("*");
				for(int j = 0;j < 2*i-3;j++){
					System.out.print(" ");
				}
				System.out.print("*");
			}

			//换行
			System.out.print("\n");
			
		}
	}
}

跳转控制语句

break

        提前结束循环。

//import java.util.Scanner;
public class Break{
	public static void main (String[] args){
		//Scanner myScanner = new Scanner(System.in);
		int i = 0;
		for(;i < 10;i++){
			if(i == 3)break;
		}
		System.out.println("i = " + i);
	}
}

标签

  • 在多层嵌套里,可以通过标签指明要终止哪一层语句。
  • 语法:break 标签名。标签名字由程序员决定。
  • 标签写在for的上一句,与for 对齐
  • 在实际开发环境中,一般不使用

continue

  • 结束本次循环,继续下次循环
  • 也可使用标签,指定跳转该层循环

return

  • 使用在方法中,表示跳出结束所在方法。
  • 如果在main中,表示跳出程序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值