我是java初学者:
return关键字的用法:1.已经做完,离开此方法;2.如果此方法产生一个值,这个值放在return后面
如果不想返回值,就指示方法返回void(空),此时return的作用只是退出此方法,但是书上(Thinking in java)说,没有必要到方法借宿是才离开,可在任何地方返回。这个“任何地方”很不理解,是在方法体的“任何地方”吗?还是在调用它时的“哪个地方”?
我想的是在方法体的任何地方:void A(){System.out.println();return;System.out.println();}如果把这个方法放在一个类中在编译时不成功,会出现后面return后面的那句话无法访问的访问的错误,那么说明我所理解的“任何地方”是错误的?那这个“任何地方”到底是个什么地方?
//本例主要是要求理解方法中的return
class He3{//解决这个类,将以三种不同方法顺序有条件执行过程
int A(){return 2;}
float B(){return 3.14f;}
void C(){return;}
boolean D(){return true;}
public static void main(String[] args){
//He3 h=
//void h=
//He3 h1=null;
new He3().C();
System.out.println(new He3().A());
System.out.println(new He3().B());
//System.out.println(new He3.C());//这里为什么没有了
System.out.println(new He3().D());
}
}
//System.out.println(new He3.C());//这里为什么没有了
就是这句话在编译时不成功,会出现此处不允许使用“void”类型。原因是什么?
return关键字的用法:1.已经做完,离开此方法;2.如果此方法产生一个值,这个值放在return后面
如果不想返回值,就指示方法返回void(空),此时return的作用只是退出此方法,但是书上(Thinking in java)说,没有必要到方法借宿是才离开,可在任何地方返回。这个“任何地方”很不理解,是在方法体的“任何地方”吗?还是在调用它时的“哪个地方”?
我想的是在方法体的任何地方:void A(){System.out.println();return;System.out.println();}如果把这个方法放在一个类中在编译时不成功,会出现后面return后面的那句话无法访问的访问的错误,那么说明我所理解的“任何地方”是错误的?那这个“任何地方”到底是个什么地方?
//本例主要是要求理解方法中的return
class He3{//解决这个类,将以三种不同方法顺序有条件执行过程
int A(){return 2;}
float B(){return 3.14f;}
void C(){return;}
boolean D(){return true;}
public static void main(String[] args){
//He3 h=
//void h=
//He3 h1=null;
new He3().C();
System.out.println(new He3().A());
System.out.println(new He3().B());
//System.out.println(new He3.C());//这里为什么没有了
System.out.println(new He3().D());
}
}
//System.out.println(new He3.C());//这里为什么没有了
就是这句话在编译时不成功,会出现此处不允许使用“void”类型。原因是什么?
比如一下就可以了。
void A(){
System.out.println();
if(){
return;
}
System.out.println();
}
//System.out.println(new He3.C());//这里为什么没有了
改为
//System.out.println(new He3().C());//这里为什么没有了
方法定义的什么返回值, 在return的时候,就必须返回相同类型的返回值。
//System.out.println(new He3.C());//这里为什么没有了 这个方法的返回值是void,
相当于System.out.println(void); 这个编译肯定就报错了。
http://topic.csdn.net/u/20120413/15/1d1667c1-f571-45f3-abeb-9e5f9f184eaa.html以前发的帖子……
返回值是void类型,为什么不能打印了?具体原因是什么?
在
C语言还叫C语言呢 JAVA叫JAVA语言 你能告诉我为什么吗?