有一道题不太明白:
int salary=35000;
salary *= 1+5/100;
结果等于多少,怎么算的。谢谢各位。

解决方案 »

  1.   

    salary=salary*(1+5/100)=salary*1.05=...
      

  2.   

    salary*=1+5/100,可以简化为salary*=1。结果出来了
      

  3.   

    先算5/100结果为0,再加1,然后salary=salary*1;结果35000;
    如果还不明白的话你试一下这句salary*=1+100/100; //70000
    看结果就知道怎么算的了.
      

  4.   

    salary *= 1+5/100; salary *= 1.05;salary = salary * 1.05 salary = 35000*1.05salary = 36750
      

  5.   


    public class Test43 {
       public static void main(String[] args) {
       int salary=35000; 
       salary *= 1+5/100; // salary=salary*(1+5/100)
           System.out.println(salary); //35000
       }
    }
      

  6.   

    等于 35000
    salary = salary * (1 + 5 / 100) = salary * ( 1 + 0 ) = 35000
      

  7.   

    java中对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如下代码的结果是3000,而非3110。
    int x=3110;
    x=x/1000*1000;
    System.out.println(x);
    在程序运行到“x/1000”的时候,其结果是3而不是3.11。
      

  8.   

    结果等于35000
    5/100 在Java中按int类型处理  5/100=0
      

  9.   

    salary *= 1+5/100; => salary = salary * (1+5/100);
    同理
    salary += 1; => salary = salary + 1
    salary -= 1; => salary = salary - 1
    salary /= 1; => salary = salary / 1
    salary %= 2; => salary = salary % 2
      

  10.   

    salary*=1+5/100,等价于salary=salary*(1+5/100),即salary=salary*(1+0),也就是35000了
      

  11.   

    呵呵,/号要分类型的,如果你要得到float,可以这么写5/100.0就可以得到小数了
      

  12.   

    5/100会自动转成int型的,然后就得0,0+1=1,salary=salary*1,salary=35000*1,所以结果为35000.
      

  13.   

    5/100取商,结果是商为0,所以1+5/100 == 1;那么salary *= 1+5/100;就等于salary = salary*(1+5/100)
    结果是salary = salary*1 == 350005/100取商
    5%100取余数