条件执行语句 if else、switch case 以及for循环(鸡兔同笼,水仙花),while循环,do while

if语句

if 语句是条件执行语句,基本语法是这样的:

if (括号里面写的是boolean类型的变量 结果是true 或者 false){
	代码块;
}

举个例子:

//因为3>2是true,所以执行大括号内的代码块,输出  我就出去玩
if(3>2){
	System.out.println("我就出去玩");
}
---------------------------------------------------------
//下面的代码块 因为3<2是false,所以不执行大括号内的代码
if(3<2){
	System.out.println("我就不出去玩");
}

if else语句

if else 语句也是条件执行语句,其基本语法如下:

if(3>2){        //3>2是true,所以执行括号内的语句
	System.out.println("我就出去玩");
}else{         //如果if括号内的语句是false,则会执行else大括号内的代码
	System.out.println("我就不出去玩了");
}

switch case语句

switch case 语句是条件执行语句,其基本语法:

switch (括号内可以写的数据类型:int  char  short byte){  //如果括号内是int型,则case 后面跟int型;如果是char型,则case后面跟char类型
	case 1:
		代码块1;
		break;//break 关键字是人为加上去的,如果想依次从case1执行到case4,则不需要加break;如果要想执行完case1之后,不再执行下面的case,则需要加上break
	case 2:
		代码块2;
	case 3:
		代码块3;
	defalut://如果以上case 1,2,3 都不符合 则执行 default
		代码块4;
		

for循环

先来说一下for循环的三个必要条件:初始值,终点判断条件,变化量;
在这里插入图片描述
for循环语句的执行过程

for(int i = 1;i <= 5;i++){
	System.out.println("我跑了"+i+"圈了");
}
//第一步:int i= 1,i<=5成立,执行输出语句,我跑了1圈了;
//第二步:i++ 此时i=2,i<=5成立,执行输出语句,我跑了2圈了;
//第三步:i++ 此时i=3,i<=5成立,执行输出语句,我跑了3圈了;
//第四步:i++ 此时i=4,i<=5成立,执行输出语句,我跑了4圈了;
//第五步:i++ 此时i=5,i<=5成立,执行输出语句,我跑了5圈了;
//第六步:i++ 此时i = 6,i<=5不成立,循环语句结束,但是此时 i==6

再来看下一个代码
注意i++的位置不同,输出结果也不同

for (int i = 1;i <= 5;){
	System.out.println("我跑了"+ i +"圈了");
	i++;
}
//上述语句的运行结果是:           我跑了1圈了
                                        我跑了2圈了
                                        我跑了3圈了
                                        我跑了4圈了
                                        我跑了5圈了
for (int i = 1;i <= 5;){
	i++;
	System.out.println("我跑了"+ i +"圈了");
}
//  上述代码的运行结果:                  我跑了2圈了
                                        我跑了3圈了
                                        我跑了4圈了
                                        我跑了5圈了
                                        我跑了6圈了

再说一下变量的生命周期:变量是存储在栈内存空间的,从声明开始创建出来,用完了之后,立即回收。

for (int i = 1;i <= 5;){
	i++;
	System.out.println("我跑了"+ i +"圈了");
}
System.out.prinln(i);//这时就会编译出错,因为i是定义在for循环内的,现在的for循环已经结束了,所以i就会被回收掉

加工零件问题

甲乙丙丁四个人加工零件,总共有370个

  • 如果甲加工的零件数多10个;
  • 如果乙加工的零件数少20个;
  • 如果丙加工的零件数*2;
  • 如果丁家栋的零件数/2;
  • 那么他们加工的零件数将会相等;
    先来分析:设 他们加工零件数相同是 i 个,那么
    甲:i - 10
    乙:i + 20
    丙:i / 2
    丁:i * 2
    那么就会有等式: i - 10 + i + 20 + i / 2 + i * 2 == 370;
for (int i = 1;i < 92;i++){//因为370/4==92
        if (i - 10 + i + 20 + i / 2 + i * 2 == 370){
            System.out.println(i - 10);   //甲    70
            System.out.println(i + 20);  //乙    100
            System.out.println(i / 2);   //丙     40
            System.out.println(i * 2);   //丁    160
            break;
        }
    }

三位数的水仙花

  int i;
  for (i = 100;i <= 999; i++){
 	 int a = i / 100;           //a是百位数
 	 int c = i % 10;            //c是个位数
     int b = (i % 100) / 10;    // b是十位数
     if (((a * a * a) + (b * b * b) + (c * c * c )) == i){
             System.out.println(i);   //输出结果是153、370、371、407
     }
  }

鸡兔同笼问题

  • 小鸡和兔子共有50个头;
  • 他们的脚有160只;
int x;     //x是小鸡的数
  for (x = 1;x <= 50;x++){
       int y = 50 - x;    //y是兔子的个数
       if ((2 * x + 4 * y) == 160){
             System.out.println(x);    //20
             System.out.println(y);    //30
       }
   }

乘法表

        for (int i = 1;i <= 9;i ++){
            for (int j = 1;j <= i;j++){
                int num = i * j;
                System.out.print(i + " * " + j +" = " + num + " \t ");
            }
            System.out.println();

输出结果:
在这里插入图片描述

数字金字塔

        for (int i = 1;i <= 9;i ++){
            for (int j = 1;j <= i;j++){
                int num = i * j;
                System.out.print(i + " * " + j +" = " + num + "   ");
            }
            System.out.println();

输出结果:
在这里插入图片描述

2–20之间的素数

		for (int i = 2;i <= 20;i++){
            boolean t = true;
            for (int j = 2;j <= i/2;j++){
                if (i % j == 0){
                    t = false;
                    break;
                }
            }
            if (!t){
                System.out.println(i + "不是素数");
            }else {
                System.out.println(i + "是素数");
            }
        }

输出结果:
在这里插入图片描述

关键字 break 和 continue
  1. break:中断本层循环
  2. continue:中断本次循环
int i = 1;
for(i = 1;i <=5;i++){
	for(int j = 1;j <=5;j++){
		if(j == 3){
			break;//中断的是本层for循环,直接进入到第一层for循环,所以只运行j==1和j==2的部分
		}
		System.out.println("我是好学生");//这个语句输出了10遍
	}
}

for(i = 1;i <= 5;i++){
	for(j = 1;j <= 5;j++){
		if(j == 3){
			continue;;//中断的是本次循环,当j==4和j==5时,都执行下面的输出语句
		}
		System.out.println("我是好学生");//这个语句输出了20遍
	}
}

while 和 do while

  • while  语句如下:
      初始值;
      while(终点判断条件){
        代码块;
        变化量;
      }
  • do while 语句 如下:
      初始值;
      do{
        代码块;
        变化量;
      }while(终点判断条件)
//  利用while语句打印乘法表
        int i = 1;
        int j = 1;
        while (i <= 9){
            j = 1;
            while(j <= i){
                System.out.print(i + "*" + j + "=" + i * j + "\t");
                j++;
            }
            System.out.println();
            i++;
        }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值