服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java运算符总结


  运算符总结
  下面这个例子向大家展示了如何随同特定的运算符使用主数据类型。从根本上说,它是同一个例子反反复复地执行,只是使用了不同的主数据类型。文件编译时不会报错,因为那些会导致错误的行已用//!变成了注释内容。
  //: allops.java
  // tests all the operators on all the
  // primitive data types to show which
  // ones are accepted by the java compiler.
  
  class allops {
   // to accept the results of a boolean test:
   void f(boolean b) {}
   void booltest(boolean x, boolean y) {
    // arithmetic operators:
    //! x = x * y;
    //! x = x / y;
    //! x = x % y;
    //! x = x + y;
    //! x = x - y;
    //! x++;
    //! x--;
    //! x = +y;
    //! x = -y;
    // relational and logical:
    //! f(x > y);
    //! f(x >= y);
    //! f(x < y);
    //! f(x < = y);
    f(x == y);
    f(x != y);
    f(!y);
    x = x && y;
    x = x || y;
    // bitwise operators:
    //! x = ~y;
    x = x & y;
    x = x | y;
    x = x ^ y;
    //! x = x < < 1;
    //! x = x >> 1;
    //! x = x >>> 1;
    // compound assignment:
    //! x += y;
    //! x -= y;
    //! x *= y;
    //! x /= y;
    //! x %= y;
    //! x < < = 1;
    //! x >>= 1;
    //! x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //! char c = (char)x;
    //! byte b = (byte)x;
    //! short s = (short)x;
    //! int i = (int)x;
    //! long l = (long)x;
    //! float f = (float)x;
    //! double d = (double)x;
   }
   void chartest(char x, char y) {
    // arithmetic operators:
    x = (char)(x * y);
    x = (char)(x / y);
    x = (char)(x % y);
    x = (char)(x + y);
    x = (char)(x - y);
    x++;
    x--;
    x = (char)+y;
    x = (char)-y;
    // relational and logical:
    f(x > y);
    f(x >= y);
    f(x < y);
    f(x < = y);
    f(x == y);
    f(x != y);
    //! f(!x);
    //! f(x && y);
    //! f(x || y);
    // bitwise operators:
    x= (char)~y;
    x = (char)(x & y);
    x = (char)(x | y);
    x = (char)(x ^ y);
    x = (char)(x < < 1);
    x = (char)(x >> 1);
    x = (char)(x >>> 1);
    // compound assignment:
    x += y;
    x -= y;
    x *= y;
    x /= y;
    x %= y;
    x < < = 1;
    x >>= 1;
    x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //! boolean b = (boolean)x;
    byte b = (byte)x;
    short s = (short)x;
    int i = (int)x;
    long l = (long)x;
    float f = (float)x;
    double d = (double)x;
   }
   void bytetest(byte x, byte y) {
    // arithmetic operators:
    x = (byte)(x* y);
    x = (byte)(x / y);
    x = (byte)(x % y);
    x = (byte)(x + y);
    x = (byte)(x - y);
    x++;
    x--;
    x = (byte)+ y;
    x = (byte)- y;
    // relational and logical:
    f(x > y);
    f(x >= y);
    f(x < y);
    f(x < = y);
    f(x == y);
    f(x != y);
    //! f(!x);
    //! f(x && y);
    //! f(x || y);
    // bitwise operators:
    x = (byte)~y;
    x = (byte)(x & y);
    x = (byte)(x | y);
    x = (byte)(x ^ y);
    x = (byte)(x < < 1);
    x = (byte)(x >> 1);
    x = (byte)(x >>> 1);
    // compound assignment:
    x += y;
    x -= y;
    x *= y;
    x /= y;
    x %= y;
    x < < = 1;
    x >>= 1;
    x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //! boolean b = (boolean)x;
    char c = (char)x;
    short s = (short)x;
    int i = (int)x;
    long l = (long)x;
    float f = (float)x;
    double d = (double)x;
   }
   void shorttest(short x, short y) {
    // arithmetic operators:
    x = (short)(x * y);
    x = (short)(x / y);
    x = (short)(x % y);
    x = (short)(x + y);
    x = (short)(x - y);
    x++;
    x--;
    x = (short)+y;
    x = (short)-y;
    // relational and logical:
    f(x > y);
    f(x >= y);
    f(x < y);
    f(x < = y);
    f(x == y);
    f(x != y);
    //! f(!x);
    //! f(x && y);
    //! f(x || y);
    // bitwise operators:
    x = (short)~y;
    x = (short)(x & y);
    x = (short)(x | y);
    x = (short)(x ^ y);
    x = (short)(x < < 1);
    x = (short)(x >> 1);
    x = (short)(x >>> 1);
    // compound assignment:
    x += y;
    x -= y;
    x *= y;
    x /= y;
    x %= y;
    x < < = 1;
    x >>= 1;
    x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //! boolean b = (boolean)x;
    char c = (char)x;
    byte b = (byte)x;
    int i = (int)x;
    long l = (long)x;
    float f = (float)x;
    double d = (double)x;
   }
   void inttest(int x, int y) {
    // arithmetic operators:
    x = x * y;
    x = x / y;
    x = x % y;
    x = x + y;
    x = x - y;
    x++;
    x--;
    x = +y;
    x = -y;
    // relational and logical:
    f(x > y);
    f(x >= y);
    f(x < y);
    f(x < = y);
    f(x == y);
    f(x != y);
    //! f(!x);
    //! f(x && y);
    //! f(x || y);
    // bitwise operators:
    x = ~y;
    x = x & y;
    x = x | y;
    x = x ^ y;
    x = x < < 1;
    x = x >> 1;
    x = x >>> 1;
    // compound assignment:
    x += y;
    x -= y;
    x *= y;
    x /= y;
    x %= y;
    x < < = 1;
    x >>= 1;
    x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //! boolean b = (boolean)x;
    char c = (char)x;
    byte b = (byte)x;
    short s = (short)x;
    long l = (long)x;
    float f = (float)x;
    double d = (double)x;
   }
   void longtest(long x, long y) {
    // arithmetic operators:
    x = x * y;
    x = x / y;
    x = x % y;
    x = x + y;
    x = x - y;
    x++;
    x--;
    x = +y;
    x = -y;
    // relational and logical:
    f(x > y);
    f(x >= y);
    f(x < y);
    f(x < = y);
    f(x == y);
    f(x != y);
    //! f(!x);
    //! f(x && y);
    //! f(x || y);
    // bitwise operators:
    x = ~y;
    x = x & y;
    x = x | y;
    x = x ^ y;
    x = x < < 1;
    x = x >> 1;
    x = x >>> 1;
    // compound assignment:
    x += y;
    x -= y;
    x *= y;
    x /= y;
    x %= y;
    x < < = 1;
    x >>= 1;
    x >>>= 1;
    x &= y;
    x ^= y;
    x |= y;
    // casting:
    //!

扫描关注微信公众号