A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© songkaihua 中级黑马   /  2014-12-16 22:54  /  1147 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
  public static void main(String[] args)
  {
   int a = 10;
   int b = 20;
   System.out.println("a:"+a+",b:"+b);a=10,b=20
   change(a,b);  a=20,b=40
   System.out.println("a:"+a+",b:"+b);
   int[] arr = {1,2,3,4,5};  
   change(arr);
   System.out.println(arr[1]);8
  }
  public static void change(int a,int b)        
  {
   System.out.println("a:"+a+",b:"+b);   
   a = b;
   b = a + b;
   System.out.println("a:"+a+",b:"+b);a=b;b=2b
  }
  public static void change(int[] arr)
  {
   for(int x=0; x<arr.length; x++)
   {
    if(arr[x]%2==0)
    {
     arr[x]*=2;
    }
   }
  }
}
看视频不懂……

4 个回复

倒序浏览
System.out.println(arr[1]);  这句应该输出4
因为
if(arr[x]%2==0)
    {
     arr[x]*=2;
    }
这句arr[x]%2==0 是求余运算比较,只有2,4满足,2就代表arr[1],
arr[x]*=2; 这句是乘等于,你看以看做 arr[1]=arr[1]*2   就是4=2*2
上边的就是个赋值,你在看看运算符那把
回复 使用道具 举报
抬头45° 发表于 2014-12-16 23:17
System.out.println(arr[1]);  这句应该输出4
因为
if(arr[x]%2==0)

我编译运行出来时
a:10,b:20

a:10,b:20

a:20,b:40

a:10,b:20
最后一个结果不懂
回复 使用道具 举报
最后一个是4吧  arr[1]=2
arr[1]因为满足条件if(arr[1]%2==0)
所以输出 arr[x]*=2;就是arr[1]=arr[1]*2;所以答案是4;
回复 使用道具 举报
zmhlnrs 发表于 2014-12-17 12:46
最后一个是4吧  arr[1]=2
arr[1]因为满足条件if(arr[1]%2==0)
所以输出 arr[x]*=2;就是arr[1]=arr[1]*2; ...

我没纠结最后那个答案!是倒数第二个!不过现在懂了!论坛里的大神多!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马