代码一:
static void draw(int x,int y)
{
if(x==9)
{
return;
}
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
System.out.print("*");
}
System.out.println();
}
}
代码二: static int drawmj(int x,int y)
{
if(x<0)
{
return;
}
else
{
int sum=x*y;
return sum;
} }
为什么代码一,在编译的时候不会出错而代码二却提示 return有问题呢,是不是有返回值的函数,不可以用return;中途中断.
static void draw(int x,int y)
{
if(x==9)
{
return;
}
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
System.out.print("*");
}
System.out.println();
}
}
代码二: static int drawmj(int x,int y)
{
if(x<0)
{
return;
}
else
{
int sum=x*y;
return sum;
} }
为什么代码一,在编译的时候不会出错而代码二却提示 return有问题呢,是不是有返回值的函数,不可以用return;中途中断.
{
return;
}
这里有问题,如果x<0时,你这个程序就没有返回任何东西,而你的方法的返回值必须是int型的.
------------------------------------------------
代码1中函数类型声明为void的,所以return后面不需要带参数,相当于结束函数,后面的处理被忽略