zoukankan      html  css  js  c++  java
  • 分支语句

    分支语句

    相对于顺序语句来说,分支语句多用于处理特殊情况,Java中的分支语句有:

    if... else if ... else

    switch...case

    jdk8中switch 可以是字符串类型
    每个case中不要忘了break
    这两个语句是等价的。

    1、程序的结构

    程序默认从上到下顺序执行(顺序结构)
    
    程序的结构:顺序结构、分支结构、循环结构
    

    2、if分支语句

    程序执行的过程中可以有多个选择
    格式:
         if(表达式){
    
              语句块;
         }
    
         ......
    
     进行表达式的求值:如果表达式的值为非0(真) 会执行语句块
                                  0 (假) 不会执行语句块,
    

    3、if分支语句的几种形式

    1)最简单的,要不执行,要不是不执行
    
     if(表达式){
     
     语句块;
    
     }
    
    
    
    2)if.....else......
    
     if(表达式){
    
        语句块1;
    
     }else{
    
        语句块2;
     }
    
     进行表达式的求值:如果表达式的值为(真) 会执行语句块1
                               0 (假) 会执行语句块2
    
     注意:语句块1和语句2只可能被执行一次
    
    
     3)if...else...的嵌套问题
    
     if(表达式1){
    
         if(表达式2){    //表达式1值为1,并且表达式2值为1
    
             语句块1;
    
         }else{
            语句块2;    //表达式1值为1,但是表达式2的值为0
         }
    
     }else{
    
        语句块3;        //表达式1为0的时候
    
     }
    
    
    
    4)if..... else if ......else....
    
     if(表达式1){
    
        语句块1;  //表达式1为真
    
     }else if(表达式2){
       
        语句块2;  //当表达式1不成立,但是表达式2成立
    
     }else{
    
         语句块3; //当表达式1和表达式2都不成立的时候
     }
    

    4、if注意点

    1)if(1)、if(-1)、if(a=5)  永真式   if(0) 永假
    2)if(表达式);  表示判断完了什么都不做
    3) if(表达式) return 0; //程序退出,代码不会再往下执行了
    4) if(表达式){int num=10;}  printf("%d",num);(错误的)
    5)if(表达式) int num=10; (作用域紊乱)
    

    5、switch分支语句

    也是用于条件判断,当表达是的结果有多种情况,用switch比较方便一些
    
    格式:
    
       switch(表达式){
    
          case 整型常量或者字符常量: 语句;
           .....
    
    
          default:
                //如果上面的条件都不满足,执行default
    
       }
    
    
      计算表达式的值,用这个值和case后的常量进行比较,如果这个值等于了某个常量值,会执行case对应的分支语句,遇到break;才结束,如果没有遇到break,程序一直会往下执行,直到switch语句结束
    

    6、switch的注意点

    1)switch(表达式)    表达式:返回值是整型
    2)case 常量        常量:必须是整型的 ,不能是flaoat    cast 2.3:
                       可以放常量表达式,但是不允许:a+3
    3) 作用域的问题
    
       case 3: {
                 int num=-1;
             }
       case 4:printf("%d
    ",num); 不允许的
    
    4)case分之语句可以有多句,可以使用大括号,也可以不使用
    5)作用域紊乱的问题:  case 4:int a=4; (错误的)
    

    简易计算机

    import java.util.Scanner;
    
    public class Calc {
     public static void main(String [] args) {
    
        String expression="", again;
        int result;
        try {
            Scanner in = new Scanner(System.in);
    
            do {
                MyBC evaluator = new MyBC();
    
                System.out.println("Enter a valid postfix expression: ");
                int i=0;
                System.out.println(args[0]+"
    ");
                while(i<args[0].length()){
                    expression += args[0].charAt(i)+" ";
                    i++;
                }
                result = evaluator.turn(expression);
                System.out.println();
                System.out.println("That expression equals " + result);
    
                System.out.print("Evaluate another expression [Y/N]? ");
                again = in.nextLine();
                System.out.println();
            }
            while (again.equalsIgnoreCase("y"));
        } catch (Exception IOException)
    
        {
            System.out.println("Input exception reported");
        }
    }
    

    }

    运行结果图:

  • 相关阅读:
    SpringBoot(八):SpringBoot中配置字符编码 Springboot中文乱码处理
    SpringBoot(二): SpringBoot属性配置文件 SpringBoot多环境配置文件 SpringBoot自定义配置文件
    使用Maven新建SpringBoot工程
    SpringBoot(四): SpringBoot web开发 SpringBoot使用jsp
    SpringBoot(三):SpringBoot热部署插件
    SpringBoot(六):SpringBoot中如何使用Servlet?
    ARQ自动重传请求与UDP提供可靠交付
    多线程程序中操作的原子性转帖
    多目录的Makefile
    VC++小小绘图程序
  • 原文地址:https://www.cnblogs.com/lyx1996/p/6978172.html
Copyright © 2011-2022 走看看