Java基础语法——分支结构、循环结构和循环嵌套(打印九九乘法表精讲)

Java分支结构(if、if else、switch)、循环结构(while、do while、for)


前言

本节我们来介绍下Java中的循环结构和分支结构


一、分支结构

  分支结构有if、if else、switch,下面就来具体的说一说这些结构的用法以及需要注意的问题

1.if条件语句

格式:if(条件表达式){执行语句;}

我们以一个例子来简单说明if语句的用法,完成程序如下:如果张三玩的石头人没有空大,那么队友就会跟他说666,代码如下:

//如果石头人没有空大则i为1,默认为-1
int i = -1;
System.out.println("石头人快放大!!!");
i = 1if(i == 1){
	System.out.println("666");
}
//输出结果为666

2.if-else条件语句

格式:if(条件表达式){
          执行语句;
      }else {
          执行语句;
      }

还是以一个例子来简单说明,完成程序如下:如果张三玩的石头人没有空大,那么队友就会跟他说666,否则,队友就会说可惜了,代码如下:

//如果石头人没有空大则i为1,默认为-1
int i = -1;
System.out.println("石头人快放大!!!");
if(i == 1){
	System.out.println("666");
}else{
	System.out.println("可惜了");
}
//输出结果为可惜了

3.if-else-if嵌套条件语句

格式:if(条件表达式){
          执行语句;
      }else if(){
          执行语句;
      }else {
          执行语句;
      }

if-else语句嵌套可以控制多个条件,完成程序如下:如果张三玩的石头人没有空大,那么队友就会跟他说666,如果R中2个,队友就会说不错,如果R中3个,队友就会说太棒了,否则,队友就会说可惜了,代码如下:

//如果石头人空大默认为-1
int i = -1;
System.out.println("石头人快放大!!!");
i = 3if(i == 1){
	System.out.println("666");
}else if(i == 2){
	System.out.println("不错");
}else if(i == 3){
	System.out.println("太棒了");
}else{
	System.out.println("可惜了");
}
//输出结果为太棒了

需要的注意问题
  1.如果if只有一条执行语句,那么括号可省略不写,但是为了程序编码规范,一般习惯一条语句也加上括号
  2.if-else的隐性条件判断,如果if的条件a > 60不成立,那么执行else执行语句的a变量相当于是a <= 60

4.switch-case语句

格式:switch(变量或变量表达式){
          case 值1:
          		  语句体;//可选加break;
          case 值2:
          		  语句体;//可选加break;
          case 值3:
          		  语句体;//可选加break;
          //可选加default;
      }
    switch(4){
        case 1:
            System.out.println("666");
            break;
        case 2:
            System.out.println("不错");
            break;
        case 3:
            System.out.println("太棒了");
            break;
        case 4:
             System.out.println("真的厉害");
             break;
        case -1:
             System.out.println("可惜了");
             break;
        default:
        	 System.out.println("大招冷却呢");
        }
        //输出结果:真的厉害

需要的注意问题
  1.switch 语句中的变量类型可以是: byte、short、int、char、String
  2.case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量、或常量的计算表达式(如1+2等)
  3.case中如果有匹配的值则执行相应的语句,依次向下执行,直到结束或者遇到break语句,如果没有相匹配的值则执行default语句,如果再没有default的话则跳出switch语句
  4. default语句可以在任何位置,但建议在最后一个

二、循环结构

  循环结构有while、do while以及for,掌握循环语句要拿准三个要素,第一个是初始化变量赋值,也就是我们循环开始的地方,第二个是判断循环是否继续进行的条件,这点很重要,第三个是每一次循环结束后,控制循环的变量的变化,下面我们来具体介绍下

1.while循环语句

格式:while(条件判断语句){循环体;}

以循环输出1-100的数的和为例,来具体介绍下循环语句的应用方法,代码如下:

//循环输出1-100的和
//一、初始化变量赋值,首先要想一下,我们要求一个1-100的和,首先得有一个变量
//去成为这个和,还要有一个变量去把自身加给这个和,一共有两个变量,这也是
//写循环语句的第一步,初始化变量赋值
int sum = 0;
int m = 1;
//二、判断循环是否继续进行的条件,因为我们要求的是1-100以内的和,所以
//在大于100的时候结束循环
while(m <= 100){
sum += m;
//三、控制循环的变量变化,我们要求的是1-100的和,所以每次只需要加1即可,
//如果求得是1-100的奇数和,那么就可以写成m += 2
m++;
}
System.out.println(sum);
//输出结果为5050

2.do-while循环语句

格式:do{
		循环体;
	}while(条件判断语句)
int i2 = 1;
int num2 = 0;
//无需判断条件直接执行第一步
do {
	num2 += i2;
	i2++;
}while (i2 <= 100);
System.out.println(num2);
//输出结果为5050

需要的注意问题
  1.do while与while循环的最根本的区别是do while循环相当于把循环语句的第一次循环拿出来直接执行一次,且不需要判断条件,而while循环从第一步开始就需要判断条件,也就是说无论如何do while循环至少执行一次

3.for循环语句

for循环相当于把初始化变量赋值,判断语句,控制条件语句整合到了一起,非常方便,也是今后编程中最常用的循环

格式:for(初始化语句;判断语句;条件控制语句){
            循环体语句;
     }

执行流程:
  1.执行初始化语句
  2.执行判断语句,如果是true,继续执行,false循环结束
  3.执行循环体语句
  4.执行条件控制语句
  5.回到第二步

//循环输入1-100的和
int num = 0;
for (int i = 0; i <= 100; i++) {
num += i;
System.out.println(num);
}
//输出结果为5050

需要的注意问题
  1.for循环语句的控制很灵活,两个分号的左右以及中间部分可以按需填写,也可以不写
  2.在任意位置使用break语句后会跳出当前的大循环(考虑到循环嵌套),使用continue 语句会使程序立即跳转到条件控制语句

三、循环嵌套(打印九九乘法表)

  循环嵌套对于很多初学者来说是一个难点,但其实也很好理解,只要找到外部循环与内部循环的关系即可轻松掌握,下面通过几个例子来带大家更好的掌握循环嵌套,先举一个例子:一开始我要跑十圈,代码如下:

for (int i = 1; i <= 10; i++) {
System.out.println("这是我跑的第" + i + "圈");
}

  之后我每跑一圈做十个俯卧撑,然后我再跑下一圈,再做十个俯卧撑, 这里跑十圈是一个循环,而在这十圈之内,我每一圈又做了十个俯卧撑,这就相当于在跑圈这个循环之中又嵌套了一个做俯卧撑的循环,其中跑十圈是外部循环,做俯卧撑是内部循环,代码如下:

//循环嵌套
//跑十圈,每一圈做十个俯卧撑
for (int i = 1; i <= 10; i++) {
	System.out.println("这是我跑的第" + i + "圈");
	//假设现在i为1,也就是我现在是在跑第一圈的过程中,接下来
	//我要做俯卧撑了
	for (int j = 1; j <= 10; j++) {
	//此时i一直为1,j由1-10,直到该循环结束
		System.out.println("这是我跑第" + i +"圈" +
		+ ",做的第" + j +"个俯卧撑");
	}
	//到这里我才跑完第一圈,做完十个俯卧撑,接下来i++,开始
	//第二轮外部循环
}

  通过上面的例子,我们可以轻松的打印出九九乘法表,在这里外部循环i相当于控制了行数,内部循环j相当于控制了列数,这里的外部循环相当于我们在跑圈,内部循环相当于在跑每一圈的时候做的俯卧撑
  观察下图可知,九九乘法表一共有九行,相当于我们跑了九圈,跟我们只跑圈的代码一样,相当于改成了跑九圈

for (int i = 1; i <= 9; i++) {
System.out.println("这是我跑的第" + i + "圈");
}

九九乘法表
  而内部循环就不是每一圈做10个俯卧撑了,这个时候就要观察内部循环和外部循环之间的联系,我们发现,我们跑的圈数跟我们做的俯卧撑数一样,第1圈做1个,第2圈做2个,第3圈做3个…那么这个时候我们的判断条件就要改一下了,也就是,我们每一圈做的俯卧撑数最多和圈数相同,也就是内部循环的变量j(俯卧撑数)要<=外部循环的变量(圈数)
  之前我们的循环嵌套是要做俯卧撑,而现在我们是要打印九九乘法表,这个时候在观察九九乘法表,发现前面的数×后面的数就是俯卧撑数×圈数,也就是内部变量×外部变量,这下我们就可以轻松写出打印九九乘法表的代码:

//打印九九乘法表
for (int i = 1; i <= 9; i++) {
	for (int j = 1; j <= i; j++) {
		System.out.print(j + "×" + i + "=" + i * j + "\t");
	}
	System.out.println();
}

在这里插入图片描述

总结

本节主要介绍了Java的分支结构、循环结构和循环嵌套,详细讲解了如何打印出九九乘法表,希望对各位有所帮助

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan生的小小白

感谢您未来我将提供更精彩的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值