zoukankan      html  css  js  c++  java
  • Java运算符

    (1)数学运算符

    数学运算无非就是加减乘除以及取余(模)运算。

    先看一个程序:


    public class Data
    {
        
        public static void main(String[] args)
        {
            double a=0.6;
            int b=2;
            int c=0;
            
            int d=(int)a/b;
            /*
            double e=a/c; Exception in thread "main" java.lang.ArithmeticException:
            / by zeroat Data.main(Data.java:9);编译不出错,运行一定会出错,原因很
            明确:除数为0;
            int f=a/b;依然会报错,需要int�找到double损失精度 ,a/b获取的结果应该
            是double类型,而将double类型的值赋给int类型,显然会出错,范围小的数据
            类型可以赋给数据类型范围大的,相反则不行。
            */
            int e=(int)a/b;
            int f=c/b;
            double g=a/b;//将double类型的运算结果赋给double类型的变量
            double h=c/b;//将int类型的运算结果赋给double类型的变量,小范围赋给大范围
            /*
            int i=a+b;需要int,找到double;
            */
            double i=a+b;
            
            //int j=a%b;依然损失精度
            
            int k=-2;
            int l=5;
            int m=-7;
            
            int n=l%k;
            int o=m%l;
            
            int p=k*l;//乘法;
            int q=k-l;//减法
            
            
            System.out.println(b);
            System.out.println(c);
            System.out.println(d);
            System.out.println(e);
            System.out.println(f);
            System.out.println(g);
            System.out.println(h);
            System.out.println(i);
            System.out.println(n);//取余运算的结果正负值只与被除数有关
            System.out.println(o);
        }
    }

    运行结果如下:

    2
    0
    0
    0
    0
    0.3
    0.0
    2.6
    1
    -2

    总结:

    范围大的数据类型不能直接赋给比它小的数据类型,可以通过强制类型转换,而将范围小的数据类型可以赋给比它范围大的数据类型。

    (2)逻辑运算符

    看一段代码:
    public class Data
    {
        
        public static void main(String[] args)
        {
            int a=1;
            int b=2;
            
            boolean c=(a==b);//等于
            boolean d=(a!=b);//不等于
            boolean e=(a>b);//大于
            boolean f=(a>=b);?/不小于
            boolean g=(a<b);//小于
            boolean h=(a<=b);//不大于
            boolean i=true;
            boolean j=false;
            boolean k=(i&&j);//与运算
            boolean l=(i||j);//或运算
            
            
            
            System.out.println(c);
            System.out.println(d);
            System.out.println(e);
            System.out.println(f);
            System.out.println(g);
            System.out.println(h);
            System.out.println(k);
            System.out.println(l);
            
        }
    }

    结果如下:

    false
    true
    false
    false
    true
    true
    false
    true

    另外一个程序:



    public class Data
    {
        
        public static void main(String[] args)
        {
            int a=1;
            int b=1;
            
            a++;
            ++b;
            
            int c=b;
            int d=b++;
            int e=++b;
            
            System.out.println(a);
            System.out.println(b);
            System.out.println(c);
            System.out.println(d);
            System.out.println(e);
            
            
        }
    }

    结果如下:

    2
    4
    2
    2
    4

    总结:

    重点是逻辑与(&&)运算和逻辑或(||)运算,与运算:&&两端两个操作符都为true最后结果才为true;||两端两个操作符有一个为true那么就过就为true;

    关于变量的自增与自减运算。
    1) 关于int b = a++,作用是将a的值先赋给b,然后再让a自增1.
    2) 关于int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b。

    3)只要变量a在程序中单独出现 ++a或a++而不是出现在赋值运算中,那么最终a的结果就会+1;

  • 相关阅读:
    字符串比较
    LOOP AT SCREEN
    Trunc的日期用法
    【ABAP】SELECT-ENDSELECT尽量不要用
    【转】Abap For all entries in 使用
    01如何创建sequence:
    abap --MOVE-CORRESPONDING
    Abap 常用变量
    StringBuffer的用法
    Spring事务的传播方式
  • 原文地址:https://www.cnblogs.com/MedivhQ/p/3801422.html
Copyright © 2011-2022 走看看