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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WElife 中级黑马   /  2015-7-12 07:56  /  372 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <p>class Array4 {</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>public static void main(String[] args) {</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>int [] arr = {22,3,12,4,54,3,2,89};</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("排序前的数组  " );</p><p><span class="Apple-tab-span" style="white-space:pre">                </span><font color="#ff0000">for (int a :arr ) </font>{</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.print(a+"  ");<span class="Apple-tab-span" style="white-space:pre">                </span></p><p><span class="Apple-tab-span" style="white-space:pre">                </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println();         //{2,1,3}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span><font color="#0000ff">for (int x = 0;x < arr.length ;x++ ) {</font></p><p><font color="#0000ff"><span class="Apple-tab-span" style="white-space:pre">                        </span>for (int y = x;y < arr.length ;y++ ) {</font></p><p><span class="Apple-tab-span" style="white-space:pre">                                </span>if (arr[y] < arr[x]) {</p><p><span class="Apple-tab-span" style="white-space:pre">                                </span><font color="#9932cc">int<span class="Apple-tab-span" style="white-space:pre">        </span>temp = arr[x];</font></p><p><font color="#9932cc"><span class="Apple-tab-span" style="white-space:pre">                                        </span>arr[x] = arr[y];</font></p><p><font color="#9932cc"><span class="Apple-tab-span" style="white-space:pre">                                        </span>arr[y] = temp;</font></p><p> <span class="Apple-tab-span" style="white-space:pre">                                </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("排序后的数组  " );</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>for (int b :arr ) {</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.print(b+"  ");<span class="Apple-tab-span" style="white-space:pre">        </span></p><p><span class="Apple-tab-span" style="white-space:pre">                </span>}<span class="Apple-tab-span" style="white-space:pre">        </span></p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println();</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>}</p><p>}</p>
复制代码



问题一
上面红色的地方(for (int a :arr ))可不可以写成for (int x = 0 ; x <= arr.length;x++  )  两种表达方式一样吗?
问题二
如果 两种方式可以等价 那蓝色的地方 可不可以用(for (int a :arr ))表示 我试了下 好像不行
问题三
紫色的这块不是很理解 int        temp = arr[x];
                                        arr[x] = arr[y];
                                        arr[y] = temp;
谢谢



3 个回复

倒序浏览
  1. class Array4 {
  2.         public static void main(String[] args) {
  3.                 int [] arr = {22,3,12,4,54,3,2,89};
  4.                 System.out.println("排序前的数组  " );
  5.                 for (int a :arr ) {
  6.                         System.out.print(a+"  ");               
  7.                 }
  8.                  //temp;
  9.                 System.out.println();         //{2,1,3}
  10.                 [color=Blue]for (int x = 0;x < arr.length ;x++ ) {
  11.                         for (int y = x;y < arr.length ;y++ ) {[/color]
  12.                                 if (arr[y] < arr[x]) {
  13.                                 int        temp = arr[x];
  14.                                         arr[x] = arr[y];
  15.                                         arr[y] = temp;
  16.                                 }
  17.                         }
  18.                 }
  19.                 System.out.println("排序后的数组  " );
  20.                 for (int b :arr ) {
  21.                         System.out.print(b+"  ");       
  22.                 }       
  23.                 System.out.println();
  24.         }
  25. }
复制代码


代码如上:::
回复 使用道具 举报
每次 发完 帖子  都是 乱码 ???
回复 使用道具 举报
问题三就是交换位置
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马