教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> JAVA >> Java算术运算符 RSS订阅
Java算术运算符
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
   Java 提供了丰富的运算符环境。Java 有4大类运算符:算术运算、位运算、关系运算和逻辑运算。Java 还定义了一些附加的运算符用于处理特殊情况。本章将描述Java 所有的运算符,而比较运算符instanceof 将在第12章讨论。

注意:如果你对C/C++ 熟悉,你将会高兴,因为Java 的绝大多数运算符和C/C++ 中的用法一样。但有一些微妙的差别,所以提醒你要仔细阅读。

算术运算符用在数学表达式中,其用法和功能与代数学(或其他计算机语言)中一样,Java 定义了下列算术运算符(见表4-1):

运算符含义

+ 加法 
– 减法(一元减号) 

乘法/ 除法% 模运算++ 递增运算+= 加法赋值–= 减法赋值 
*= 
乘法赋值/= 除法赋值%= 模运算赋值--递减运算 
算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用在char类型上,因为实质上在Java 中,char类型是int 类型的一个子集。

4.1.1 基本算术运算符
基本算术运算符——加、减、乘、除可以对所有的数字类型操作。减运算也用作表示单个操作数的负号。记住对整数进行“/”除法运算时,所有的余数都要被舍去。下面这个简单例子示范了算术运算符,也说明了浮点型除法和整型除法之间的差别。

// 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 


4.1.2 模运算符
模运算符%,其运算结果是整数除法的余数。它能像整数类型一样被用于浮点类型(这不同于C/C++ ,在C/C++ 中模运算符%仅仅能用于整数类型)。下面的示例程序说明了模运算符%的用法:
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 


4.1.3 算术赋值运算符
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; 
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 


4.1.4 递增和递减运算
在第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++; 
c++; 
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);


}
}


该程序的输出如下:

a = 2 
b = 3 
c = 4 
d = 1

来源:编程技术-十度教育
作者:
关键字:Java算术运算符
发表日期:2006-10-18 13:43:07

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:构造java函数   下一篇:Java 位运算符


2008-10-8 15:11:47
本文的相类似文章
在学习中进步 在进步中成长 教程中国相随您的成长之路
华腾联合科技股份有限公司版权所有
广告联系:Rosibo@163.com