Java return语句在void函数中有什么用途
我是java新手,Java return语句在void函数中有什么用途,java,android,return,Java,Android,Return,我是java新手,返回什么平均值?它是不是像破折号一样 public void run() { if(imageViewReused(photoToLoad)) return; Bitmap bmp=getBitmap(photoToLoad.url); memoryCache.put(photoToLoad.url, bmp); if(imageViewReuse
返回什么代码>平均值?它是不是像破折号一样
public void run() {
if(imageViewReused(photoToLoad))
return;
Bitmap bmp=getBitmap(photoToLoad.url);
memoryCache.put(photoToLoad.url, bmp);
if(imageViewReused(photoToLoad))
return;
BitmapDisplayer bd=new BitmapDisplayer(bmp, photoToLoad);
Activity a=(Activity)photoToLoad.imageView.getContext();
a.runOnUiThread(bd);
}
如果第二个imageViewReused(photoToLoad)
返回true,则不会执行BitmapDisplayer bd=new BitmapDisplayer(bmp,photoToLoad)
,对吗 是的,您可以像中断一样使用它。是的,返回
是中断您对同一块的下一次执行
有关return
的详细信息,当函数执行到return语句,然后返回到调用代码时,函数的执行已完成。就你而言
如果ImageViewReuseded(photoToLoad)
为true,则将不会执行return
之后的代码块。return语句跳过函数作用域的剩余执行
值得一读:
返回
:
中断
:
是的,有相似之处,但也有不同之处
中断
-将停止循环并切换条件。只能用于switch和loop语句
return
-将完成函数执行,但不会执行此关键字下面的语句。只能用于任何功能
在无效函数中使用返回
关键字
如果在这样的void函数中使用return
void trySomething()
{
Log.i("Try", "something");
return;
Log.e("Try", "something");
}
此函数的执行已完成,但不会执行下面的语句
使用中断
关键字
对于任何循环语句
void tryLoop()
{
while(true)
{
Log.d("Loop", "Spamming! Yeah!");
break;
}
}
循环将停止并继续此函数的其余语句
用于开关条件
void trySwitch()
{
int choice = 1;
switch(choice)
{
case 0:
Log.d("Choice", "is 0");
break;
case 1:
Log.d("Choice", "is 1");
case 2:
Log.d("Choice", "is 2");
}
}
在切换条件下使用中断
,也与循环相同。省略中断
将继续切换状态。此处返回作为功能结束。
您可以通过将代码更改为
public void run() {
if(!imageViewReused(photoToLoad))
{
Bitmap bmp=getBitmap(photoToLoad.url);
memoryCache.put(photoToLoad.url, bmp);
if(!imageViewReused(photoToLoad))
{
BitmapDisplayer bd=new BitmapDisplayer(bmp, photoToLoad);
Activity a=(Activity)photoToLoad.imageView.getContext();
a.runOnUiThread(bd);
}
}
return
结束调用它时出现的方法的执行。对于void方法,它只是退出方法体。对于非void方法,它实际上返回一个值(即返回X
)。只需小心使用try finally
:请记住,即使在try
块中返回,也会执行:
public static void foo() {
try {
return;
} finally {
System.out.println("foo");
}
}
// run foo in main
福
是了解有关return
的详细信息的好参考
它是不是像破折号一样
从这个意义上讲,这两个语句都“结束”了一个正在运行的过程return
结束一个方法,break
结束一个循环。尽管如此,了解两者之间的差异以及何时应使用它们是很重要的
如果第二个imageViewReused(photoToLoad)
返回true
,BitmapDisplayer bd=new BitmapDisplayer(bmp,photoToLoad)
将不会执行,对吗
正确-如果执行该语句的主体,并且不会到达后续语句,则该方法将“返回”。请阅读基本(且免费提供)java教程…仅是我的编辑评论,但应避免从无效方法中断和返回:它们通常是糟糕的代码设计。通常它们是可以避免的,在上面的示例中,您可以做一些类似于if(!imaveViewReused(photoload)){…}。“是的,return
与java中的break
相同”-这根本不是真的。它们在某种意义上是相似的,但它们绝对不一样。你可以解释一下。。。简而言之!voidwithreturn语句只是终止执行并返回给调用者的一种特殊情况,你们最好想象一下,他离开的时候可能会认为这只是一种特殊情况
foo