Java基础之流程控制语句

流程控制语句

顺序结构

选择结构

if单分支选择结构

public class IfDemo {
    public static void main(String[] args) {
        //随机生成数字:[1,6)
        int num = (int) (Math.random()*6);
        //单一条件 当num > 3时
        if (num > 3){
            System.out.println("num大于3");
        }
        System.out.println("num:"+num);
    }
}

if-else双分支结构

public class IfDemo {
    public static void main(String[] args) {

        int r = (int) (Math.random()*6);
        double PI = 3.14;
        double area = PI * r *r;
        double length = 2 * PI * r;
        if (area >= length){
            System.out.println("面积:"+ area+"大于周长:"+length);
        }else {
            System.out.println("周长:"+length+"大于面积:"+area);
        }
    }
}

if-else if-else多分支结构

public class IfDemo {
    public static void main(String[] args) {

        int age = (int)(Math.random()*100);
        if(age<10){
            System.out.println("儿童");
        }else if(age<20){
            System.out.println("少年");
        }else if(age<30){
            System.out.println("青年");
        }else if(age<50){
            System.out.println("中年");
        }else if(age<70){
            System.out.println("老年");
        }else{
            System.out.println("耄耋");
        }
    }
}

Switch多分支结构

/**
*每个case模块中要添加break,防止多次匹配
*如果多个case中处理的逻辑代码的功能一致,可以考虑在最后添加一次处理
*default代表默认选项,当所有的case都没有匹配到,会执行此选项
*default可以有也可以没有
*/
public class SwitchDemo {
    public static void main(String[] args) {
        int random = (int)(Math.random()*26);
        char ch = (char)('a'+random);
        switch(ch){
			/*
			case 'a':
			System.out.println("元音:"+ch);
			break;
			case 'e':
			System.out.println("元音:"+ch);
			break;
			case 'i':
			System.out.println("元音:"+ch);
			break;
			case 'o':
			System.out.println("元音:"+ch);
			break;
			case 'u':
			System.out.println("元音:"+ch);
			break;
			case 'y':
			System.out.println("半元音:"+ch);
			break;
			case 'w':
			System.out.println("半元音:"+ch);
			break;
			default:
			System.out.println("辅音:"+ch);*/
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
                System.out.println("元音:"+ch);
                break;
            case 'y':
            case 'w':
                System.out.println("半元音:"+ch);
                break;
            default:
                System.out.println("辅音:"+ch);
        }
    }
}

scanner

/**
创建文件扫描器对象,System.in表示标准输入,可以从控制台读取数据(装饰者模式)
public class ScannerDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String s = scanner.nextLine();
            System.out.println(s);

        }
    }
*/

循环结构

while

/*
1到100以内的偶数和
while先判断后执行
while循环的四个步骤:
1.初始化:变量的初始化
2.判断条件:必须要求返回true或者false
3.循环体:具体要执行的逻辑代码
4.变量迭代:促使循环结束,不然会造成死循环
*/
public class WhileDemo{
	public static void main(String[] args){
		int i = 0;
		int sum = 0;
		while(i <= 100){
			if(i % 2 == 0){
				sum += i;
			}
			i++;
		}
	}
}
/*
1到100以内的偶数和
do while先执行逻辑代码后判断
*/
public class DoWhileDemo {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        do {
            if (i % 2 == 0){
                sum +=i;
            }
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}
//for循环体内的变量只能在当前循环体内执行

public class ForDemo{
	public static void main(Stiring[] args){
		int sum = 0;
		for(int i =0; i < 100; i++ ){
			sum += i;
			System.out.println(sum);
		}
	}
}

跳转

/*
break:强行跳出当前循环体,还可以用于多分支switch语句中
注意:多层循环体中,break只能跳出内层循环,return语句是可以直接结束多层循环
*/
public class BreakDemo{
	public static void main(Stiring[] args){
		// 在0-100之间,输出88停止循环,并记录循环了多少次
		/*int count = 0;
		while(true){
				int num = (int)(Math.random()*101);
				count++;
				if(num == 88){
					System.out.println(count+"--"+num);
					break;
				}
		}*/
		//打印输出(1,1)(1,2),(1,3)直到输出(6,6)停止循环
		for(int i = 1;i < 10;i++){
			for(int j = 1; j < 10;j++){
				System.out.println("("+i+","+j+")");
				if(i == 6 && j == 6){
					// break; 只能够跳出内循环,不能够停止,还会继续循环,
					return;//直接结束
				}
			}
		}
	}
}
/*
continue:只能用于循环结构中,跳出本次循环
*/
public class BreakDemo{
	public static void main(Stiring[] args){
		//100-150之间的整数 能被3整除的话不进行输出
		for(int i = 100; i<=150;i++){
			if(i % 3 == 0){
				continue; //后面的不执行跳出本次循环
			}
			System.out.println(i);
		}
	}
}
/*
return语句从当前方法退出,返回到调用该语句的方法中,并继续执行该语句后面的语句
return语句两种格式:
1.return express
·返回一个值给调用该方法的语句
·返回到值的数据类型必须和该方法声明的数据类型一致或者其精度小于该方法声明的数据类型
2.return
该方法声明的需要返回的数据类型为void时,说明该方法不需要返回值,默认就是return void空值,可写可不写
return两种用途:
1:返回值
2:退出当前方法
*/
public class ReturnDemo{
	public static void main(String[] args){
		for(int i = 0; i <10; i++){
			System.out.println(i);
			if(i == 5){
				return;
				System.exit(100);//退出当前程序,直接把jvm杀死参数就是退出程序标示
			}
			System.out.println("程序继续执行")
		}	
	}
}

多重循环

public class ManyFor{
	
	public static void main(String[] args){
		
		//打印九九乘法表
		for(int i = 1;i<10;i++){
			for (int j = 1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}	
	}
}

递归算法

//斐波那契数列
   public class RecursionDemo {
    public static void main(String[] args) {
        for(int i = 1;i<=10;i++){
            System.out.print(getNumber(i)+"\t");
        }
    }
    public static int getNumber(int number){
        if(number==1||number==2){
            return 1;
        }else{
            return getNumber(number-1)+getNumber(number-2);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值