本文目录一览:
- 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),大的放到一个变量里面,然后这个大的又和下一个数比较。等这一轮比较完了,然后又把剩下的数按相同的方式一一比较。以此类推。
有点像冒泡排序法。你可以查一下"冒泡排序法",网上有详细解释
如果你是运行问题,我反正发现你程序里好像少了一个大括号{