JAVA中运算符含义及简单应用 |
您所在的位置:网站首页 › 运算符ln含义 › JAVA中运算符含义及简单应用 |
Java提供了丰富的运算符环境。Java有4大类运算符:算术运算、位运算、关系运算和逻辑运算。Java还定义了一些附加的运算符用于处理特殊情况。本章将描述Java所有的运算符,而比较运算符instanceof将在第12章讨论。 注意:如果你对C/C++熟悉,你将会高兴,因为Java的绝大多数运算符和C/C++中的用法一样。但有一些微妙的差别 算术运算符 算术运算符用在数学表达式中,其用法和功能与代数学(或其他计算机语言)中一样,Java定义了下列算术运算符: + 加法 – 减法(一元减号) * 乘法 / 除法 % 模运算 ++ 递增运算 += 加法赋值 –= 减法赋值 *= 乘法赋值 /= 除法赋值 %= 模运算赋值 -- 递减运算 算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用在char类型上,因为实质上在Java中,char类型是int类型的一个子集。
基本算术运算符 基本算术运算符——加、减、乘、除可以对所有的数字类型操作。减运算也用作表示单个操作数的负号。记住对整数进行“/”除法运算时,所有的余数都要被舍去。下面这个简单例子示范了算术运算符,也说明了浮点型除法和整型除法之间的差别。 // Demonstrate the basic arithmetic operators. class BasicMath { public static void main(String args[]) { // arithmetic using integers System.out.println("Integer Arithmetic"); int a = 1 + 1; int b = a * 3; int c = b / 4; int d = c - a; int e = -d; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println("e = " + e); // arithmetic using doubles System.out.println("\nFloating Point Arithmetic"); double da = 1 + 1; double db = da * 3; double dc = db / 4; double dd = dc - a; double de = -dd; System.out.println("da = " + da); System.out.println("db = " + db); System.out.println("dc = " + dc); System.out.println("dd = " + dd); System.out.println("de = " + de); } } 当你运行这个程序,你会看到输出如下: Integer Arithmetic a = 2 b = 6 c = 1 d = -1 e = 1 Floating Point Arithmetic da = 2.0 db = 6.0 dc = 1.5 dd = -0.5 de = 0.5 模运算符 模运算符%,其运算结果是整数除法的余数。它能像整数类型一样被用于浮点类型(这不同于C/C++,在C/C++中模运算符%仅仅能用于整数类型)。下面的示例程序说明了模运算符%的用法: // Demonstrate the % operator. class Modulus { public static void main(String args[]) { int x = 42; double y = 42.25; System.out.println("x mod 10 = " + x % 10); System.out.println("y mod 10 = " + y % 10); } } 当你运行这个程序,你会看到输出如下: x mod 10 = 2 y mod 10 = 2.25 算术赋值运算符 Java提供特殊的算术赋值运算符,该运算符可用来将算术运算符与赋值结合起来。你可能知道,像下列这样的语句在编程中是很常见的: a = a +4; 在Java中,你可将该语句重写如下: a += 4; 该语句使用“+=”进行赋值操作。上面两行语句完成的功能是一样的:使变量a的值增加4 。下面是另一个例子: a = a % 2; 该语句可简写为: a %= 2; 在本例中,%=算术运算符的结果是a/2的余数,并把结果重新赋给变量a。这种简写形式对于Java的二元(即需要两个操作数的)运算符都适用。其语句格式为: var= var op expression; 可以被重写为: var op= expression; 这种赋值运算符有两个好处。第一,它们比标准的等式要紧凑。第二,它们有助于提高Java的运行效率。由于这些原因,在Java的专业程序中,你经常会看见这些简写的赋值运算符。 下面的例子显示了几个赋值运算符的作用: // Demonstrate several assignment operators. class OpEquals { public static void main(String args[]) { int a = 1; int b = 2; int c = 3; 第1 部分 Java 语言 a += 5; b *= 4; c += a * b; c %= 6; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); } } 该程序的输出如下: a = 6 b = 8 c = 3 递增和递减运算 在第2章中曾经介绍过,“++”和“--”是Java的递增和递减运算符。下面将对它们做详细讨论。它们具有一些特殊的性能,这使它们变得非常有趣。我们先来复习一下递增和递减运算符的操作。 递增运算符对其运算数加1,递减运算符对其运算数减1。因此: x = x + 1; 运用递增运算符可以重写为: x++; 同样,语句: x = x - 1; 与下面一句相同: x--; 在前面的例子中,递增或递减运算符采用前缀(prefix)或后缀(postfix)格式都是相同的。但是,当递增或递减运算符作为一个较大的表达式的一部分,就会有重要的不同。如果递增或递减运算符放在其运算数前面,Java就会在获得该运算数的值之前执行相应的操作,并将其用于表达式的其他部分。如果运算符放在其运算数后面,Java就会先获得该操作数的值再执行递增或递减运算。例如: x = 42 ; y =++x ; 在这个例子中,y将被赋值为43,因为在将x的值赋给y以前,要先执行递增运算。这样,语句行y =++x ;和下面两句是等价的: x = x + 1; y = x; 但是,当写成这样时: x = 42; y = x++; 在执行递增运算以前,已将x的值赋给了y,因此y的值还是42 。当然,在这两个例子中,x都被赋值为43。在本例中,程序行y =x++;与下面两个语句等价: y = x; x = x + 1; 下面的程序说明了递增运算符的使用: // Demonstrate ++. class IncDec { public static void main(String args[]) { int a = 1; int b = 2; int c; int d; c = ++b; d = a++; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |