Java中的循环(while loop)的问题

Java中的循环(while loop)的问题,第1张

while(表达式){。。。语句。。。} 这个是 先判断表达式 如果是真 计算下面的语句 是假就跳过{} 执行{}之后的 do{}while(表达式);这个是先运行do中的语句 在判断while的表达式 如果为真 在执行do 为假 跳过while 执行后面的语句所以两个计较就知道 do-while 中的do 至少要执行一次 这是两者的最大区别

就是while循环,

有while(){} 和 do{}while() 两种

只要条件为真,就重复执行大括号中的内容,当条件为假,跳出loop, while就是 ' 当 '

前者是先判断条件表达式是否为真,然后执行循环体

后者是 先执行循环体 然后判断条件是否为真,为真则继续执行

两者的区别在于,前者是条件满足才做循环,后者是不论是否满足条件,先执行一次循环体

int number = (int)(Mathrandom() 101);

因此number的范围是 0-100

guess=-1,是为了保证程序一定可以进入循环中,因为number不可能等于-1

所以,你只要设置成为0-100这101个数以外的其他整数都可以

-1是一个比较常用的习惯而已

测试类:

package test;

public class Lab09f

{

public static void main( String args[] )

{

LetterRemover lr = new LetterRemover();

lrsetRemover("qqqqqqwererrrrrrrrrrrrr", 'r');

Systemoutprintln(lr);

Systemoutprintln(lrremoveLetters());

}

}

方法类:

package test;

public class LetterRemover

{

private String sentence;

private char lookFor;

public LetterRemover()

{

}

public void setRemover(String s, char rem)

{

sentence = s;

lookFor = rem;

}

public String removeLetters()

{

String cleaned=sentence;

int loc = sentenceindexOf(lookFor);

while(loc>-1)

{

cleaned=cleanedsubstring(0,loc)+cleanedsubstring(loc+1);

loc = cleanedindexOf(lookFor);

}

return cleaned;

}

public String toString()

{

return sentence + " - letter to remove " + lookFor;

}

}

java中return语句不能同时返回两个值。

java中return作为程序结束语句,return后直接会结束函数,同时返回一个返回值,这个返回值的类型是在函数方法上声明好了的,例如public int add(int a,int b){。。。;

return a+b;},所以return有且仅有一个返回值。

但如果想要返回两个以上的值:可以使用string类型进行拼接,取到这个拼接的字符串之后,进行拆分就可以了。

刚开始进行while循环的地方while(pt=true){ 这里,如楼上所说,应该是pt==true ,而且楼主的代码获取输入的double的时候为什么不用scannextDouble()而是要用scannextInt()呢

你说的不能乱用是指哪方面?

如果想提高程序的可读性的话,不推荐使用break loop;,因为一个跳来跳去的程序不适宜他人阅读…………

如果不考虑对可读性的影响,巧妙的使用break loop;很可能会提高程序性能,比如你判断一个二维数组里是否包含某个数,第二种方法显然比第一种方法性能高:

int[][] is= {{1,2,3},{4,5,6},{7,8,9}};

int cmp=5;

第一种:

int pos=-1;

for (int i=0; i<3; i++) {

for (int j=0; j<3; j++) {

if (pos<0 && is[i][j]==cmp) {

pos=i3+j;

break;

}

}

}

Systemoutprintln(pos);

第二种:

int pos=-1;

loop:

for (int i=0; i<3; i++) {

for (int j=0; j<3; j++) {

if (is[i][j]==cmp) {

pos=i3+j;

break loop;

}

}

}

Systemoutprintln(pos);

(对于这题,第一种必须外循环结束才可以出来,第二种只要得到这个数后就可以直接跳出外循环了,循环次数减少)

当然你也可以只用一个循环,0~8,通过if (is[i/3][i%3]==cmp)来变成一个循环,这样的话就没有区别了……上面只是当一个例子来说明。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

break label; //作用是跳出指定循环

continue label; //类似

比如

label1: for (int i=0; i<12; i++)

for (int j=0; j<12; j++)

if (j>4) break label1; //这样就跳出外循环了,外循环只执行i=0的那一次…………

普通的什么都不加的break;相当于这样

for (int i=0; i<12; i++)

label1: for (int j=0; j<12; j++)

if (j>4) break label1;

以上就是关于Java中的循环(while loop)的问题全部的内容,包括:Java中的循环(while loop)的问题、java中的“whileloop”是什么意思、java while loop问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10076890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存