您的位置 首页 java

都这年头了不会还有人不知道「java」运算符吧?

java运算符

1.比较运算符

是两个数据之间进行比较的运算,运算结果都是布尔值true和false。

*赋值运算符包括:*

*==*

比较符号两边数据是否相等,相等结果是true

<

比较符号左边的数据是否小于右边的数据,如果小于结果是true

*>*

比较符号左边的数据是否大于右边的数据,如果大于结果是true

<=

比较符号左边的数据是否小于等于右边的数据,如果小于等于结果是true

*>=*

比较符号左边的数据是否大于等于右边的数据,如果大于等于结果是true

!=

比较符号两边数据是否不相等,不相等结果是true

注意事项:

1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false。

2.如果进行多次判断,不能连着写,例如1<x<3,此时需要用到逻辑运算符。

完整代码:

/*

比较运算符:

大于: >

小于: <

大于等于: >=

小于等于: <=

相等: ==

不等: !=

注意事项:

1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false。

2.如果进行多次判断,不能连着写,例如1<x<3,此时需要用到逻辑运算符

*/

public class Demo11Operator{

public static void main(String[] args){

System.out.println(10 > 5); // true

int num1 = 10;

int num2 = 12;

System.out.println(num1 <= num2); // true

System.out.println(num1 >= num2); // false

System.out.println(num1 < 100); // true

System.out.println(num1 >= 1); // true

System.out.println(1 == 1); // true

System.out.println(1 != 1); // false

System.out.println(1 < 2 < 3); //会报错

}

}

2.逻辑运算符

逻辑运算符主要有:

与(并且) && 全都是true才是true,否则是false

​ 或(或者) || 有一个是true就是true;全都是false就是false

​ 非(取反) !本来是true,变成false;本来是false,变成true

注意:如&&,或||,具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。

注意事项:

​ 1.逻辑运算符只能用于boolean值。

​ 2.与、或需要左右各自有一个boolean值,但是取反只要有一个唯一的boolean值即可。

​ 3.与、或两种运算符,如果有多个条件,可以连续写。

​ 两个条件:条件A && 条件B

​ 多个条件:条件A && 条件B && 条件C && …

Tips:

对于1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连接起来:

int x = 2;

1 < x && x < 3

完整代码:

/*

逻辑运算符主要有:

与(并且) && 全都是true才是true,否则是false

或(或者) || 有一个是true就是true;全都是false就是false

非(取反) !本来是true,变成false;本来是false,变成true

与&&,或||,具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。

注意事项:

1.逻辑运算符只能用于boolean值。

2.与、或需要左右各自有一个boolean值,但是取反只要有一个唯一的boolean值即可。

3.与、或两种运算符,如果有多个条件,可以连续写。

两个条件:条件A && 条件B

多个条件:条件A && 条件B && 条件C && …

Tips:

对于1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连接起来:

int x = 2;

1 < x && x < 3

*/

public class Demo12Operator{

public static void main(String[] args){

System.out.println(true && false); //false

System.out.println(3 < 4 && 10 > 5); // true

System.out.println(3 < 4 || 10 < 5); // true

System.out.println(3 > 4 || 10 < 5); // false

System.out.println(!true); //false

System.out.println(!(3<4)); //false

int a = 10;

//false &&…

System.out.println(3 > 4 && ++a < 100); //短路效果:右边部分不执行

System.out.println(a); // 10

int b = 20;

// true || …

System.out.println(3 < 4 ++ ++b < 100);

System.out.println(b); // 20

}

3.算术运算符

算术运算符用在数学表达式中,其用法和功能与代数学(或其他计算机语言)中一样,

算术运算符及其含义

算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用

在char类型上,因为实质上在Java中,char类型是int类型的一个子集。

基本算术运算符

基本算术运算符——加、减、乘、除可以对所有的数字类型进行操作。减运算也用作表示

单个操作数的符号。记住对整数进行“/”除法运算时,所有的余数都要被舍去。

下面这个简单例子示范了算术运算符,也说明了浮点型除法和整型除法之间的差别。

 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++中模运算符%仅仅能用于整数类型)。下面的示例程序说明了模运

算符%的用法:

 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的专业程序中,你经常会看见这些简写的赋值运

算符。

下面的例子显示了几个赋值运算符的作用:

 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  

递增和递减运算

“++”和“–”是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;

下面的程序说明了递增运算符的使用:

 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」运算符吧?

文章地址:https://www.zhihuclub.com/182952.shtml

关于作者: 智云科技

热门文章

网站地图