java循环结尾分号,Java:while循环-进入花括号之间的语句之前用分号声明?

I was looking at another page here on stackoverflow and came across a working implementation of cycle sort, but I don't understand how a statement with a semicolon can exist before the curly braces in a while loop. I thought that the while loop is supposed to completely terminate and take no further actions once it finds a statement with a semicolon, so how is it that the code within the curly braces is getting executed? At first glance, I would interpret this as "var" gets incremented with each iteration of the while loop - but I know this is not the case because removing it from that spot and putting the "var++" inside of the curly braces causes an infinite loop.

Under exactly which condition is "var" incremented? Either an explanation, or a link that explains similar syntax:

while (checkSomeBool) var++;

{

//other stuff happening in here

}

would be appreciated. Thank you. Below is the code taken from CycleSort

public static final > int cycleSort(final T[] array) {

int writes = 0;

// Loop through the array to find cycles to rotate.

for (int cycleStart = 0; cycleStart < array.length - 1; cycleStart++) {

T item = array[cycleStart];

// Find where to put the item.

int pos = cycleStart;

for (int i = cycleStart + 1; i < array.length; i++)

if (array[i].compareTo(item) < 0) pos++;

// If the item is already there, this is not a cycle.

if (pos == cycleStart) continue;

// Otherwise, put the item there or right after any duplicates.

{

final T temp = array[pos];

array[pos] = item;

item = temp;

}

writes++;

// Rotate the rest of the cycle.

while (pos != cycleStart) {

// Find where to put the item.

pos = cycleStart;

for (int i = cycleStart + 1; i < array.length; i++)

if (array[i].compareTo(item) < 0) pos++;

// Put the item there or right after any duplicates.

while (item.equals(array[pos])) pos++;

{

final T temp = array[pos];

array[pos] = item;

item = temp;

}

writes++;

}

}

return writes;

}

解决方案

The while loop ends with var++

while (checkSomeBool) var++; // while ends here

The code after that is not part of the while loop at all.

{

//other stuff happening in here - not part of the while loop

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值