这些Java示例是如何工作的?(存在与气泡排序) static void eldontes(){ System.out.println(“---选择---”; int[]sorozat=新的int[]{1,-1,3,5}; 布尔存在=假; for(int i=0;i
首先,for循环中的!exists在做什么?!exist应该意味着布尔值现在为true,不是吗?那么increment i utnil sorozat.length AND exists=true是什么意思 下面是一个例子:这些Java示例是如何工作的?(存在与气泡排序) static void eldontes(){ System.out.println(“---选择---”; int[]sorozat=新的int[]{1,-1,3,5}; 布尔存在=假; for(int i=0;i,java,for-loop,boolean,conditional-statements,Java,For Loop,Boolean,Conditional Statements,首先,for循环中的!exists在做什么?!exist应该意味着布尔值现在为true,不是吗?那么increment i utnil sorozat.length AND exists=true是什么意思 下面是一个例子: static void eldontes() { System.out.println("--- Choosing ---"); int[] sorozat = new int[]{1, -1, 3, 5}; boolean exists = f
static void eldontes() {
System.out.println("--- Choosing ---");
int[] sorozat = new int[]{1, -1, 3, 5};
boolean exists = false;
for (int i = 0; i < sorozat.length && !exists; i++) {
int elem = sorozat[i];
if (elem < 0) {
exists = true;
}
}
System.out.println("There's negative: " + exists);
static void buborekRendezes(){
System.out.println(“--Bubble order--”);
int[]sorozat=新的int[]{9,4,6,2,3,0,5,7,8,1};
对于(int i=sorozat.length-1;i>0;i--){
对于(int j=0;j索罗扎特[j+1]){
int tmp=sorozat[j];
索罗扎特[j]=索罗扎特[j+1];
索罗扎特[j+1]=tmp;
}
}
}
System.out.println(Arrays.toString(sorozat));
}
从inttmp=sorozat[j]开始;
我真的不知道发生了什么。最后三行是做什么的?为什么tmp在代码的右边
static void buborekRendezes() {
System.out.println("--- Bubble order ---");
int[] sorozat = new int[]{9, 4, 6, 2, 3, 0, 5, 7, 8, 1};
for (int i = sorozat.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (sorozat[j] > sorozat[j + 1]) {
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
}
}
}
System.out.println(Arrays.toString(sorozat));
}
这是java中的一个基本工作代码。请先阅读算法,这样会更容易理解代码
for (int i = sorozat.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (sorozat[j] > sorozat[j + 1]) {
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
}
}
}
这三行对应于sorozat[j]
和sorozat[j+1]
这是java中的一个基本工作代码。请先阅读算法,这样会更容易理解代码
for (int i = sorozat.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (sorozat[j] > sorozat[j + 1]) {
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
}
}
}
这三行对应于sorozat[j]
和sorozat[j+1]
首先,for循环中存在的!在做什么
实际上,!exists
意味着布尔变量exists
是false
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
它在这里用于for
循环的条件块中,每当元素
首先,for循环中存在的!在做什么
实际上,!exists
意味着布尔变量exists
是false
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
它在这里用于for
循环的条件块中,每当元素
直到i小于sorozat.length且!exists.Term!exists等于(exists==false)时,才递增i。因此,当到达sorozat的末尾或找到要查找的元素(即小于零的元素)时,循环停止
这里的值在sorozat[j]和sorozat[j+1]之间交换。为此,将sorozat[j]值存储在tmp变量中以避免其被覆盖,然后将sorozat[j+1]放入sorozat[j],最后将从tmp获取的初始sorozat[j]值写入sorozat[j+1].如果没有tmp变量,您将丢失sorozat[j]值
直到i小于sorozat.length且!exists.Term!exists等于(exists==false)时,才递增i。因此,当到达sorozat的末尾或找到要查找的元素(即小于零的元素)时,循环停止
这里的值在sorozat[j]和sorozat[j+1]之间交换。为此,将sorozat[j]值存储在tmp变量中以避免其被覆盖,然后将sorozat[j+1]放入sorozat[j],最后将从tmp获取的初始sorozat[j]值写入sorozat[j+1].如果没有tmp变量,您将丢失sorozat[j]值
这是交换两个变量值的基本算法。
基本上,是在过程中使用时间变量(tmp)交换值sorozat[j]
和sorozat[j+1]
。
因此,如果sorozat[j]=4
和sorozat[j+1]=2
在这3行之后,结果将是sorozat[j]=2
和sorozat[j+1]=4
这是交换两个变量值的基本算法。
基本上,是在过程中使用时间变量(tmp)交换值sorozat[j]
和sorozat[j+1]
。
因此,如果sorozat[j]=4
和sorozat[j+1]=2
在这3行之后,结果将是sorozat[j]=2
和sorozat[j+1]=4
谢谢你的快速回答!!:)谢谢你的快速回答!!:)
for (int i = 0; i < sorozat.length && !exists; i++) {
int elem = sorozat[i];
if (elem < 0) {
exists = true;
}
}
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;