运算符

Posted hellsino

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符相关的知识,希望对你有一定的参考价值。

算数运算符

算数运算符包括:
+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/ 除法运算
% 取模运算,两个数字相除取余数
++-- 自增自减运算

算术运算符运算的结果必须和运算的两侧的数据类型保持一致。

int ?d = 4321 / 1000* 1000;
4321 是int类型数据
1000 也是int类型数据
他们的商 也必须是int类型 
4321 /1000 ?结果是 4 ?不是4.321

?

当算术运算两侧的类型不一致的时候,结果向大的类型保持。

double ?d = 4321 / 1000.0* 1000;

代码案例

package com.itheima_01;
public class Demo {
    public static void main(String[] args) {
        // 定义两个变量
        int a = 3;
        int b = 4;

        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);

        System.out.println(4321 / 1000 * 1000);//4000
        System.out.println(4321 / 1000.0 * 1000);//4321.0
    }
}
  • ++ 运算,变量自己增长1。反之,-- 运算,变量自己减少1,用法与++ 一致。

    ++或者--既可以放在变量的后面,也可以放在变量的前面。

    表现形式:

    ++或者--在变量的右侧,举例:i++,j--;

    ++或者--在变量的左侧,举例:++i,--j;

    • 独立运算:

      • 变量在独立运算时,前++后++没有区别 。
      • 变量前++ :例如 ++i
      • 变量后++ :例如 i++
    • 和其他运算符混合运算:

      如果++或者--在变量的后面(右侧),先拿变量参与操作,后变量做++或者--;

      如果++或者--在变量的前面(左侧),先变量做++或者--,后拿变量参与操作;

      口诀:i++先取值再运算,++i先运算再取值
      • 变量前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
      public static void main(String[] args) {
          int a = 1;
          int b = ++a;
          System.out.println(a);//计算结果是2
          System.out.println(b);//计算结果是2
      }
      • 变量后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b的结果是1。
      public static void main(String[] args) {
          int a = 1;
          int b = a++;
          System.out.println(a);//计算结果是2
          System.out.println(b);//计算结果是1
      }
  • + 符号在字符串中的操作:
    • + 符号在遇到字符串的时候,表示连接、拼接的含义。
    • "a"+"b"的结果是“ab”,连接含义
public static void main(String[] args){
        // 定义变量
        int a = 10;
        int b = 20;
        // 字符串参与加法操作
        System.out.println("hello" + a);//hello10
         // "hello"+10,然后再和b进行拼接
        System.out.println("hello" + a + b);//hello1020 
         //30hello
        System.out.println(a + b + "hello");
}

赋值运算符

赋值运算符包括:
= 等于号
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%= 取模等
  • 赋值运算符,就是将符号右边的值,赋给左边的变量。
  • +=: a+=20;相当于a = (a的数据类型)(a + 20);
public static void main(String[] args){
        // 把10赋值给int类型的变量a
        int a = 10;

        // += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
        a += 10;// 相当于a = a + 10
        System.out.println("a:" + a);
        System.out.println("----------------------");

        byte s = 10;
        // s += 20; // 相当于 s = s + 20;
        s = (byte) (s + 20);
        System.out.println("s:" + s);
}

比较运算符

比较运算符包括:
== 比较符号两边数据是否相等,相等结果是true。
< 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
> 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<= 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
!= 不等于符号 ,如果符号两边的数据不相等,结果是true。
  • 比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true或者false
public static void main(String[] args) {
    System.out.println(1==1);//true
    System.out.println(1<2);//true
    System.out.println(3>4);//false
    System.out.println(3<=4);//true
    System.out.println(3>=4);//false
    System.out.println(3!=4);//true
}

逻辑运算符

逻辑运算符包括:
& 短路单与 1. 两边都是true,结果是true
2. 一边是false,结果是false
短路特点:符号左边是false,右边依然会运算,效率比双与低3.一假即假
&& 短路双与 1. 两边都是true,结果是true
2. 一边是false,结果是false
短路特点:符号左边是false,右边不再运算,效率比单与高3.一假即假
| 短路单或 1. 两边都是false,结果是false
2. 一边是true,结果是true
短路特点:符号左边是true,右边依然会运算,效率比双或低3.一真即真
|| 短路双或 1. 两边都是false,结果是false
2. 一边是true,结果是true
短路特点:符号左边是true,右边不再运算,效率比单或高3.一真即真
取反 1. ! true 结果是false
2. ! false结果是true
  • 逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值true或者false
public static void main(String[] args)  {
    System.out.println(true && true);//true
    System.out.println(true && false);//false
    System.out.println(false && true);//false,右边不计算
  
    System.out.println(false || false);//falase
    System.out.println(false || true);//true
    System.out.println(true || false);//true,右边不计算
  
    System.out.println(!false);//true
}

三元运算符

  • 三元运算符格式:
 数据类型 变量名 = 布尔类型表达式?结果1:结果2
  • 三元运算符计算方式:
    • 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
    • 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
    • 三元运算符要求必须有一个结果,在结果1或者结果2中。开发中一般用来比较数值大小。
public static void main(String[] args) {
    int i = (1==2 ? 100 : 200);
    System.out.println(i);//200
    int j = (3<=4 ? 500 : 600);
    System.out.println(j);//500
}

以上是关于运算符的主要内容,如果未能解决你的问题,请参考以下文章

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

如何在 python 中并行化以下代码片段?

JSP 基础语法

获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算

中继片段传播不起作用