Java面试(2)-- Java算数表达式
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 }