运算符(常用)

简介: 运算符(常用)

1.算数运算符

       1.1 基本四则运算符:+ - *  /  %(加,减,乘,除,模)      

        int a = 7;
        int b = 2;
        System.out.println(a + b); // 9
        System.out.println(a - b); // 5
        System.out.println(a * b); // 14
        System.out.println(a / b); // 3
        System.out.println(a % b); //1   相当于数学中的余数


 注意:  

  • 它们都是二元运算符,使用的时候两边都需要有操作数(数字);
  • /  和  % 右边操作数不能为零(参考数学分母不能为零);
  • 当/  和 % 右边的操作数为小数的时候,结果也为小数;
  • 当两边操作数不一致的时候,将发生整型提升;
    int a = 7;
    System.out.println(a + 1.0); // 8.0
//  a为int类型,1.0为double类型,当两者计算的时候,a将提升为double类型


 1.2 增量运算符: +=  -=  *=  %=

        int a = 4;
        a += 2; //相当于a = a + 2;
        System.out.println(a);// 6
        a -= 2; //相当于a = a - 2;
        System.out.println(a);// 4
        a *= 2; //相当于a = a * 2;
        System.out.println(a);// 8
        a /= 2;//相当于a = a / 2;
        System.out.println(a);// 4
        a %= 2;//相当于a = a % 2;
        System.out.println(a);// 0

注意:

  • 它们都是二元运算符;
  • 只有变量才能使用该运算符,常量不能使用。


 1.3 自增/自减运算符 ++ --

        int a = 1;
        a++;                        //a = 2;
        System.out.println(++a);    //a = 3;打印 3  前置++,先++,后使用
        System.out.println(a++);    //打印 3  a = 4;后置++,先使用,后++
        a--;                        //a = 3;
        System.out.println(a);      //打印3

注意:

  • 前置与后置是不同的;
  • ++是给变量加1,--是给变量减1;
  • 只有变量才能使用,常量不能使用;


2.关系运算符

       关系运算符主要六个: == != < > <= >=

        int a = 1;
        int b = 2;
        System.out.println(a > b);  //false
        System.out.println(a < b);  //true
        System.out.println(a >= b); //false
        System.out.println(a <= b); //true
        System.out.println(a == b); //false
        System.out.println(a != b); //true

  注意:

  • = 表示赋值, == 表示相等;
  • 不能 a < b < 4,连续比较两次;
  • 其比较结果都为 Boolean类型,即true 或 false;    


3.逻辑运算符

       逻辑运算符主要三个:&& || !

3.1 &&

表达式1 表达式2 结果

int a = 1;
int b = 2;
System.out.println(a == 1 && b == 2);  // 左为真 且 右为真 则结果为真
System.out.println(a == 1 && b > 100);  // 左为真 但 右为假 则结果为假
System.out.println(a > 100 && b == 2);  // 左为假 但 右为真 则结果为假
System.out.println(a > 100 && b > 100); // 左为假 且 右为假 则结果为假


3.2 ||

表达式1 表达式2 结果

int a = 1;
int b = 2;
System.out.println(a == 1 || b == 2);  // 左为真 且 右为真 则结果为真
System.out.println(a == 1 || b > 100);  // 左为真 但 右为假 则结果也为真
System.out.println(a > 100 || b == 2);  // 左为假 但 右为真 则结果也为真
System.out.println(a > 100 || b > 100); // 左为假 且 右为假 则结果为假


3.3 !

表达式 结果
int a = 1;
System.out.println(!(a == 1));  // a == 1 为true,取个非就是false
System.out.println(!(a != 1));  // a != 1 为false,取个非就是true


4.位运算符

       位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。


4.1 按位与 &:如果两个数的二进制都为1为1,或者为0

1.         int a = 10;
2.         int b = 20;
3.         System.out.println(a & b)


10的二进制:0000 1010

20的二进制:0001 0100

则按位与为:0000 0000

转换十进制:0


4.1 按位或 |:如果两个数的二进制都为0为0,或者为1

1.         int a = 10;
2.         int b = 20;
3.         System.out.println(a | b);

10的二进制:0000 1010

20的二进制:0001 0100

则按位或为:0001 1110

转换十进制:30


4.3 按位取反:这个数二进制0转为1,1转为0

1.         int a = 10;
2.         System.out.println(~a);// -11

注意:取反之后的结果是十六进制数,而在上面的程序中默认输出是十进制;


4.4 按位异或:两个数二进制相同位为0,不同为1

1.         int a = 10;
2.         int b = 20;
3.         System.out.println(a ^ b);

10的二进制:0000 1010

20的二进制:0001 0100

则按位异或:0001 1110

转换十进制:30


注意:

  • 两个相同的数字异或都为零;
  • 任何一个数字异或零都为本身;
  • 在有的情况下,将运算符 ^ 作为求幂运算符,要注意区分;


5.条件运算符

       条件运算符:表达式1 ?表达式2 :表达式3

1. int a = 10;
2. int b = 20;
3. int max = a > b ? a : b; 
4. //a > b是否成立,成立 a,或者 b;


注意:

  • 表达式不能单独存在,其产生的结果必须要被使用。
1. int a = 1;
2. int b = 2;
3. a > b ? a : b;//报错
  • 表达式2和表达式3的结果要是同类型的,除非能发生类型隐式类型转换


6.运算符的优先级

优先级                                                  运算符
1 . [ ] ( )
2 ++ – ~ ! 
3 * / %
4 + -
5 << >> >>>
6 < > <= >=
7 == !=
8 &
9 ^
10 l
11 &&
12 ll
13 ?:
14 = *= /= %= += -= <<= >>= >>>= &= ^= l=

是不是有很多,当然我们不需要硬记,多多使用就会全部记着了,对于不了解的,有歧义的我们也可以加上括号(),和数学中的一样。

目录
相关文章
|
1月前
|
安全 程序员 C++
7运算符
7运算符
21 1
|
20天前
|
C++
C++运算符
C++运算符
|
1月前
|
C# 数据安全/隐私保护
C#运算符
C#运算符
9 0
|
3月前
|
C语言
各种运算符的介绍,超详解
各种运算符的介绍,超详解
50 0
|
4月前
|
Java C# C++
C#中的(++)和(--)运算符
C#中的(++)和(--)运算符
27 0
|
6月前
C 运算符(2)
C 运算符(2)。
25 0
|
9月前
|
C#
【C#视频】运算符
【C#视频】运算符
|
9月前
|
C#
C#中的运算符
C#中的运算符
57 0
|
10月前
|
PHP
运算符和结果处理
运算符和结果处理
|
10月前
|
SQL 安全 关系型数据库
第04章_运算符(上)
第04章_运算符
43 0