• 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=079         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 }
  • 相关阅读:
    bzoj 2599
    bzoj 3697
    poj 1741
    bzoj 2741
    bzoj 5495
    bzoj 3261
    网络流24题——骑士共存问题 luogu 3355
    网络流24题——数字梯形问题 luogu 4013
    bzoj 3998
    网络流24题——魔术球问题 luogu 2765
  • 原文地址:https://www.cnblogs.com/platycoden/p/5196309.html
Copyright © 2020-2023  润新知