在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。
但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
return 语句作用:
1.终止方法的运行
2.并指定要返回的数据
public class Escape {
public static void main(String[] args) {
System.out.println(ReturnTest());
NextTest();
}
public static int ReturnTest(){
int sum=0;
for(int num=1;num<=10;num++){
sum=sum+num;
if(sum>20){
System.out.println("跳出循环所在的方法");
return sum=100;//作用:直接结束该函数,返回100;
}
System.out.println(sum);
}
System.out.println("结束:"+sum);
return 10; //当然这个也是不可少的
}
public static void NextTest(){
System.out.println("已结束上面方法");
}
}
运行结果:
1
3
6
10
15
跳出循环所在的方法
100
已结束上面方法
主要是记录一下遇到的下面的这个问题:
函数下不写这个为什么会报错,因为返回值是TreeNode ,所以,必须要在循环外写一个return,即使是return null,也得写。
//return null;
class Solution {
public TreeNode deleteNode(TreeNode root, int key) {
//1,寻找该节点,根据二叉搜索树,左小中间,右大于中间的特点
TreeNode parentNode = root;
TreeNode curNode = root;
boolean isLeft = true;
while(key!=curNode.val){//只要没找到,就一直循环迭代
if(key<curNode.val){
if(curNode!=null){
parentNode=curNode;
curNode = curNode.left;
}
}else{
isLeft = false;
parentNode = curNode;
curNode = curNode.right;
}
//当前节点为空时
if(curNode==null){
return root; //当时在想,我只写这个,为啥会报错呢???
}
}
//return null; //因为函数的返回值,必须要在循环外面写一个返回值
}
}
参考链接:
https://blog.youkuaiyun.com/qq_37131111/article/details/54581686