1 class Demo02{
2 public static void main(String[] args){
3 //算数运算符 +,-,*,/,%,++,--
4
5 //例1
6 int a = 1;
7 int b = 2;
8 int c = 3;
9 System.out.println(a+b+c);
10 //结果 6
11 /*
12 a+b+c的执行流程
13 1:去内存中找a对应的数据
14 2:读取下一个运算符
15 3:读取a后面的操作数b,同事尧都区b后面的运算符,看是否先运行。
16 4:计算a+b的结果
17 5:把a+b的结果和c进行相加即可
18 */
19
20
21 //例2
22 int a = 1;
23 int b = 2;
24 int c = 3;
25 int d = 4;
26 System.out.println(a+b+c*d);
27 //结果 15
28 /*
29 执行流程
30 1:先计算a+b的值
31 2:计算c*d
32 3:把a+b的值和c*d的值相加
33 */
34
35
36 //例3
37 int a = 1;
38 int b = 2;
39 System.out.println((a=3)+(b=4)+a*b);
40 //结果 19
41
42
43 //例4
44 //面试题:请设计一个表达式,用于判断一个数据是否是奇数
45 //System.out.println(5%2);
46 //System.out.println(5%-2);
47 //System.out.println(-5%2);
48 //System.out.println(-5%-2);
49 //结果1,1,-1,-1
50 //结论:%是由前面的操作数提供运算结果的符号
51 return (i%2!=0)
52
53
54 //例5
55 //++,--运算符
56 //int i = 1;
57 //i++; 是一个表达式,式子的值和i的值相同
58 //++i; 是一个表达式,式子的值是i+1以后的值
59 //++,--必须是一个变量
60 int i=1;
61 System.out.println(i+++i+++i+++i++);
62 //结果 10
63 // i++ + i++ + i++ + i++
64 // 1 + i++ + i++ + i++ i=2
65 // 1 + 2 + i++ + i++ i=3
66 // 1 + 2 + 3 + i++ i=4
67 // 1 + 2 + 3 + 4 i=5
68
69
70 //例6
71 int i=1;
72 System.out.println(i++ + ++i + i++ + ++i);
73 //结果12
74 //如果写System.out.println(i+++++i+i+++++i);编译器会报错
75
76
77 //例7
78 int i=0;
79 i=i++;
80 System.out.println(i);
81 //结果0
82 //i++作为表达式值为0,temp=0
83 //i=i+1; i=1;
84 //将temp赋值给i,i又变回为0
85 }
86 }