zoukankan      html  css  js  c++  java
  • 3.26Java运算符(operator)

    3.26Java运算符(operator)

    本章内容

    • 算术运算符

    • 赋值运算符

    • 扩展运算符

    • 关系运算符

    • 逻辑运算符

    • 位运算符

    • 条件运算符

    • 字符串连接


    算术运算符(最常用的一类运算符)

    • 一元运算符

    算术运算符中++、--属于一元运算符,这类运算符只需要一个操作数

    • 二元运算符

    加(+)、减(-)、乘(*)、除(/)、取余(模)(%)(求余操作)---这些都需要两个操作数,称为二元运算符

    二元运算符的运算规则

    整数运算:

    1. 两个操作数有一个为Long,则结果也为Long

    2. 没有long,结果为int,即使操作数全为short、byte,结果也是int

    浮点运算:

    1. 两个操作数有一个为double,其结果为double

    2. 只有两个操作数都是float类型的时候其结果才是float

    3. 有一个为浮点数其结果也都是浮点数

    取模运算:

    规则:

    • "余数"符号和左边操作数相同 如:7%3 = 1,-7 % 3 = -1, 7 % -3 = 1

    实例:

    /**
    * TestOperator
    * @author Lucifer
    */
    public class TestOperatorNo1 {
       public static void main(String arguments[]){
           byte a = 1;
           int b = 2;
           //byte c = a + b; //因为有int类型的b所以不能转为byte,a+b的结果是int不能转为byte。因为占用字节大小的问题
           long c = 3;
           //int c2 = c + b; //也是不行的,因为有long类型的数据表述的范围比int大,表述范围较大的时候可以自由去转换数据类型
           float d = 3.14F;
           float f = b + c;

           //float g = d + 6.2; //会报错,因为只要有一个数是double类型其算是表达式的结果就是double类型。double类型不能赋给float类型

           System.out.println(-9%5);

           int first = 3;
           int second = first++;
           System.out.println("first:" + first + '\n' + second);

           first = 3;
           second = ++first;
           System.out.println("first:" + first + '\t' + second);
           /*
           注意:First++和++First的区别
           ++first:
           先给first进行运算
           在赋值给second
           所以first = 3,second = 4
           first++:
           先给second进行赋值
           在让first自增
           所以second = 4,first = 4;关键要注意为什么a也是4
            */

           int e = 3;
           int g = e--;
           System.out.println("e:" + e + '\t' + g);
           e = 3;
           g = --e; //--变量名或者++变量名其变量都已经发生了改变而不是单独在式子中改变。
           System.out.println("e:" + e + '\t' + g);
           /*
           自增自减的运算符其实运算了两个值,一个是被赋值的变量的值一个是变量本身的值
            */

      }
    }

    赋值运算符及其扩展运算符

    实例:

    int a = 3; //把3这个字面常量赋予变量a
    int b = 4;
    a += b; //相当于a = a+b; 会运算后面的结果在赋值给a
    System.out.println("a=" + a + "\nb=" + b);

    a *= b+3; //相当于a = a*(b+3); 会始终先运算式子右边的结果,如果右边有多个运算符则视为带了'()'
    System.out.println("a=" + a + "\nb=" + b);

    a = 10;
    b = 15;
    int c = a + b;
    c /= a;
    /**
    * TestOperatorNo3
    * @aythor Lucifer
    */
    public class TestOperatorNo3 {
       public static void main(String arguments[]){
           int a = 10;
           int b = 15;
           int c = a + b;
           c %= a;
           System.out.println(c);
           c <<= 2;
           System.out.println(c);

           c = 5;
           c >>= 2;
           System.out.println(c);
      }
    }

     

    It's a lonely road!!!
  • 相关阅读:
    全文检索引擎 sphinxcoreseek中文索引
    html 截图粘粘图片JS
    php 无限参数方法
    LINUX SSH 建立密钥对
    PHP递归无限分类,数组和直接输出。
    带cookie请求数据
    JS 红包随机
    《大话数据结构》 第四章 栈与队列
    《大话数据结构》第二章 算法
    《大话设计模式》 第二章 策略模式
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14584986.html
Copyright © 2011-2022 走看看