• 运算符(六)


    一、概念
      对常量和变量进行操作的符号
    
    二、分类

    1、算术运算符:+,-,*,/,%,++,--

    (1)、注意事项

       A、算数运算符:整数相处只能得到整数,如果想得到小数,必须把数据变成浮点数类型,
       B、/获取的是触发操作的商,%获取的是触发操作的余数
    

    (2)、++,--运算符的使用

      A、单独使用:放在操作数的前面和后面效果一样(这种用法是比较常见的)
            int x=3;
            int y=4;
            ++x;
            --y;
            System.out.println("x:"+x+",y:"+y);
    
      B、参与运算使用:放在操作数前面,先自增或者自减,然后参与运算,放在后面,先参与运算,在自增或者自减
          int a = 3;
          int b = 4;
    		
          //int c = a++;
          //int d = b--;	
          int c = ++a;
          int d = --b;	
          System.out.println("a:"+a); //4, 4
          System.out.println("b:"+b); //3, 3
          System.out.println("c:"+c); //3, 4
          System.out.println("d:"+d); //4, 3
    
      C、作用:就是对变量进行自增1或者自减1
    
    (3)、++,--练习
      第一题:
          int a = 10;
          int b = 10;
          int c = 10;
    
          a = b++;
          c = --a;
          b = ++a;
          a = c--;
          请分别计算出a,b,c的值(9,10,8)
    
    第二题:
          int x = 4;
          int y = (x++)+(++x)+(x*10);
          请分别计算出x,y的值(4+6+60)
    

    2、赋值运算符:=,+=,-=,/=,*=,%=

            short s=1;s = s+1; 
    	short s=1;s+=1;
    	上面两个代码有没有问题,如果有,那里有问题。
            扩展的赋值运算符其实隐含了一个强制类型转换。s += 1;不是等价于 s = s + 1;而是等价于 s = (s的数据类型)(s + 1);
    

    3、比较运算符:==,!=,>,>=,<,<=

       A、特点:无论操作是简单还是复杂,结果是boolean类型
       B、注意事项:"=="不能写成"="
            int x = 3;
    	int y = 4;
    	int z = 3;
    
    	System.out.println(x == y);
    	System.out.println(x != y);
    	System.out.println(x > y);
    	System.out.println(x >= y);
    	System.out.println(x < y);
    	System.out.println(x <= y);
    

    4、逻辑运算符:&,|,^,!,&&,||

      A、特点:一般用于连接boolean类型的表达式或者值
      B、结论:
            &:逻辑与:有false则false
            |:逻辑或:有true则true
            ^:逻辑异或:相同为false,不同为true
            !:逻辑非:非false则true,非true则false
      C、&&和&的区别
            a、最终的结果是一样
            b、&&具有短路效果,左变是false,右边不执行
    

    5、三目运算符

      A、格式:比较表达式?表达式1:表达式2
      B、比较表达式:结果是一个Boolean类型
      C、执行流程:
            根据表达式的计算返回一个true或者false
            如果是true,就把表达式1作为结果
            如果是false,就把表达式2作为结果
    
            int x = 100;
    	int y = 200;		
    	int z = ((x > y)? x: y);
    
      D、练习
            //获取两个整数中的最大值
    	int x = 100;
    	int y = 200;
    	
    	int max = (x > y? x: y);
    	System.out.println("max:"+max);
    	System.out.println("--------");
    	
    	//获取三个整数中的最大值
    	int a = 10;
    	int b = 30;
    	int c = 20;
                int temp = ((a > b)? a: b);
    	int max1 = (temp > c? temp: c);
    	System.out.println("max1:"+max1);
    
            //比较两个整数是否相同
    	int m = 100;
    	int n = 200;
    	
    	//boolean flag = (m == n)? true: false;
    	boolean flag = (m == n);
    	System.out.println(flag);
  • 相关阅读:
    set集合操作
    python中字符串操作
    字典----增删改查遍历
    C#反射回顾笔记
    消息队列之ActiveMQ学习笔记(二、C#实例实现)
    消息队列之ActiveMQ学习笔记(一、下载及安装)
    依赖注入之AutoFac
    layer弹框层学习笔记
    VS自定义代码块Code Snippet
    博客园添加链接
  • 原文地址:https://www.cnblogs.com/liangfzh/p/14131364.html
Copyright © 2020-2023  润新知