• java学习第03天(运算符、语句)


    5.运算符

    (1)算数运算符

    //算数运算符:+ - * / %(取余)
    //++ --(自增,就是在原有数据基础上+1,再赋给原有数据)
    ///int x = 6370;
    //x = x/1000*1000;
    //int a = 4, b = 5;
    //int a = 3,b;
    //b = a++;
    //System.out.println("a="+a+",b="+b);
    //int i = 3;
    //i = i++;
    //System.out.println(i);

    (2)赋值运算符

    //赋值运算符: = += -+ *= /+
    //int a,b,c;
    //a = b = c = 3;
    short a = 4;
    //a+=2;//编译成功,自动进行了类型的提升。赋值过程中做了强制转换动作。是赋值运算具有的特点。
    a = a+2;//编译失败,+的值不确定,可能会丢失精度。
    System.out.println(a);

    (3)比较运算符

    class OperateDemo
    {
      public static void main(String[] args)
      {
         /*
            输出true,比较运算符,运算出肯定室友结果,比较运算符运算出的结果要么是true,要么是false
         */
         System.out.println(3>2);
      }
    }

    比较运算符

    运算符

    运算

    范例

    结果

    ==

    相等于

    4==3

    false

    !=

    不等于

    4!=3

    true

    小于

    4<3

    false

    大于

    4>3

    true

    <=

    小于等于

    4<=3

    false

    >=

    大于等于

    4>=3

    false

    instanceof

    检查是否是类的对象

    “Hello”  instanceof String

    true

    注1:比较运算符的结果都是boolean型,也就是要么true,要么false。

    注2:比较运算符“==”,不能误写成“=”

    (4)逻辑运算符

    逻辑运算符有什么作用?

    用于连接两个boolean类型的表达式

    运算符

    运算

    范例

    结果

    &

    and(与)

    false&true

    false

    |

    • or(或)

    false|true

    true

    ^

    xor(异或)

    false^true

    true

    !

    not(非)

    !true

    false

    &&

    and(短路)

    false&&true

    false

    ||

    • or(短路)

    false||true

    true

    class OperateDemo
    {
       public static void main(String[] args)
       {
          /*
            输出true,比较运算符,运算出肯定室友结果,比较运算符运算出的结果要么是true,要么是false
          逻辑运算符有什么作用?
          用于连接两个boolean类型的表达式
          |  运算特点:
            |运算两边只要有一个是true,结果肯定是true。
            只要两边都是false,结果是false。
            true^true = true;
            true^false = true;
            false^true = true;
            false^false = false;
          ^  异或:和或有点不一样。
            ^运算特点:
            ^符号两边如果相同,结果是false。
            两边的结果不同,结果是true。
            true^true = false;
            true^false = true;
            false^true = true;
            false^false = false;
          && 下面对比&与&&的相同点和不同点
            &&:和&运算的结果是一样的,但是运算过程有点小区别
            &:无论左边的运算结果是什么,右边都参与运算。
            &&:当左边为假时,右边是不参与运算的。
            int x = 3;
            &&与与
            x>2 & x<5  true
            x>2 && x<5  true
            int x = 6;
            &&与与
            x>2 & x<5  false
            x>2 && x<5  false
            int x = 1;
            &&与与
            x>2 & x<5  false
            x>2 && x<5  false//只有左边为假,右边就直接不运算了,相当于物理中的电流不通,断路了,当然返回结果还是false。
          ||:
            和|运算的结果是一样的,但是运算过程有点小区别。
            |:无论左边的运算结果是什么,右边都参与运算。
            ||:当左边为假时,右边是不参与运算的。
          */
          System.out.println(3==2);
       }
    }

    (5)位运算符

    位运算符

    运算符

    运算

    范例

    << 

    左移

    3<<2=12-->3*2*2=12

    >> 

    右移

    3>>1=1-->3/2=1

    >>> 

    无符号右移

    3>>>1=1-->3/2=1

    &

    与运算

    6&3=2

    |

    或运算

    6|3=7

    ^

    异或运算

    6^3=5(一个数异或同一个数2次,结果还是这个数)

    ~

    反码

    ~6=-7

    位运算符细节

    << 

    空位补0,被移除的高二进制位丢弃,空位补0.

    >> 

    被移位的二进制最高位是0,右移后,空位补0;最高位是1,空位补1.

    >>> 

    被移位的最高位无论是0或者是1,空位都补0.

    &

    二进制位进行&运算,只有1&1时结果是1,否则是0.

    |

    二进制进行|运算,只有0|0时结果是0,否则是1.

    ^

    相同二进制进行^运算,结果是0;1^1=0,0^0=0;

    不同二进制进行^运算结果是1.

    ~

    (6)三元运算符

    格式:条件表达式?表达式1:表达式2

          如果条件为true,运算后的结果是表达式1

          如果条件为false,运算后的结果是表达式2

    示例:

       获取两个数中的数值大的数

      int x = 3,y=4;
       z=(x>y)?x:y;//z变量存储的就是两个数的大数。

    6.语句

    (1)判断结构

       if语句三种格式

    a.if(条件表达式){

       执行语句

    }

    b. if(条件表达式){

       执行语句

    }else{

       执行语句

    }

    c. if(条件表达式){

       执行语句

    } else if(条件表达式){

       执行语句

    } else{

       执行语句

    }

    If:

    a. 对具体的值进行判断

    b. 对区间进行判断

    c. 对运算结果是boolean类型的表达式进行判断

    (2)选择结构

    switch(需要判断的值)

          {

            case "值1":

               执行语句1;

               break;

            case "值2":

               执行语句2;

               break;

            case "值3":

               执行语句3;

               break;

            default:

               默认执行语句;

               break;

          }

    Switch:

    a. 对具体的值进行判断

    b. 值的个数通常是固定的

    对于几个固定值的判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高一点。

    (3)循环结构

    while(条件表达式)

          {

            执行语句;

          }

    int x = 1;
    while(x<3)
    {
         System.out.println("x="+x);
         x++;
    }
  • 相关阅读:
    php环境搭建工具包推荐
    Android视频直播解决方案(rstp、udp)
    软件版本号命名
    附加数据库失败,无法升级数据库,因为它是只读的
    Web Api如何传递POST请求
    找回Reshaprer的Alt+Enter快捷键的方法
    asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页
    asp.net 回发或回调参数无效的各种情况分析及解决办法
    MQTT, XMPP, WebSockets还是AMQP?泛谈实时通信协议选型 good
    echarts 专题
  • 原文地址:https://www.cnblogs.com/Strive-count/p/9157559.html
Copyright © 2020-2023  润新知