黑马程序员技术交流社区
标题:
关于break和return的问题。。。
[打印本页]
作者:
黑马任雪刚
时间:
2012-5-24 16:40
标题:
关于break和return的问题。。。
在java中return和break有什么不同,求详解,最好有示例,谢谢!!!
作者:
niceBoy
时间:
2012-5-24 17:05
return 可以返回与方法同类型的值,并结束整个方法
break 存在于循环判断语句中,用于结束最近的循环
作者:
杨卫腾
时间:
2012-5-24 17:29
return 用于返回函数(方法)运行之后的值,return 之后的语句将不会被执行 ,以这条语句结束这个函数。
而那个break主要是用于循环判断语句中,当条件成立时就跳出了整个循环体。continue是跳出本次循环,执行下一次的循环。
作者:
小小企鹅
时间:
2012-5-24 17:32
return 结束当前函数,返回return的值
break 跳出当前循环
作者:
包晗
时间:
2012-5-24 17:39
break;是跳出循环;
return; 直接返回方法,结束整个函数。
break
一般用于跳出本循环,即跳出break所在的循环,哪个循环调用了break,就跳出哪个循环;
比如:
while()
{
for(;;)
{
…………
break;
……
}
}
在这段模板中,for 调用了break;当执行到break时跳出for,但是不跳出while,而是继续执行while循环
return
一般的用法 时为了实现返回,返回一个值或其他复杂类型,都是可以的,
return 一般都用在被调用的对象(对象一)里面,调用以后返回到调用对象(对象二)即,当对象二调用对象一时,如果对象一内部调用了return语句,则程序执行返回到,对象二调用对象一得下一条语句继续执行,
比如:(这里的对象在C语言里面就是函数)
对象一()
{
return;
}
对象二()
{
语句一;
对象一();
语句二;
}
当程序执行到对象二时,会调用对象一,转到对象一种去执行,当执行到return时,会返回到对象二中,执行语句二
对于你的提问现给出如下解释:
第一个程序段
时对于return的调用,调用之后,程序会跳出main函数,也就是说return有结束函数调用的功能。
第二个程序段:
do
while();
是一个循环体,break在循环内部调用,跳出循环,但不跳出if
作者:
wangyf_0903
时间:
2012-5-24 21:16
break主要是应用与循环语句中,而return主要是函数中
作者:
丁桂松
时间:
2012-5-28 16:52
本帖最后由 丁桂松 于 2012-5-28 16:53 编辑
package java基础知识;
public class Break与Continue的比较 {
/**
* @param break语句无条件结束整个循环结构,continue语句是否结束循环要根据条件进行判断,且continue语句结束的是本次循环体后面的语句,不是结束整个循环结构
*/
public static void main(String[] args) {
//break和continue语句的比较
int sum = 0;
for (int i=0;i<5;i++){
if (i == 3){
//break;
continue;
}
sum += i;
}
System.out.println("sum= "+sum);
}
//输出结果是 sum =7 如果把continue换成break,输出结果是 sum =3
}
复制代码
作者:
丁桂松
时间:
2012-5-28 16:53
package java基础知识;
import java.util.Scanner;
public class BreakTest {
/**
* @param 循环录入学生的5门成绩,如果学生的成绩录入为负数,停止录入,并提示"输入错误!"
*/
public static void main(String[] args) {
//
Scanner input = new Scanner(System.in);
System.out.println("请输入学生的姓名 : ");
String name = input.next();
System.out.println("姓名 :"+name);
double chengji = 0 ; //定义变量初始化学生的成绩
for (int i = 1; i <=5 ; i++){
System.out.println("请你输入学生第"+i+"门的成绩 : ");
chengji = input.nextDouble(); //键盘输入 接受学生的成绩
if(chengji < 0){
break; //退出for循环
}
}
System.out.println("你输入的成绩错误!!");
}
}
复制代码
作者:
丁桂松
时间:
2012-5-28 16:54
package java基础知识;
import java.util.Scanner;
public class Continue语句 {
/**
* @param 统计随机录入10个数中偶数的综合.这样的问题可以通过continue语句来解决
* 问题分析:
* 1,通过循环,获得随机录入的10个数
* 2,判断:如果当前数不是偶数直接执行continue,不执行累加命令直接进入下一次循环
*
* 什么是continue语句:
* continue语句的作用是跳过循环体中剩余的语句而执行下一次循环.
* 语法:
* 代码块(...){
* ..
* continue;
* ..
* }
* continue一般与条件语句一起使用,加速循环:
* for (int i=0 ; i<10 ; i++){
* 跑400米;
* if (!口渴){
* continue;
* 不喝水,继续跑
* }
* 接过水壶,喝水;
* }
*/
public static void main(String[] args) {
// 循环录入Java考试的学生成绩,统计分数大于等于80分的学生占全部学生的比例
Scanner input = new Scanner(System.in);
System.out.println("请你输入班级的人数: ");
double score = 0;
int count = 0;//定义一个变量来统计大于等于80分的学生的人数
int renshu = input.nextInt();
for(int i = 1; i <= renshu ; i++){
System.out.println("请你输入第"+i+"的学员的分数: ");
score = input.nextDouble();
//判断分数是否大于等于80
if(score <80){
continue;
}
count ++;//统计大于等于80分的分数出现的次数
}
System.out.println("全班大于等于80分的学生的比例是:"+( count/renshu)*100 +"%");
}
//break语句无条件结束整个循环结构,continue语句是否结束循环要根据条件进行判断,且continue语句结束的是本次循环体后面的语句,不是结束整个循环结构
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2