码迷,mamicode.com
首页 > 其他好文 > 详细

运算符竟然还能这样用!!!

时间:2020-05-20 09:39:02      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:扩展   基础上   存在   算数   表达式2   除法   分类   ceo   表达式   

运算符

1.1运算符的基本概念:

  • =和+都是运算符。
  • 1+1称之为表达式,最后要有一个运算结果。
  • int num=1+1;这一条语句要用";"作为一条语句的结束。
  • 运算符两边的数称之为操作数。将运算符左右的一个操作数称为单目/单元,两个操作数称为双目/双元。

1.2运算符的分类:

  • 算数运算符:+ - * / % ++ --
  • 关系运算符:> < == <= >= != instanceOf
  • 逻辑运算符:& | ! ^ && ||
  • 赋值运算符: =
  • 拓展运算符: += -= *= /= %= >>= <<= ^+ !=
  • 位运算符:& | ^ >> << <<< !
  • 条件运算符: ?:

i.赋值运算符

=号将运算符右侧的结果赋值给左边的变量进行存储。

运算时自右向左进行的

int num=10;

ii.算数运算符

+

public class Demo05 {
    public static void main(String[] args) {
        //正号
        int num=+5;
        System.out.println(num);
        //加法运算符
        num=2+3;
        System.out.println(num);
        //连接符
        System.out.println("1+1="+1+1);
    }
}
注意事项:
  • 正号:在数值前面编写
  • 加法运算:保证+号左右两边都是一个具体的值。
  • 连接符:+号左右两边有一个操作数为字符串类型时,+号就是连接符,它会把左右两边的操作数都当成字符串,进行拼接,所以+号为拼接符的时候最好用括号先计算运行结果。

-

public class Demo05 {
    public static void main(String[] args) {

        //减法运算符
        int num=3-2;
        System.out.println(num);
        //负号
        num=-5;
        System.out.println(num);
    }
}

* / %

public class Demo05 {
    public static void main(String[] args) {
            //乘法运算
            int num=1*1;
            System.out.println(num);
            //除法运算
            num=2/1;
            System.out.println(num);
            //取余
            num=3%2;
            System.out.println(num);
    }
}

++ --

  • ++ --都是单目运算符
  • ++ --的区别和联系
    • 联系
    • ++是在原来变量基础上+1。
    • --是在原来变量基础上-1。
    • 当++和--是单独一条语句时,++ --是单目运算符,不管放前面还是放后面都是自身加一,自身减1。
    • 区别
    • num++ => num++ 最后有一个结果 num本身存在一个结果;num++ 表达式的值和num是有关系 num++ 表达式的值= num的值
    • ++num不是单独一条语句是,前加,先自增 再运算。
    • num++不是单独一条语句时,后加,先运算 再自增
    • --num不是单独一条语句是,前减,先自减 再运算。
    • num--不是单独一条语句时,后加,先运算 再自减 。

iii.扩展运算符

其实就是算数运算符和位运算符加上赋值运算符的结合体

public class Demo05 {
    public static void main(String[] args) {
            //计算两个学生的分数之和
        int a=80;
        int b=70;
        int sum=0;
        sum=sum+a;
        sum=sum+b;
        System.out.println(sum);

        int sum1=0;
        sum1+=a;
        sum1+=b;
        System.out.println(sum1);
    }
}

扩展运算符的优缺点

  • 优点:
    • 提高了编译速度
    • 提高了编写效率
    • 自动强制类型转换(即是有点也是缺点)
  • 缺点:
    • 不利于阅读

iv.关系运算符

< == <= >= != instanceOf

  • 注意事项:
  • 最后的结果是一个boolean类型的值 true和false
  • != == 既可以比较基本数据类型 也可以比较引用类型
    < > >= <= 只能比较基本数据类型 (布尔类型除外)

v.逻辑运算符

逻辑运算符中包括了(& | ! ^ && ||),逻辑运算符左右变量的操作数有且只能是boolean类型的值。当

&、|、^左右两边的操作数不是boolean类型,是数值型时要注意,此时&、|、^不是逻辑运算符而是

位运算符。

  • 逻辑运算符最后的结果:
  • &和&&是两边都为true才为true。

  • |和||是两边只要有一个true就为true。

  • ^是两边相同为false,两边不同为true。

  • !为取反。

  • &&和&的联系和区别以及|和||的联系和区别。

    • 联系
    • &&和&都是两边都为true才为true。
    • ||和|都是两边有true就为true。
    • 区别
    • &&是当第一个操作数为false,将不会看第二个操作数,直接为false。
    • ||是当第一个操作数为true时,将不会看第二个操作数,直接为true。

vi.条件运算符

?:
  • 是java中的唯一一个三目运算符。
    • <表达式1>?<表达式2>:<表达式三>
    • 在运算中,首先对第一个表达式进行检验,如果为真则返回表达式二的值,如果为假,则返回表达式三的值。

运算符竟然还能这样用!!!

标签:扩展   基础上   存在   算数   表达式2   除法   分类   ceo   表达式   

原文地址:https://blog.51cto.com/14819793/2496611

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!