JAVA基础(四)——程序结构(顺序结构、选择结构if if-else switch、循环结构for while do...while)及相关练习

如果想处理二选一或者多选一的操作,那么判断就是很好的选择,如果想处理重复的工作时,“ 循环”就是一个很好的选择,它可以运行相同的程序片段,还可以使程序结构化。

一般来说程序的结构有顺序结构、选择结构和循环结构3种,这3种不同的结构有一个共同点,就是它们都只有一个入口,也只有一个出口。这些单一入、出口可以让程序易读、好维护,也可以减少调试的时间。下面以流程图的方式让读者了解这3种结构的不同。
1.顺序结构
顺序结构,程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾。其流程图如图所示:
在这里插入图片描述
2.选择结构
其是根据条件的成立与否决定要执行哪些语句的一种结构,其流程图如图所示:
在这里插入图片描述
if语句
生活中很多事情都是在满足一定条件下发生的,同样程序中的“某操作语句”也是在满足一定逻辑条件下才执行的,这种语句称作条件语句,或称为“if 语句”。使用 if 关键字,该“某操作语句”称为“if 体”或“条件语句体”。 在这里插入图片描述
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。
if 分支结构通常用在:在数据有默认值或事件有默认操作的前提下,对特殊情况进行特殊处理的场景。
if语句的执行流程图如下:
在这里插入图片描述

if-else语句
在这里插入图片描述
if-else 语句的执行流程:首先判断关键词if后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体(语句 A),而不执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体(语句 A),而执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句。
由于表达式的值在逻辑上只有真和假,故 if 和 else 在执行流程上是互斥的,执行且只能执行两者中的一个。

[if-else语句的格式]
if (判断条件) {
   
         语句主体1;
}else {
   
         语句主体2;
}

有一种运算符可以代替if…else语句,即三目运算符
在这里插入图片描述
使用三目运算符时,操作数有3个,其格式如下:

变量 = 条件判断? 表达式1: 表达式2

将上面的格式以if语句解释,就是当条件成立时执行表达式1,否则执行表达式2,通常会将这两个表达式之一的运算结果指定给某个变量,也就相当于下面的if…else 语句:

if (条件判断)
        变量x  =  表达式1;
else
        变量x  = 表达式2;
:使用三目运算符求出两个数字中的最大值
public class MaxDemo {
   
      public static void main (String[] args) {
   
           int max = 0;                           //定义变量保存最大值
           int x = 3;                             //定义整型变量x
           int y = 10;                            //定义整型变量y 
           max = x>y ? x : y;                     //通过三目运算符求最大值
           System.out.println("最大值为: " + max); // 输出求出的最大值

程序运行结果:

最大值为:10

可以发现,使用条件运算符编写程序时较为简洁,它用一个语句就可以替代一长串的if-else语句,所以条件运算符的执行速度也较高。

if-else 语句的执行流程图如下:
在这里插入图片描述
if…else if…else语句
如果需要在if…else中判断多个条件时,就需要if…else if…else语句了,其格式如下:

if (条件判断1) {
    
        语句主体1;
}else if (条件判断2) {
   
        语句主体2;
}
//...多个else if ()语句
else{
   
        语句主体3;
}
:使用if...else if...else语句
public class MoreIfElseDemo {
   
      public static void main(String[] args) {
   
             int x=3;                 //定义整型变量x 
             if(x==1) {
                 //判断x的值是否为1
                    System.out.println("x的值是1! ");  //输出信息
             }else if(x==2){
            //判断x的值是否为2
                    System.out.println("x的值是2! "); //输出信息
             }else if(x==3){
            //判断x的值是否为3
                    System.out.println("x的值是3! ") ;//输出信息
             }else {
                    //其他值
                    System.out.println("x的值不是1、2、3中的一个! ");

程序运行结果:
x的值是3!
4.switch case语句
switch语句可以将多选一的情况简化,使程序简洁易懂。case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不再进行判断,直到碰到break或函数结束为止。使用switch语句直接处理多个分支(当然包括两个分支)。其一般形式为:

switch (表达式) {
   
      case选择值1:   语句主体1;
                     break;
      case选择值2:   语句主体2;
                     break;
               ......
      case选择值n:   语句主体n;
                     break;
      default :      语句主体;
                     break;
}
//要特别注意的是,在switch语句中选择值只能是字符或常量。

switch语句的执行流程是: 首先计算switch后面表达式的值,然后用此值依次与各个case的常量表达式比较,若表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句,程序流程转向开关语句的下一个语句。

例:
public class SwitchDemo{
   
      public static void main(String[] args) {
   
            int x=3;                 //声明整型变量x
            int y=6;                 //声明整型变量y
            char oper = '+' ;        //声明字符变量
            switch (oper) {
             //将字符作为switch的判断条件
            case '+': {
   <
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值