本文目錄一覽:
- 1、c語言中int a=1 a+=(a++)+(++a) 再printf (%d/n,a); 結果為7, 然後在java中輸出結果為5,為什麼不同?
- 2、1 2 3 4 5輸出結果是5的java
- 3、這是一道java題目,為什麼輸出是5 6 7 8 9.循環的執行過程是怎麼樣的?
- 4、Java 請問為什麼以下程序段的輸出結果為 5 6 7 8 9?
c語言中int a=1 a+=(a++)+(++a) 再printf (%d/n,a); 結果為7, 然後在java中輸出結果為5,為什麼不同?
在c中,先執行後面的(++a),這樣a=2呢,在執行(a++),這時先賦值a為2,再加一,就為三,式子變成了a+=3+2 a+=a+5 此時a還為2,就是2+5=7
在java中 展開為a=a+(a++)+(++a),java中++和其他運算符混用時結合性不同的a+(a++)是左結合,(++a)是右結合,這答案為啥是5你就應該懂了吧
在c中沒區別,在jav中就有區別,這就是為啥結果不同的原因
1 2 3 4 5輸出結果是5的java
你好,提問者:
由於問題描述不準確,我提供兩種解決案例,供您參考:
//字符串形式
String str = “1 2 3 4 5”;
System.out.println(str.substring(str.length() – 1, str.length()));
//數組形式
int[] arr = {1,2,3,4,5};
System.out.println(arr[arr.length – 1]);
這是一道java題目,為什麼輸出是5 6 7 8 9.循環的執行過程是怎麼樣的?
int a[] = {5,9,6,8,7};
int i,j;
for(i = 0;ia.length-1;i++){//1層循環取元素
int k = i;
for(j=i;ja.length;j++){//二層循環,取剩餘部分(除去前一個元素)
if(a[j]a[k]){//如果前一個元素後面的元素
k=j;//交換下標
}
}
//冒泡排序 主題思想就是臨時變量temp永遠代表最小的值,然後將這個最小值賦給下標較小的
int temp = a[i];
a[i] = a[k];
a[k]= temp;
}
for(i=0;ia.length;i++){
System.out.println(a[i] + ” “);
}
System.out.println();
}
Java 請問為什麼以下程序段的輸出結果為 5 6 7 8 9?
就是簡單的排序程序啊,就是想近的兩個數做比較(j和k),大的放到一個變量裡面,然後這個大的又和下一個數比較。等這一輪比較完了,然後又把剩下的數按相同的方式一一比較。以此類推。
有點像冒泡排序法。你可以查一下”冒泡排序法”,網上有詳細解釋
如果你是運行問題,我反正發現你程序里好像少了一個大括號{
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309205.html