zoukankan      html  css  js  c++  java
  • Java基础之运算符

    运算符

      基本算术运算符

          +:加号

            1.加法:1+1

            2.数:+2

            3.连接字符串:"hello"+"world"

          -:减号

            1.减法:1-1

            2.负数:-2

          *:乘号

            乘法:1*1

          /:除号(取整)

            取整:例如:5/2,结果是2,而不是2.5。10/3,结果是3。

          %:取模(取余)

            取余:例如:10%3,结果是1。5%3,结果是2。

          ++:自增

            表示自增,每次自增+1

          --:自减

            表示自减,每次自减-1

          自增或自减使用注意事项;

            ++ 或者 -- ,当变量不参与运算时,写在变量前或者变量后,效果一样,都是自增或者自减1

            当变量参与运算时,++或--写在变量前,先进行变量自身的++或--,再进行运算

                         ++或--写在变量后,先使用变量值本身进行运算,运算完毕再进行变量 自身的++或--

    代码如下:

    public static void main(String[] args) {
    	// 赋值
    	int i= 9;// i = 9;
    	i++;// i = i + 1 ;  i = 10;
    	++i;// i = i + 1 ; i = 11;
    	int y = (i++)+5;// 先运算,在++, 1) y = i+5; y = 16  2)i++ ; i = 12
    	int z = (++i)+6;// 先++,再运算, 1) i = i + 1 ;i = 13  2)z = i+6; z = 19
    	System.out.println(i);// 13
    	System.out.println(y);// 16
    	System.out.println(z);// 19
    }
    

      

      赋值运算符

          =:Java中,“=”不再是等于号,而是赋值号,将“=”右边的结果赋值给“=”左边。

            例如:a=1;就是将1赋值给a,得到的结果就是a现在就是1。

          +=:先运算,再赋值

            例如:i += 1,意思就是先进行运算 i + 1,将 i + 1 的结果再赋值给 i 。

          -=  :   int i = 10;i-=3; 相当于 i = i-3;

          *=  :   int i = 10; i *=2; 相当于 i = i *2;

          /=  : int i = 10; i /=2; 相当于 i = i /2;

          %= : int i = 10; i %=2; 相当于 i = i %2;

    代码入下:

    public static void main(String[] args) {
    	// 赋值
    	int i = 9;
    
            System.out.println(i);// 9
    
    	// +=  相当于: i= i+2;  1) 先进行运算i+2  2) 将i+2的结果,赋值给变量i
    	i+=2;
    
    	System.out.println(i);// 11
    
    }
    

      

      比较运算符

          进行两个数据的比较,比较运算符的结果,并不是一个数值,结果是boolean  (true真  false假),数据不能做连续的比较

          == : 相等,比较两个等号两边的数据,是否相等,相等返回true,不等返回false

          != : 不等,判断等号两边的数据,是否不相同,如果不相等,那么返回值为true,如果相等,返回值就是false

          > : 判断左边的数是否大于右边

          < : 判断左边的数是否小于右边

          >= 判断左边的数是否大于等于右边

          <= 判断左边的数是否小于等于右边

      逻辑运算符

          将表达式真假值判断做合理的逻辑结合,逻辑运算符的结果,也不是一个数值,结果是boolean类型  (true真  false假)

          & : 与。要求符号两端的数据是布尔类型,两边必须都是true,返回值才是true,否则就是false。

          &&:短路与,又叫双与。意思和&一样,只不过性能比&好,因为如果&&左边的结果可以决定最终结果,那么&&后面的判断语句就不再进行判断。

          | :或。两边的表达式必须都是布尔类型,有任意一个表达式为true,那么结果就为true,否则为false。

          | |:短路或。意思和 | 一样,性能比 | 好,因为如果 | | 左边的结果可以决定最终结果,那么 | | 后面的判断语句就不再进行判断。

          ! : 非。true,加上非就是false。false加上!,结果就是true。

          ^ : 异或。左右两边表达式结果相同为假,不同为真。

      三元运算符(三目运算符)

          需要进行二者选一个的情景,会使用三元运算。

          语法格式:表达式表达式1:表达式2;

            解释:首先判断表达式结果的真假,如果是true,执行表达式1,结果是false,执行表达式2。

          表示式:必须是boolean类型的表达式。

          三元运算的结果,类型未知(可以是任意类型,根据表达式1和表达式2的结果定)。表达式1和表达式2的类型尽量一致。

      位移运算符

          数据在内存中,可以通过位置的移动,来进行计算。

          << :左移,每次向左移动一位,可以让一个十进制数*2

          >>: 右移,每次向右移动一位,可以让一个十进制数/2

          >>>: 正数的向右移动一位,可以让一个十进制数/2

          说明:

            位移只能进行整数的运算

            位移运算的结果,仍然是一个整数类型

            >> 2,表示向右移动两位,相当于原值/2后再/2

          问题:2怎么样做运算会最高效地扩大8倍?

            通过位运算

            2<<3 向左移动3位

  • 相关阅读:
    linux 命令——48 watch (转)
    linux 命令——47 iostat (转)
    linux 命令——46 vmstat(转)
    linux 命令——45 free(转)
    linux 命令——44 top (转)
    linux 命令——43 killall(转)
    linux 命令——42 kill (转)
    linux 命令——41 ps(转)
    linux 命令——40 wc (转)
    Java for LeetCode 068 Text Justification
  • 原文地址:https://www.cnblogs.com/w998/p/11221113.html
Copyright © 2011-2022 走看看