【Java学习笔记】break continue return
2017-03-08 16:23
393 查看
1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出.
2)continue 也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.
3)return 语句可被用来使 正在执行分支程序返回到调用它方法。(费解)
详说return
return表示中止当前函数的运行,并将操作权返回给调用者。
如果是在main函数中,表示将操作权返回给操作系统。
return不是必须要返回一个值。
void func(void)
{
......
......
return;
}
当然,就算不写return,在函数执行完毕后也会返回操作权给调用者。写return是一种清晰的风格,可以防止一些意外的错误。所以书上只说应该写,而不是必须写。
如果符合某个条件要退出的话,可以用return返回,否则可以不写这句代码的,当程序执行到“}”时会自动返回,这个问题其实你自己到机器上试一下就知道了。不过作为一个良好的编程习惯,每个函数都有返回语句倒是对的,这样更有可读性,并利于程序的维护~~~~
return 指令一个是返回一个指定数据给主调函数,
另外的一个作用就是 结束 所在函数的执行 ...
子函数中的运算是不能改变main()中已经定义的变量
int add(int a, int b)
{
int c;
c=a+b;
}
main()
{
int a=1,b=2, c=0;
add(a,b);
printf("/nc=%d/n", c);
}
你看看 最后结果还是c=0;因为计算机执行一个程序的时候 他只看到main();他十分忠诚的
从main()的第一句 一直执行到最后一句 ;
中间的那个 add()调用;这时main()函数被挂起 ;也就是停止运行
系统会把main()放在一块内存x中 ;这时 系统会把一片内存y划分给add()函数;也就是说
main()中的abc;和add()中的abc;并不是同一个东西;他们只是在数值上相等罢了;系统首先把a;b;的值传给add;然后运行;c=3;然后系统没有发现add中有return;也就是
子函数做完了运算;并没把内存y中的结果送给main();这时候 add运行结束;系统唤醒内存x中的main();开始运行下一句 这时候 ;add函数做的一切 都是白干了;他并没有把他的结果上交给main()函数;所以c仍然是0;
add(int a, int
b)
{
int c;
c=a+b;
return c;
}
main()
{
int a=1, b=2, c=0;
c=add(a,b);
printf("/nc=%d/n",c);
/*还可以这样写*/
printf("/nc=%d/n",add(a,b));
}
想要通过子函数来改变main()中的东西;
有两个方法:1 return ; 2 通过指针;
这里 指针我就不说了 到了c#就没有指针了 我是学c的 才大一 ;
我们用的最多的是指针;一般不用return ;
http://blog.csdn.net/holandstone/article/details/7613261
2)continue 也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.
3)return 语句可被用来使 正在执行分支程序返回到调用它方法。(费解)
详说return
return表示中止当前函数的运行,并将操作权返回给调用者。
如果是在main函数中,表示将操作权返回给操作系统。
return不是必须要返回一个值。
void func(void)
{
......
......
return;
}
当然,就算不写return,在函数执行完毕后也会返回操作权给调用者。写return是一种清晰的风格,可以防止一些意外的错误。所以书上只说应该写,而不是必须写。
如果符合某个条件要退出的话,可以用return返回,否则可以不写这句代码的,当程序执行到“}”时会自动返回,这个问题其实你自己到机器上试一下就知道了。不过作为一个良好的编程习惯,每个函数都有返回语句倒是对的,这样更有可读性,并利于程序的维护~~~~
return 指令一个是返回一个指定数据给主调函数,
另外的一个作用就是 结束 所在函数的执行 ...
子函数中的运算是不能改变main()中已经定义的变量
int add(int a, int b)
{
int c;
c=a+b;
}
main()
{
int a=1,b=2, c=0;
add(a,b);
printf("/nc=%d/n", c);
}
你看看 最后结果还是c=0;因为计算机执行一个程序的时候 他只看到main();他十分忠诚的
从main()的第一句 一直执行到最后一句 ;
中间的那个 add()调用;这时main()函数被挂起 ;也就是停止运行
系统会把main()放在一块内存x中 ;这时 系统会把一片内存y划分给add()函数;也就是说
main()中的abc;和add()中的abc;并不是同一个东西;他们只是在数值上相等罢了;系统首先把a;b;的值传给add;然后运行;c=3;然后系统没有发现add中有return;也就是
子函数做完了运算;并没把内存y中的结果送给main();这时候 add运行结束;系统唤醒内存x中的main();开始运行下一句 这时候 ;add函数做的一切 都是白干了;他并没有把他的结果上交给main()函数;所以c仍然是0;
add(int a, int
b)
{
int c;
c=a+b;
return c;
}
main()
{
int a=1, b=2, c=0;
c=add(a,b);
printf("/nc=%d/n",c);
/*还可以这样写*/
printf("/nc=%d/n",add(a,b));
}
想要通过子函数来改变main()中的东西;
有两个方法:1 return ; 2 通过指针;
这里 指针我就不说了 到了c#就没有指针了 我是学c的 才大一 ;
我们用的最多的是指针;一般不用return ;
http://blog.csdn.net/holandstone/article/details/7613261
相关文章推荐
- java个人学习笔记03(if、switch、break、continue)
- Java基础学习之--Break/Continue/Return
- [java学习笔记]java语言基础概述之转义字符&break&continue
- Java学习笔记四-Java的循环结构和分支结构以及break,continue关键字
- Java学习笔记28. 跳转语句break和continue
- java学习之路 之 基本语法-特殊的流程控制语句(break、continue、return)
- 【Java学习笔记】04.流程控制语句与break,continue的使用
- Java学习笔记_14_switch、continue、break执行语句要点
- java学习笔记(一)break、continue、ruturn的区别
- Thinging in Java学习笔记之continue,break和标签
- java中的break、continue、return的区别
- Java中break return continue 区别
- java中break,continue和return的区别
- 【JAVA学习】java中break与continue
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
- Linux c编程一站式学习笔记(05), 两个程序对比Continue和Break
- 黑马程序员_java中break、continue、return的区别
- java循环控制中break、continue、return的比较
- 【km笔记】CSharp--return、break、continue的区别与作用
- [bxd学习java基本点]8.linkedList的一个封装,可为堆栈及队列。++++一句话来看continue与break++++ArrayList除重复的标准写法+++++++++