zoukankan      html  css  js  c++  java
  • 算数运算符

    运算符

      运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

    运算符的分类

      算术运算符

      算术运算符的注意问题

         如果对负数取模,可以把模数的负号忽略不计,例如:5%-2的结果是1。但被模数是负数则不可忽略,例如:-5%2的结果是-1。此外,取模运算的结果不一定总是整数。  

        整数与整数乘除运算的时候,会舍弃掉小数位,结果任然为整数。例如7 / 2 的结果是3。

        “+”除字符串相加功能外,还能把非字符串转换成字符串,例如:“5+5=”+5+5的结果是5+5=55。

      赋值运算符

        符号:=

        当“=”两侧数据类型不一致时,可以使用自动类型转换或使用枪支类型转换原则进行处理。

        支持连续赋值。

        扩展赋值运算符:+=、-=、*=、/=、%=

      比较运算符

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

      逻辑运算符

        逻辑运算符用于连接布尔型表达式,在java中不可以写成3<x<6,应该写成3<x&x<6。

        “&”和“&&”以及“|”和“||”的区别:

        &或者|时:无论左边的条件是否为真,都参与运算。

        &&或者||时:如果左边的条件为真,右边无需参与运算,只有左边的条件为假的时候右边的条件才会参与运算。

      位运算符

        为运算符直接对二进制进行运算。

         先了解一下进制,生活中用到的算数一般是按十进制来计数的,有0~9十个数,当一位数上的数字大过9的时候,就没办法在这个位数上表示了,需要向前进位数,例如当从9+1时,0~9中没有一个数可以表示这个结果,所以增加一位数,达到10。当19+1的时候,在个位数上又没办法表示了,就又需要向前增加一位从而变成20。这是十进制,而计算机是使用二进制的,所以只有两个数,就是0和1。二进制的进制方式跟十进制类似,当1+1的时候,0和1都没办法表示这个结果,就向前进一位,变成10,。要注意的是,这个10是在二进制下的表示,数值代表的是二而不是十进制下的十。

        正数二进制变负数二进制:正数二进制→反码→补码(加一)→负数二进制

        负数二进制变正数二进制:负数二进制→原码(减一)→反码→正数二进制

        左移:左移多少位就是乘以2的多少次方。

        右移:右移多少位就是乘以2的多少负次方。

        无符号右移:正数无符号右移跟正数右移结果一致,负数无符号的右移与负数右移结果不一样。

        与运算:两个数的二进制同位的数进行比较,只有两个同位的数都是1的时候结果才为1,其余结果都为0。

        或运算:两个数的二进制同位的数进行比较,只有两个同位的数都是0的时候结果才为0,其余结果都为1。

        异或运算:两个数的二进制同位的数进行比较,只有两个同位的数不相同的时候才为1,其余都为0。

        反码:二进制数0变成1,1变成0,0和1转换。

      三元运算符

        (条件表达式)?表达式1:表达式2;

        当条件表达式为true时,执行表达式1;当条件表达式为false时,执行表达式2。

        例如:int k = 1 > 0 ? 1 : 0;   因为k=1是大于0的,所以结果为1。int k = 0 > 1 ? 1 : 0;   因为k=0是小于1的,所有结果为0。

      运算符的优先级

        

         优先级的2级别中的“+”和“-”代表的是正负符号。优先级的4级别中的“+”和“-”代表加减符号。

  • 相关阅读:
    未格式化的输入/输出操作
    格式化输入与输出
    随机数
    正则表达式
    bitset
    tuple
    servlet笔记
    springside
    maven
    Lua简易入门教程
  • 原文地址:https://www.cnblogs.com/fangfangfanga/p/11989846.html
Copyright © 2011-2022 走看看