1 /*
2 运算符:
3 算术运算符: +,-,*,/,%,++,--
4
5 赋值运算符 =
6 java中=表示赋值运算符,==表示相等的操作
7 扩展赋值运算符:+=,-=,*=,/=
8
9 关系运算符: >,<,>=,<=,==,!=
10 用来比较两值的关系,
11 逻辑运算符: &&,||,!
12 逻辑运算符一般两边的值不是具体的值,而是表达式
13 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
14 条件运算符 ?:
15 */
16 public class OperatorDemo{
17
18 public static void main(String[] args){
19 int a = 1;
20 int b = 2;
21
22 //算数运算符
23 System.out.println(a+b);
24 System.out.println(a-b);
25 System.out.println(a*b);
26 //取整除,或者取商
27 System.out.println(a/b);
28 //取余数,或者取模
29 System.out.println(a%b);
30
31 //单目运算符
32 //++,表示在变量原有的基础上+1,谁在前,先运算谁
33 System.out.println(a++);
34 System.out.println(++a);
35 //--,表示在变量原有的基础上-1,谁在前,先运算谁
36 System.out.println(a--);
37 System.out.println(--a);
38 //6 ????
39 System.out.println(++b+b++);
40
41 //扩赋值运算符
42 int c = 1;
43 //两写法意义一样,表示加2的基本操作
44 c = c + 2;
45 c += 2;
46 //类型转换问题,d是byte,d+1整体变成int类型,需要将int类型的值转换位byte,会有精度算是,因此需要强制转换
47 //建议在进行操作的时候使用扩赋值运算符
48 byte d = 10;
49 //d = d+1;
50 d+=1;
51
52 //关系运算符:返回的值是布尔类型,也就是说只有true和false两情况
53 System.out.println(1>2);
54 System.out.println(1<2);
55 System.out.println(1>=2);
56 System.out.println(1<=2);
57 System.out.println(1==2);
58 System.out.println(1!=2);
59 System.out.println("-----");
60 //逻辑运算符
61 /*
62 &&:表示短路与,两边表达式中只要有一个是false,整体结果就是false
63 两边表达式从左向右开始对比,如果左边的表达式是false,右边不需要进行判断
64 ||:表示短路或,两边表达式中只要有一个是true,整体结果就是true
65 两边表达式从左向右开始对比,如果左边的表达式是true,右边不需要进行判断
66 !:取反,如果是true,取反是false,如果是false,取反就是true
67 &:与运算符,但是两都会参与运算
68 |:或运算符,两边都会参与运算
69 */
70 System.out.println(3>5 & 3<4);
71 System.out.println(3>5 | 3<4);
72 System.out.println(!true);
73 System.out.println(!false);
74
75 //位运算符:只能操作数值,操作的时候会转成二进制进行运算
76 System.out.println(4 & 5);
77 System.out.println(4 | 5);
78 System.out.println(4 ^ 5);
79 //移码,补码,原码,反码 ????
80 System.out.println(~4);
81 //左移表示乘以2,右移表示除以2
82 System.out.println(2<<3);
83 System.out.println(16>>2);
84
85 //条件运算符或者三目运算符
86 //使用的时候需要跟一个表达式,表达式如果是true,则返回?后的结果,
87 //如果是false,则返回:后的结果
88 System.out.println(3>2?3:2);
89 System.out.println(false?false:true?false:true);
90
91
92 /*
93
94 基本数据类型之间的转换
95 自动转换(隐形转换):
96 强制转换
97
98 注意:
99 1、在进行算术运算操作的时候,必须要求数据类型一致,否则无法操作
100 2、在运算过程中,如果两个值得类型不一致,会自动将小的类型转换为大的类型
101 3、在运算过程中,可以手动强制转换,将大的类型转换为小的类型
102 实现方式,(datatype)
103 4、强制转换,会发生精度损失,结果可能不准确
104 */
105 byte bb = 10;
106 int aa = 200;
107 byte cc;
108 cc = (byte)(aa+bb);
109 System.out.println(cc);
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 }
128 }