gpt4 book ai didi

Java运算符

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 10010 100
gpt4 key购买 nike

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

表格中的实例假设整数变量A的值为10,变量B的值为20:


下面的简单示例程序演示了算术运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {
 public static void main(String args[]) {
 int a = 10;
 int b = 20;
 int c = 25;
 int d = 25;
 System.out.println( a + b = + (a + b) );
 System.out.println( a - b = + (a - b) );
 System.out.println( a * b = + (a * b) );
 System.out.println( b / a = + (b / a) );
 System.out.println( b % a = + (b % a) );
 System.out.println( c % a = + (c % a) );
 System.out.println( a++ = + (a++) );
 System.out.println( b-- = + (a--) );
 // Check the difference in d++ and ++d
 System.out.println( d++ = + (d++) );
 System.out.println( ++d = + (++d) );
以上实例编译运行结果如下:

a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++ = 10
b-- = 11
d++ = 25
++d = 27

下面的简单示例程序演示了关系运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {
 public static void main(String args[]) {
 int a = 10;
 int b = 20;
 System.out.println( a == b = + (a == b) );
 System.out.println( a != b = + (a != b) );
 System.out.println( a b = + (a b) );
 System.out.println( a b = + (a b) );
 System.out.println( b = a = + (b = a) );
 System.out.println( b = a = + (b = a) );
以上实例编译运行结果如下:

a == b = false
a != b = true
a b = false
a b = true
b = a = true
b = a = false

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。假设a = 60,和b = 13;它们的二进制格式表示将如下:

A = 0011 1100
B = 0000 1101
-----------------
A b = 0000 1100
A | B = 0011 1101
^ B = 0011 0001
~A= 1100 0011
下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:


下面的简单示例程序演示了位运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {
  public static void main(String args[]) {
  int a = 60; /* 60 = 0011 1100 */ 
  int b = 13; /* 13 = 0000 1101 */
  int c = 0;
  c = a   /* 12 = 0000 1100 */
  System.out.println( a b = + c );
  c = a | b;  /* 61 = 0011 1101 */
  System.out.println( a | b = + c );
  c = a ^ b;  /* 49 = 0011 0001 */
  System.out.println( a ^ b = + c );
  c = ~a;  /*-61 = 1100 0011 */
  System.out.println( ~a = + c );
  c = a 2;  /* 240 = 1111 0000 */
  System.out.println( a 2 = + c );
  c = a 2;  /* 215 = 1111 */
  System.out.println( a 2  = + c );
 
   c = a   /* 215 = 0000 1111 */
  System.out.println( a 2 = + c );
  }
} 
以上实例编译运行结果如下:

a b = 12
a | b = 61
a ^ b = 49
~a = -61
a 2 = 240

称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A B)为真。
下面的简单示例程序演示了逻辑运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {
  public static void main(String args[]) {
  boolean a = true;
  boolean b = false;
  System.out.println( a b = + (a b));
  System.out.println( a || b = + (a||b) );
  System.out.println( !(a b) = + !(a b));
  }
} 
以上实例编译运行结果如下:

a b = false
a || b = true
!(a b) = true

面的简单示例程序演示了赋值运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {
  public static void main(String args[]) {
  int a = 10;
  int b = 20;
  int c = 0;
  c = a + b;
  System.out.println( c = a + b = + c );
  c += a ;
  System.out.println( c += a  = + c );
  c -= a ;
  System.out.println( c -= a = + c );
  c *= a ;
  System.out.println( c *= a = + c );
  a = 10;
  c = 15;
  c /= a ;
  System.out.println( c /= a = + c );
  a = 10;
  c = 15;
  c %= a ;
  System.out.println( c %= a  = + c );
  c = 2 ;
  System.out.println( c = 2 = + c );
  c = 2 ;
  System.out.println( c = 2 = + c );
  c = 2 ;
  System.out.println( c = a = + c );
  c = a ;
  System.out.println( c = 2  = + c );
  c ^= a ;
  System.out.println( c ^= a  = + c );
  c |= a ;
  System.out.println( c |= a  = + c );
  }
} 
以上实例编译运行结果如下:

c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a = 5
c = 2 = 20
c = 2 = 5
c = 2 = 1
c = a = 0
c ^= a = 10
c |= a = 10

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

variable x = (expression) ? value if true : value if false
public class Test {
 public static void main(String args[]){
 int a , b; 
 a = 10; 
b = (a == 1) ? 20: 30; 
System.out.println( Value of b is : + b );
 b = (a == 10) ? 20: 30; 
 System.out.println( Value of b is : + b );
以上实例编译运行结果如下:

Value of b is : 30
Value of b is : 20

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。

下面是一个例子:

String name = James 
boolean result = name instanceOf String; // 由于name是Strine类型,所以返回真
如果被比较的对象兼容于右侧类型,该运算符仍然返回true。

看下面的例子:

class Vehicle {}
public class Car extends Vehicle {
 public static void main(String args[]){
 Vehicle a = new Car();
 boolean result = a instanceof Car;
 System.out.println( result);
以上实例编译运行结果如下:

true

当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。

例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。

再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。

10010 100 3
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com