Java运算符

2

Java运算符

  在前面已经介绍了Java的由来,这里主要介绍Java的运算符,包括赋值运算符,算术运算符,关系运算符,逻辑运算符,三目运算符。

Java创建变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Java中的变量创建时必须写清楚数据类型,也可以先定义,然后在其他地方赋初始值
// 注意在C++中的char类型是占用1个字节,在Java中char类型占用2个字节
// C++中的布尔类型是bool,Java中的布尔类型是boolean
// 在Java中所有类型都是继承自Object基类,对每一个类无法直接像C++一样通过typeid()获得类型,也无法通过sizeof()获得大小。

public class Operator {
public static void main(String[] args) {
short s = 1;
int i = 20;
long l = 300;
char c = 'A';
float f = 3.14f;
double d = 1.234567;
boolean b;
b = true;
System.out.println("s的类型为:" + getType(s) + " 所占的空间为:" + "2Bit");
System.out.println("i的类型为:" + getType(i) + " 所占的空间为:" + "4Bit");
System.out.println("l的类型为:" + getType(l) + " 所占的空间为:" + "8Bit");
System.out.println("c的类型为:" + getType(c) + " 所占的空间为:" + "2Bit");
System.out.println("f的类型为:" + getType(f) + " 所占的空间为:" + "4Bit");
System.out.println("d的类型为:" + getType(d) + " 所占的空间为:" + "8Bit");
System.out.println("b的类型为:" + getType(b) + " 所占的空间为:" + "1Bit");
}

public static String getType(Object o) {
return o.getClass().toString();
}
}

1

Java算术运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// +(加),-(减),*(乘),/(除),%(求余),整数除法结果只能得到整数,注意字符型可以参与运算,字符型的值为ASCII码对应的值,但是布尔型不可以参与算术运算。
//进行计算时要注意数据的范围,以及低范围和高范围数据类型进行运算时,数据会发生自动类型转换到高范围,高范围数据向低范围数据要强制类型转换
public class Operator {
public static void main(String[] args) {
int a = 2;
long l = 999;
char c = 'A';
double d = 3.14159;

System.out.println("a + c =" + " " + (a + c));
System.out.println("l / a =" + " " + (l / a));
System.out.println("l % a =" + " " + (l % a));
System.out.println("a * a * d =" + " " + (a * a * d));
System.out.println("a * a * d =" + " " + (int)(a * a * d));
}
}

2

Java关系运算

1
2
3
4
5
6
7
8
9
10
11
12
13
// >(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)
public class Operator {
public static void main(String[] args) {
int a = 99;
int b = 'b';
char c = 'c';
boolean d = a == c;
boolean e = b > c;

System.out.println("99是否等于c? " + d);
System.out.println("b是否大于c " + e);
}
}

4

Java自增自减运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// ++(自增运算符),--(自减运算符),++在前代表先进行加1,然后将值代入表达式,++在后代表先将值代入表达式,然后再进行加1,自减操作符同理。
public class Operator {
public static void main(String[] args) {
int a = 1;

System.out.println(a + " 此时a=1");
System.out.println(a++ + " ++在后,先打印a=1,然后a=a+1");
System.out.println(a + " 此时a=2");
System.out.println(++a + " ++在前,先计算a=a+1,然后再打印a=3");
System.out.println(a + " 此时a=3");
System.out.println(a-- + " --在后,先打印a=3,然后a=a-1");
System.out.println(a + " 此时a=2");
System.out.println(--a + " --在前,先计算a=a-1,然后再打印a=1");
System.out.println(a + " 此时a=1");
}
}

5

Java逻辑运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// &&(与),||(或),!(非),注意与或操作只要可以判断出最后结果则停止,具有短路效果。
//如果与操作的第一个条件为假,则不执行第二个条件,如果或操作的第一个条件为真,则不执行第二个条件。
public class Operator {
public static void main(String[] args) {
int a = 5;
int b = 6;
int i = 0;
boolean d = a > b || ++i > 0; //此时或操作的第一个表达式为假,需要执行++i,因此i=1
System.out.println("i = " + i);
System.out.println("d = " + d);
boolean e = a > b && ++i > 0; //此时与操作的第一个表达式为假,不需要执行++i,因此i=1
System.out.println("i = " + i);
System.out.println("e = " + e);
boolean f = !d;
System.out.println("f = " + f);
}
}

6

Java三目运算符

1
2
3
4
5
6
7
8
9
10
11
// 条件?表达式1:表达式2,当条件成立时,执行表达式1的内容,否则执行表达式2的内容。
public class Operator {
public static void main(String[] args) {
int a = 5 > 3 ? 2 : 1; // 5 > 3成立,因此a = 2
System.out.println("a = " + a);
int b = ++a >= a++ ? ++a : a++; // ++a中a的值先计算为3,再赋值为a,a++中a的值为3,此时++a >= a++等价于3 >= 3成立,当条件判断结束后,a又自增一次,变为4,然后b = ++a,a先自增为5,并且赋值给b
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}

7

Java小结

  运算符操作每种语言都大同小异,因为运算符是所有语言的基础,学习每一种语言都离不开运算操作,虽然难度较小,但是非常重要,无论以后从事什么样的研究,都是必不可少的,因此需要熟练掌握。

-------------本文结束感谢您的阅读-------------
0%