初识Java (Java语言基础-运算符)

运算符

  运算符是一些特殊符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。

1. 赋值运算符

    赋值运算符以符号“ = ”表示,它是一个二元运算符(对两个操作数处理),其功能是将右方操作数所含的值赋给左方的操作数。例:int a = 100;该表达式是将 100 赋值给变量 a 。

    左方的操作数必须是一个变量,而右边的操作数则可以是任何表达式,包含变量、常量、有效的表达式。

    由于赋值运算符“ = ”处理时会先取得右边表达式处理后的结果,因此一个表达式中若含有两个以上的“ = ”运算符,会从最右边的“ = ”开始处理。

public class Eval{                                 //创建类
    public static void main(String [] args){      //主方法
        int a,b,c;                                 //声明 int 型变量 a,b,c
        a = 15;                                    //将 15 赋值给 a
        c = b = a+4;                               //将 a 与 4 的和赋值给 b ,然后再赋值给变量 c
        System.out.println("c 值为:"+c);           //将 c 的值输出
        System.out.println("b 值为:"+b);           //将 b 的值输出
    }
}

    结果为: c 值为:19      b 值为:19

1.2 算术运算符

    Java中的算术运算符主要有 + (加)、- (减)、* (乘)、/ (除)、% (求余),他们都是二元运算符。

Java 算术运算符
运算符说明实例结果
+12.45f + 1527.45
-4.56 - 0.164.4
*5L * 12.45f62.25
/7 / 23
%取余数12 % 102

    + 、 - 可以做完数据的正负符号 ,进行除法运算时,0 不能做除数。

public class Arith{                                         //创建类
    public static void main(String [] args){                //主方法
        float number1 = 45.56f;                             //声明 float 型变量并赋值
        int number2 = 152;                                  //声明 int 型变量并赋值
        System.out.println("和为:"+number1+number2);       //将变量相加之和输出
        System.out.println("差为:"+(number2 - number1));    //将变量相减之差输出
        System.our.println("积为:"+number1* number2);       //将变量相乘的积输出
        System.out.println("商为:"+numer1/number2);         //将变量相除的商输出
    }
}

    结果为:和为:45.56152    差为:106.44    积为:6925.12    商为:0.29973686

1.3 自增和自减运算符

    自增、自减是单目运算符,可放在操作元之前,也可放在操作元之后。操作元必须是一个整形或浮点型变量。自增、自减运算符的作用是使变量的值增 1 或减 1 。放在操作元前面的自增、自减运算符,会先将变量的值加 1 (减 1 ),然后再使该变量参与表达式的运算。放在操作元后面的自增、自减运算符。会先使变量参与表达式的运算,然后再将该变量加 1 (减 1 )。

    ++a ( --a )  //表示在使用变量 a 之前,先使 a 的值加(减)1

    a++ ( a-- )  //表示在使用变量 a 之后,使 a 的值加(减)1

    假设 a = 4   

    b = ++a; //先将 a 的值加 1 。然后赋值给 b ,此时 a 值为 5 ,b 值为 5

    b = a++; //先将 a 的值赋给 b ,在将 a 的值变为 5 ,此时 a 值为5,b 值为 4

1.4  比较运算符

    比较运算符属于二元运算符,用于程序中的变量之间、变量与自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是 boolean 型。当运算符对应的关系成立时,运算结果为 true ,否则为 false 。

比较运算符
运算符作用举例操作数据结果
>比较左方是否大于右方'a' > 'b'整形、浮点型、字符型false
<比较左方是否小于右方156 < 456整形、浮点型、字符型false
==比较左方是否等于右方'c' == 'c'基本数据类型、引用型true
>=比较左方是否大于等于右方479 >= 426整形、浮点型、字符型true
<=比较左方是否小于等于右方12.45 <= 45.5整形、浮点型、字符型true
!=比较左方是否不等于右方'y' != 't'基本数据类型、引用型true
publice class Compare{                                       //创建类
    public static void main(String [] args){                 //主方法
        int number1 = 4 ;                                    //声明 int 型变量 number1
        int number2 = 5 ;                                    //声明 int 型变量 number2
        System.out.println("numer1 > number2 返回值为:"+(number1 > number)); 
        System.out.println("numer1 == number2 返回值为:"+(number1 == number));
        System.out.println("numer1 != number2 返回值为:"+(number1 != number)); 
        System.out.println("numer1 >= number2 返回值为:"+(number1 >= number));
        System.out.println("numer1 <= number2 返回值为:"+(number1 <= number));
    }
}

    结果为:

numer1 > number2 返回值为: false
numer1 == number2 返回值为: false
numer1 != number2 返回值为: true
numer1 >= number2 返回值为: false
numer1 <= number2 返回值为: true

1.5 逻辑运算符

    返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这是通过逻辑运算符来实现的。逻辑运算符包括 &(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符的操作元必须是 boolean 型数据。在逻辑运算符中,除了“!”是一元运算符之外,其他都是二元运算符。

逻辑运算符
运算符含义用法结合方向
&& 、 &逻辑与op1 && op2左到右
||逻辑或op1 || op2左到右
逻辑非!op1右到左

    结果为 boolean 型的变量或表达式可以通过逻辑运算符组合为逻辑表达式。

使用逻辑运算符进行逻辑运算
表达式1表达式2表达式1 && 表达式2表达式1 || 表达式2!表达式1
truetruetruetruefalse
truefalsefalsetruefalse
falsefalsefalsefalsetrue
falsetruefalsetruetrue

    短路:逻辑表达式从左端的表达式可推断出整个表达式的值。  “&&”属于短路运算符。

    非短路:始终执行逻辑运算符两边的表达式。    “&”属于非短路运算符。

public class Calculation{                     //创建类            
    public void main(String [] args){         //主方法
        int a = 2;                            //声明 ing 型变量 a
        int b = 5;                            //声明 int 型变量 b
        boolean result = ((a>b) && (a!=b));   //声明 boolean 型变量,保存应用逻辑运算符“&&”后的返回值
        boolean result2 = ((a>b) || (a!=b));  //声明 boolean 型变量,保存应用逻辑运算符“||”后的返回值
        System.out.println(result);           //将变量 result 输出
        System.out.println(result2);          //将变量 result2 输出
    }
}

    结果为:  false     true

1.6 位运算符

    位运算符除按位与和按位或运算符外,其他只能用于处理整数的操作数。位运算符是完全针对位当面的操作。

    左边最高位是符号位,最高位是 0 表示整数,若 1 表示负数。

    1.6.1 “按位与”运算

    “按位与”运算的运算符为“ & ”,为双目运算符。

    运算规则:如果两个数据 a 、 b 对应位都是 1 ,则结果位为 1 ,否则为 0 。

    如果两个操作数的精度不同,则结果的精度与精度高的的操作数相同。

    1.6.2 “按位或”运算

“按位或”运算的运算符为“ | ”,为双目运算符。

    运算规则:如果两个数据 a 、 b 对应位都是 0 ,则结果位为 0 ,否则为 1 。

    如果两个操作数的精度不同,则结果的精度与精度高的的操作数相同。

    1.6.3 “按位取反”运算

“按位取反”运算也称“按位非”运算,的运算符为“ ~ ”,为单目运算符。

    运算规则:将操作数二进制中的1 修改为 0 ,0 修改为 1 。

    1.6.4 “按位异或”运算

    “按位异或”运算的运算符是“ ^ ”,为双目运算符。

    运算规则:当两个操作数的二进制表示相同(同时为 0 或同时为 1 )时,结果为 0 ,否则为 1 。

    如果两个操作数的精度不同,则结果的精度与精度高的的操作数相同。

    1.6.5 移位操作

    移位运算符:<<    左移    ;    >>    右移    ;    >>>    无符号右移

    左移:将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,左边移空的部分补 0 。

    右移:如果最高位为 0 ,左移空的位填入 0 ;如果最高位为 1,右移空的位填入 1 。

    无符号右移:最高位无论是 0 还是 1 ,左侧被移空的高位都填入 0 。

    移位运算符适用的数据类型:byte 、short 、char 、int 和 long 。

1.7 三元运算符

    格式: 条件式 ?  值1 : 值2 

    运算规则:若条件式的值为 true ,则整个表达式取值1,否则取值2.

    三元运算符等价于 if ... else 语句。

1.8 运算符优先级

    由高到低的顺序:(1). 增量和减量运算;(2).算术运算;(3).比较运算;(4).逻辑运算;(5).赋值运算

运算符的优先级
优先级描述运算符
1括号()
2正负号+ 、 -
3一元运算符++ 、 -- 、!
4乘除* 、 / 、  %
5加减+ 、 -
6移位运算>> 、 >>> 、 <<
7比较大小< 、 > 、 >=  、 <=
8比较是否相等== 、 !=
9按位与运算&
10按位异或运算^
11按位或运算|
12逻辑与运算&&
13逻辑或运算||
14三元运算符?   、  :
15赋值运算符

=

    对于学习Java,看书,看视频,看官方文档,看API,多练,多想。

    要时刻学习,更新很快,要学习新技术,好好加油,祝终成大神。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值