Java 编译错误:缺少返回语句

示例:

Java 编译错误:缺少返回语句
import java.util.*;
import java.io.*;

public class tt {
    public static void main(String[] args) {
        foo();
    }
    
    public static String foo() {
        int i=0;
        while(i<10) {
            return "ggg";
        }
    }
}
Java 编译错误:缺少返回语句

该函数编译便会报错:缺少返回语句。尽管看起来(i<10)是肯定为真的,但是编译器不会把i=0带进去算,所以它觉得foo函数有可能无返回值(即while后条件为假的时候)。

同理,把while改成if,编译报同样的错误。

把while(i<10)改为while(true)后,不再报错。

 

但是C就随意得多,跟Java比起来以下如此不确定的代码也能正常编译运行:

Java 编译错误:缺少返回语句
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int a=foo();
    printf("%d\n",a);
    return 0;
}

int foo()
{
    int i=0;
    while(i++<10)
    {
        if(i>5) return 5;
        else return 4;
    }
}
Java 编译错误:缺少返回语句

 

 

 

Java 编译错误:缺少返回语句,布布扣,bubuko.com

Java 编译错误:缺少返回语句

上一篇:[转载]不唐突的JavaScript的七条准则


下一篇:javascript之文档碎片,文档碎片在理论上可以提高DOM操作的执行效率