运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符,如赋值运算符、算术运算符、比较运算符等。
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。
a = 15; // 将15赋值给变量a
该表达式是将15赋值给变量a。左方的操作数必须是一个变量,而右边的操作数则可以是任何表达式,包括变量(如a、number)、常量(如123、‘book’)、有效的表达式(如45*12)。
由于赋值运算符“=”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“=”运算符,会从最右方的“=”开始处理。
在主方法中定义变量,使用赋值运算符为变量赋值。
public class Eval { // 创建类 public static void main(String[] args) { // 主方法 int a, b, c; // 声明int行变量a,b,c a = 15; // 将15赋值给变量a c = b = a + 4; // 将a与4的和赋值给变量b,然后再赋值给变量c System.out.println("c值为:" + c); // 将变量c的值输出 System.out.println("b值为:" + b); // 将变量b的值输出 } }
在Java中可以把赋值运算符连在一起使用。如:
x = y = z = 5;
在这个语句中,变量x、y、z都得到同样的值5。但在程序开发中不建议使用这种赋值语句。
Java中的算术运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),它们都是二元运算符。
使用算术运算符将变量的计算结果输出。
public class Arith { // 创建类 public static void main(String[] args) { // 主方法 float number1 = 45.56f; // 声明float型变量并赋值 int number2 = 152; // 声明int型变量并赋值 System.out.println("和为:" + number1 + number2); // 将变量相加之和输出 System.out.println("差为:" + (number2-number1));//将变量相减之差输出 System.out.println("积为:" + number1 * number2); // 将变量相乘的积输出 System.out.println("商为:" + number1 / number2); // 将变量相除的商输出 } }
自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算。放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)
比较运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。所有比较运算符通常作为判断的依据用在条件语句中。比较运算符共有6个。使用比较运算符对变量进行比较运算,并将运算后的结果输出。栗子:
public class Compare { // 创建类 public static void main(String[] args) { int number1 = 4; // 声明int型变量number1 int number2 = 5; // 声明int型变量number2 System.out.println("number1>number的返回值为:" +(number1 > number2)); /* 依次将变量number1与变量number2的比较结果输出 */ System.out.println("number1<number2的返回值为:"+(number1 < number2)); System.out.println("number1==number2返回值为:"+(number1== number2)); System.out.println("number1!=number2返回值为:"+(number1 != number2)); System.out.println("number1>= number2返回值为:"+(number1 >= number2)); System.out.println("number1<=number2返回值为:"+(number1 <= number2)); } }
逻辑运算符
返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这是通过逻辑运算符来实现的。逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符的操作元必须是boolean型数据。在逻辑运算符中,除了“!”是一元运算符之外,其他都是二元运算符。
逻辑运算符“&&”与“&”都表示“逻辑与”,那么它们之间的区别在哪里呢?从表3.8可以看出,当两个表达式都为true时,“逻辑与”的结果才会是true。使用逻辑运算符“&”会判断两个表达式;而逻辑运算符“&&”则是针对boolean类型的类进行判断,当第一个表达式为false时则不去判断第二个表达式,直接输出结果从而节省计算机判断的次数。通常将这种在逻辑表达式中从左端的表达式可推断出整个表达式的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。“&&”属于“短路”运算符,而“&”则属于“非短路”运算符。
使用逻辑运算符对变量进行运算,并将运算结果输出。
public class Calculation { // 创建类 public static void main(String[] args) { int a = 2; // 声明int型变量a int b = 5; // 声明int型变量b // 声明布尔型变量,用于保存应用逻辑运算符“&&”后的返回值 boolean result = ((a > b) && (a != b)); // 声明布尔型变量,用于保存应用逻辑运算符“||”后的返回值 boolean result2 = ((a > b) || (a != b)); System.out.println(result); // 将变量result输出 System.out.println(result2); // 将变量result2输出 } }