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位

  • 相关阅读:
    IDEA导入jar包
    怎么在idea中新建package包,只有directory选项
    Python在自动化运维时经常会用到的方法
    SocketServer 网络服务框架
    导入自定义包
    socket编程
    在线安全清空慢查询日志slowlog
    OS X中微信双开
    OS X中crt中文乱码
    谈谈TCP中的TIME_WAIT
  • 原文地址:https://www.cnblogs.com/w998/p/11221113.html
Copyright © 2011-2022 走看看