1.4JAVA中的运算符

目录

1.什么是运算符

2.常用的运算符有哪些

2.1算术运算符

2.2自增自减运算符

2.3赋值运算符 

2.4比较运算符

2.5逻辑运算符

2.5.1逻辑运算符中注意事项

2.5.2逻辑运算符中的运算规则

2.5.3逻辑运算符中& 与 && ,| 与 || 的区别

2.6三目运算符

2.7位运算符


1.什么是运算符

进行运算的表示符号。比如+,-,*,/等

2.常用的运算符有哪些

2.1算术运算符

加法(+)减法(-)乘法 (*) 取商(/)   取余数(%)

示例

//整数小数相除的例子
public class Cal {
    public static void main(String[] args) {
    int a = 10;
    int b = 3;
    System.out.println(a/b)
    //此时a/b==3。
    double c = 10.0;
    int d = 3;
    System.out.println(c/d)
    //此时c/d为3.3333333333333335
    }
}

2.2自增自减运算符

++ , --

注意事项

1) 自增自减只能够用于变量,不能用于常量

2) 自增自减运算的优先级 比 算术运算符 高

示例

public class MyCal {
    public static void main(String[] args) {
    int i = 3;
    int j = i++;
    System.out.println(i)
    System.out.println(j)
    /*此时是先将i=3的值赋给j然后再进行自增
      所以输出的j=3,i=4。*/

    int a = 3;
    int b = ++a;
    System.out.println(a)
    System.out.println(b)
    /*此时是先将a先自己自增,然后再将自增后的值赋值个b
    所以输出a=4,i=4。*/
    }
}

要点:

把整个表达式看成是一个整体。

如果变量名在前面,那么整个表达式的值就是原来值不变。

如果变量名在后面,那么整个表达式的值就是原来的值加1。

要求:

如果自己写自增自减 和 算术运算一起的时候 中间 加上空格

int a = 1;
int b = 2;
int c = a+++++b; // 自增自减记得加上空格分隔符int c = a++ + ++b;

小结:

1.不要把单独的 自增自减 和 有表达式的自增自减搞混淆了

i++;

int j = i++;

2. 一定要弄清楚计算规则,表达式的值 和 具体计数器的值的变化是什么

3. i++与++i区别

2.3赋值运算符 

= += -= *= /= %=

赋值符号的运算顺序

  1. 从右到左,把符号右边的值赋值到左边的变量中

  2. 上面 后五个分别看成是一个整体: 例如 += 看成是一个符号,不要看成两个;

    **示例:**
            int i=3;
            i +=2;// 表示把2 累加到变量 i 中   i = i + 2;
            i -=1;//表示i = i - 1
            i *=3;//表示 i = i * 3
            i /=3;//表示 i = i / 3
            i%=3; //表示 i = i % 3
    **特例:**
            short s = 3;
            s += 2;//存在隐式转换 
            short  s = 3;
            s = s+2;//结果值是int,int不能自动转换为short

2.4比较运算符

== , != , > , < , >= , <=

比较运算符规律:

  1. 比较运算的结果是一个布尔类型的值(true 或false);

    System.out.println(3>5);//输出结果为boolean类型

2.5逻辑运算符

2.5.1逻辑运算符中注意事项

//如果要表示5大于3 并且3大于1
        5>3>1 //java不允许
        5>3&&3>1 //java中的书写方式
            
//示例:
       /* 1.小明参加2个学科的考试 java php
        java考了一百分并且php考了一百分,奖励欧洲十日游
        伪代码描述:java==100并且php==100*/
        //java中表示方式
        int java = 100,php=100;
        System.out.println(java==100&&php==100);

2.5.2逻辑运算符中的运算规则

  1. & :两边都为true ,结果为true

  2. | :只要有一边为true,结果为true

  3. &&(双与) :两边都为true ,结果为true

  4. ||(双||) : 只要有一边为true,结果为true

  5. ^ : 两边不一样,结果为true ,否则为false,举个例子打印一下

  6. ! : 逻辑非

2.5.3逻辑运算符中& 与 && ,| 与 || 的区别

1.&& || 具有短路功能 & | 不具有短路功能

什么是短路

A&&B时如果A输出为false的时,则代码就会中断B不会执行,逻辑运算的值也为false

A || B时当A输出为ture时,代码中断B不会执行,逻辑运算的值为ture。

int g = 10;
System.out.println(false && g++ == 10);
System.out.println(g);//此时g的值为10 说明短路
int i = 1;
System.out.println(true || i++ == 1);
System.out.println(i);//此时i的值为1  说明短路

2.6三目运算符

/**
 * 运算符 - 三目运算
 *  语法: x ? y : z
 *  x 可以是一个变量 可以是一个表达式 但是注意 x的结果一定是 boolean类型
 *  y 和 z 可以是相同的数据类型 也可以是不一样的数据类型
 *         可以是常量 可以是变量 可以是表达式
 *         但是如果你需要使用一个 变量接收该三目表达式的值 那么 y和z 就一定要是相同的数据类型
 *  什么时候决定 执行 y 什么时候决定执行 z呢?
 *  当x 的结果为 true的时候执行 y  否者 执行 z
 *
 */

2.7位运算符

1.4JAVA中的运算符_第1张图片就是将他们的十进制转化为二进制,在用二进制相加

/*
         * 运算符 - 位运算
         *
         */
        System.out.println(5|7);
        //5的二进制-->0000 0101
        //7的二进制-->0000 0111
        //           0000 0111

此时输出答案为7.

你可能感兴趣的:(java,开发语言)