美文网首页
Java基础学习二 运算符

Java基础学习二 运算符

作者: SimonLike | 来源:发表于2021-05-26 10:13 被阅读0次

运算符

1,运算符-算术运算符(++、--)

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        //++运算符可以出现在变量前,也可以出现在变量后,只要++运算结束,该变量中的值一定会自加1
        int i = 1;
        i ++;
        System.out.println(i);

        //++ 出现变量后:先做赋值运算,再对变量中保存的值进行自加1
        int a = 100;
        int b = a ++;
        System.out.println(a);//101
        System.out.println(b);//100

        //++ 出现变量前:先进行自加1,再进行赋值操作。
        int m = 20;
        int n = ++ m;
        System.out.println(m);//21
        System.out.println(n);//21

        //-- 出现变量后:先做赋值运算,再对变量中保存的值进行自减1
        int c = 100;
        int d = c --;
        System.out.println(c);//99
        System.out.println(d);//100

        //-- 出现变量前:先进行自减1,再进行赋值操作。
        int e = 100;
        int f = -- e ;
        System.out.println(e);//99
        System.out.println(f);//99
    }
}

2,运算符-关系运算符

运算符号 解析 运算符号 解析
> 大于 <= 小于等于
>= 大于等于 == 等于
< 小于 != 不等于
  • = 是赋值运算符 ; == 是关系运算符。
  • 关系运算符的运算结果一定是布尔类型:true/false。

3,运算符-逻辑运算符

运算符号 类型 定义
& 逻辑与 两边算子都是true,结果才是true
| 逻辑或 两边算子只要有一个true,结果就是true
逻辑非 取反,!false就是true,!true就是false,这是一个单目运算符
^ 逻辑异或 两边算子只要不一样,结果就是true
&& 短路与 第一个算子执行结果是false,会发生短路与
|| 短路或 第一个算子执行结果是true,会发生短路或
  • 逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是布尔类型。
  • 短路与和逻辑与最终运算结果是相同的,只不过短路与存在短路现象。
  • 短路或和逻辑或最终运算结果是相同的,只不过短路或存在短路现象。
代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */
        //运算符优先级不确定,加小括号
        System.out.println(5 > 3 & 5 > 2);//true
        System.out.println(5 > 3 & 5 > 6);//false
        System.out.println(5 > 3 | 5 > 6);//true

        System.out.println(true & true);//true
        System.out.println(true & false);//false
        System.out.println(false & false);//false

        System.out.println(true | false);//true
        System.out.println(false | false);//false
        System.out.println(!false);//true

        System.out.println(true ^ false);//true
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false

        //逻辑与和短路与
        int x = 10;
        int y = 8;
        //逻辑与
        System.out.println(x < y & ++x < y);
        System.out.println(x);//11

        int m = 10;
        int n = 8;
        //短路与
        // m < n 结果是false,整个表达式结果已经确定是false
        // 所以后面的表达式没有在执行,这种现象称为短路现象
        // 短路与才会有短路现象,逻辑与不会存在短路现象的。
        System.out.println(m < n && ++m < n);
        System.out.println(m);//10
        /*
        // 什么情况下发生短路或?
              * 第一个表达式执行结果是true,会发生短路或
           什么情况下发生短路与?
              * 第一个表达式执行结果是false,会发生短路与
        */
    }
}

4,运算符-赋值运算符

  • 1,关于java中的赋值类运算符包括两种:

    • 基本的赋值运算符 =
    • 扩展的赋值运算符 += -= *= /= %=【求余】
  • 2,赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量。

      PS/例如:
      
      byte x = 10;
      x += 5; 等同于: x = (byte)(x + 5);
     
      int y = 10;
      y += 5; 等同于: x = (int)(x + 5);
     
      long z = 10L;
      int i = 20;
      i += z;  等同于: i = (int)(z + i);
    
  • 3,扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是byte类型, 无论怎么进行追加或追减,最终该变量的数据类型还是byte类型。

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        // 基本的赋值运算符
        int i = 10;
        System.out.println(i);//10
        i = i + 5;
        System.out.println(i);//15

        // 扩展的赋值运算符  相同int类型运算
        i += 5;//等同于:i = i + 5;
        System.out.println(i);//20
        i -= 5;//等同于:i = i - 5;
        System.out.println(i);//15
        i *= 2;//等同于:i = i * 2;
        System.out.println(i);//30
        i /= 3;//等同于:i = i / 3;
        System.out.println(i);//10
        i %= 4;//等同于:i = i % 4;
        System.out.println(i);//2

        //----------------------不同类型运算-----------------------------------
        byte b = 10;
        //b = b + 5; //编译报错  b + 5是int类型,b是byte类型;大转小需要强制类型转换符
        b = (byte) (b + 5); //可以编译通过
        System.out.println(b);//

        byte x = 10;
        x += 5;////等同于:x = (byte)(x + 5); 不等同于 x = x + 5;
        System.out.println(x);//15

        x += 128;// 等同于:x = (byte)(x + 128)
        System.out.println(x);//-113【损失精度】

        x += 10000;// 等同于:x = (byte)(x + 10000)
        System.out.println(x);//-97【损失精度】
    }
}

5,运算符-字符串连接运算符(+)

  • 关于java中的"+"运算符有两种作用:

    • 加法运算,求和
    • 字符串的连接运算
  • 当"+"运算符两边的数据都是数字的话,一定进行加法运算

    • 数字 + 数字 ---> 数字【求和】
  • 当"+"运算符两边的数据只要有一个数据是字符串,一定会进行字符串运算。并且连接运算之后的结果还是一个字符串类型。

    • 数字 + "字符串" ---> "字符串" 【字符串连接】
  • 在一个表达式当中可以出现多个"+",在没有添加小括号的前提下,遵循自左向右的顺序依次计算。

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */

        int a = 10;
        int b = 20;
        //要求在控制台输出 "10 + 20 = 30"
        System.out.println(" 10 + 20 = " + ( a + b));
        //要求在以动态的方式输出
        //b = 200;  //输出:10 + 200 = 210
        System.out.println( a + " + " +  b + " = " + ( a + b));

        int i = 10;
        String username = "adc";
        System.out.println("欢迎"+username+"回来!");
        
    }
}

6,运算符-三元运算符/三目运算符/条件运算符

  • 语法规则:

     布尔表达式 ?表达式1 : 表达式2
    
  • 当布尔表达式的结果为true,选择表达式1作为整个表达式的执行结果

  • 当布尔表达式的结果为false,选择表达式2作为整个表达式的执行结果

代码示例:
public class HelloWorld {
    public static void main(String[] args) {//表示定义一个公开的静态的主方法 ps:程序执行入口
        /*  方法体  */
        boolean sexbool = true;

        char sex = sexbool ? '男' : '女' ;
        //不知道优先级时可以这么写
        //char sex = (sexbool ? '男' : '女') ;
        System.out.println(sex);// sexbool为true输出男, sexbool为false输出女。
        System.out.println(sexbool ? '男' : '女');
    }
}

上篇: Java基础学习一 基本数据类型
下篇: Java基础学习三 控制语句

相关文章

  • java基础知识

    title: java基础知识tags: [java基础知识] 位运算符 java种的运算符有 “&”,“|”,“...

  • Java基础知识3

    Java基础知识3 运算符 Java语言支持如下运算符 算术运算符:+,-,*,/,%模,取余数,++,-- 赋值...

  • Java基础学习二 运算符

    运算符 1,运算符-算术运算符(++、--) 代码示例: 2,运算符-关系运算符 运算符号解析运算符号解析>大于<...

  • java基础:Enum — 源码分析

    其他更多java基础文章:java基础学习(目录) 学习资料Java 7 源码学习系列(二)——EnumJava的...

  • python基础(四)----运算符

    一.算术运算符(基本同Java) 二.比较运算符(基本同Java) 三.赋值运算符(基本同Java) 四.位运算符...

  • 《零基础 Java 开发 》 第三章 运算符

    《零基础 Java 开发》 第3章 运算符

  • Java基础随记1

    Java基础随记 赋值运算符 比较运算符 逻辑运算符 条件运算符 条件运算符( ? : )也称为 “三元运算符”。...

  • Java编程基础(3)

    微信公众号学习Javagywalke学习 Java基础知识点:运算符 (operator) 计算机的最基本的用途之...

  • Java运算符

    Java当中的运算符和我们数学当中加减乘除之类的运算符号相同,在学习Java运算符之前,我们首先来要学习表达...

  • Java学习

    1 java语言基础 java语言简介, Java开发环境, 变量, 运算符, 表达式, 分支语句, 循环语句, ...

网友评论

      本文标题:Java基础学习二 运算符

      本文链接:https://www.haomeiwen.com/subject/amwqsltx.html