zoukankan      html  css  js  c++  java
  • java学习day03-运算符+分支结构

    运算符

    • --1、算数运算符
      •   --包括: +-*/ % ++ --
    • --2、比较运算符:结果是boolean类型
      •   --包括: == !=
    • --3、逻辑运算符:结果是boolean类型
      •   --包括: & | && || + !
    • --4、三元运算符:结果是2或者3
      •   --格式: 1 ? 2 : 3
    • --5、赋值运算符
      •   --包括: = += -= *= /=

     逻辑运算符(重点)  

    单与 & :表示并且关系
      1 & 2 ,如果结果想要得到true,要求是:1和2都是true
    
    单或 | :表示或者关系
      1 | 2 ,如果结果想要得到true,要求是:1是true或者2是true
    
    双与 / 短路与 -- && :表示并且关系,高效
      1 && 2 ,如果1判断不成立得到了false(结果已经注定了就是false),2会被短路,提高效率。
    
    双或 / 短路或 -- || :表示或者关系,高效
      1 || 2 ,如果1判断成立得到了true(结果已经注定了就是true),2会被短路,提高效率。
    1.与运算符
    与运算符用符号“&”表示,其使用规律如下:
    两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
    public class data13
    {
    public static void main(String[] args)
    {
    int a=129;
    int b=128;
    System.out.println("a 和b 与的结果是:"+(a&b));
    }
    }
    运行结果
    a 和b 与的结果是:128
    下面分析这个程序:
    “a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。
    根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。 2.或运算符 或运算符用符号“|”表示,其运算规律如下: 两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。 public class data14 { public static void main(String[] args) { int a=129; int b=128; System.out.println("a 和b 或的结果是:"+(a|b)); } } 运行结果 a 和b 或的结果是:129 下面分析这个程序段: a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,
    根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

    运算符的练习

    练习:自增自减

    package cn.tedu.basic;
    /**
    *@author 作者:李强
    *@email 邮箱:1435430561@qq.com
    * 日期: 2020年4月30日
    */
    //这个类用来测试自增自减
    public class Test2_Zizeng {
    
        public static void main(String[] args) {
            //符号在后,先使用后变化
            int a = 1;
            System.out.println(a++);//1
            System.out.println(a);//2
            //符号在前,先变化后使用
            int b = 1;
            System.out.println(++b);//2
            System.out.println(++a+b+a++);//8
            System.out.println(a);//4
            
            int c = 1;
            System.out.println(c--);//1
            int d =1;
            System.out.println(--d);//0
            System.out.println(--c-c-d--);//0
            
            //System.out.println(a+++a);//a++ 然后+a
            int x = 10;
            int y = 20;
            int z = ++x+y-y--+x--;
            System.out.println(z);//22
            System.out.println(++x+y-y--+x--);//22
            
        }
    }

    练习:求两个数里的大值 ,三个数里的大值(三目运算  1 ? 2 : 3)

     

    package cn.tedu.basic;
    import java.util.Scanner;
    /**
    *@author 作者:李强
    *@email 邮箱:1435430561@qq.com
    * 日期: 2020年4月30日
    */
    //求两个数里的大值
    public class Test3_Max {
        public static void main(String[] args) {
            //定义变量
            System.out.println("请输入一个数a");
            int a=new Scanner(System.in).nextInt();
            System.out.println("请输入一个数b");
            int b=new Scanner(System.in).nextInt();
            System.out.println("请输入一个数c");
            int c=new Scanner(System.in).nextInt();
            System.out.println("输入的数分别为a = "+a+" b = "+b+" c ="+c);
            int max = a>b?a:b;
            System.out.println("两个个数中"+a+" "+b+"的最大的数为:"+max);
            max = max>c?max:c;
            System.out.println("三个数中"+a+" "+b+" "+c+"的最大的数为:"+max); 
    //        int max = (a>b?a:b)>c?(a>b?a:b):c;
    //        System.out.println(max);                    
        }
    }

    练习:平年闰年  

    package cn.tedu.basic;
    import java.util.Scanner;
    /**
    *@author 作者:李强
    *@email 邮箱:1435430561@qq.com
    * 日期: 2020年4月30日
    */
    //测试平年闰年
    public class Test4_Year {
    public static void main(String[] args) {
    System.out.println("请输入年份:");
    int year = new Scanner(System.in).nextInt();
    String desc ="平年";
    //    if ((year%4==0 && year%100!=0) || year%400==0) {
    //desc = "闰年";
    //    System.out.println(year+"年是闰年");
    //    }else {
    //    System.out.println(year+"年不是闰年");
    //    }
    //System.out.println((year%4==0 && year%100!=0) || year%400==0?"闰年":"平年");
    if ((year%4==0 && year%100!=0) || year%400==0) {
    desc = "闰年";
    }
    System.out.println(year+"年是"+desc);
    }
    }

    分支结构

    if分支:

    --语法
            单分支:
            if( 判断条件 ){ 
                满足条件的代码 
            }
            多分支:
            if( 判断条件 ){ 
                满足条件的代码 
            }else{
                不满足条件的代码
            }
            嵌套分支:
            if( 判断条件1 ){ 
                满足条件的代码1 
            }else if( 判断条件2 ){ 
                满足条件的代码2 
            }else if( 判断条件3 ){ 
                满足条件的代码3 
            }else{
                谁都不满足的代码
            }

    练习:商品打折

    package cn.tedu.ifdemo;
    import java.util.Scanner;
    /**
    *@author 作者:李强
    *@email 邮箱:1435430561@qq.com
    * 日期: 2020年4月30日
    */
    //测试商品打折
    public class Test5_Discount {
        public static void main(String[] args) {
            System.out.println("请输入商品价格");
            double price = new Scanner(System.in).nextDouble();
            double dis=price;//折后价
            if (price>=5000) {
                dis=price*0.5;
            }else if (price>=2000) {
                dis=price*0.7;
            }else if (price>=1000) {
                dis=price*0.9;
            } 
            System.out.println("原价是"+price+",折后价为:"+dis);
        }
    }

    练习:成绩分等级

    package cn.tedu.ifdemo;
    import java.util.Scanner;
    /**
    *@author 作者:李强
    *@email 邮箱:1435430561@qq.com
    * 日期: 2020年4月30日
    */
    //统计成绩在哪个等级
    public class Test6_Chengji {
        public static void main(String[] args) {
            System.out.println("请输入学生的成绩");
            double cj = new Scanner(System.in).nextDouble();
            String grade ="";
            if (cj>100 || cj<0) {
                System.out.println("请输入0~100以内的值");
                //return;
                System.exit(0);
            }
            if (cj>=90) {
                grade ="优秀";
            }else if (cj>=80) {
                grade="良好";
            }else if (cj>=70) {
                grade="中等";
            }else if (cj>=60) {
                grade="合格";
            } else {
                grade="不合格";
            }
            System.out.println("学生的成绩为"+cj+",等级属于:"+grade);
        }
    }

    Switch分支:

    概述:

    当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束。

    switch(expr1)中,expr1是一个整数表达式, 整数表达式可以是int基本类型或Integer包装类型,由于byte,short,char都可以隐含转换为int,所以也支持。

    注意: jdk1.7以后新增 String

    语法:

    switch(变量或者表达式){
           case 1:
           case 2:
           case 3:  
           case 4:  
           default:
    
    }    

    练习:数字匹配

    package cn.tedu.ifdemo;
            //这个类用来测试  数字匹配
            //简单了解即可!!
            public class Test7_Switch {
                public static void main(String[] args) {
                    int a = 2 ;
                    //1、参数a相当于把数字2传递成功
                    switch ( a  )  {//0、整型表达式对于数据类型有要求:byte short int char jdk1.7后String
                        //2、开始匹配各种情况
                        case '0' : System.out.println(0); break ;
                        case 1 :System.out.println(1); break ;
                        //3、成功匹配了数字2的情况,并向后穿透所有case,包括default
                        case 2: System.out.println(2);  break ;  //4、break用来结束程序
                        case 3: System.out.println(3); break ;
                        case 4: System.out.println(4); break ;              
                        default : System.out.println(99);
                    }               
                }
            }
  • 相关阅读:
    [Aaronyang] 写给自己的WPF4.5 笔记23 [3d交互与动画 4/4]
    [Aaronyang] 写给自己的WPF4.5 笔记22 [3d交互与动画 3/4]
    [Aaronyang] 写给自己的WPF4.5 笔记21 [3d课 2/4]
    [Aaronyang] 写给自己的WPF4.5 笔记20 [3d课 1/4]
    [Aaronyang] 写给自己的WPF4.5 笔记19[Visual类图文并茂讲解]
    [Aaronyang] 写给自己的WPF4.5 笔记18[几何图形*Geometry图文并茂讲解]
    [Aaronyang紫色博客] 写给自己的WPF4.5-Blend5公开课系列 3
    [Aaronyang紫色博客] 写给自己的WPF4.5-Blend5公开课系列 2-更进一步
    [Aaronyang紫色博客] 写给自己的WPF4.5-Blend5公开课系列 1
    [Aaronyang] 写给自己的WPF4.5 笔记15[AyArc诞生-WPF版本绚丽的环状图,Ay制作,AyWindow强势预览]
  • 原文地址:https://www.cnblogs.com/liqbk/p/12823336.html
Copyright © 2011-2022 走看看