void函数中return语句的用途是什么

Bla*_*ake 3 java android return

我是java的新手,是什么return;意思?是break吗?

  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);
        }
Run Code Online (Sandbox Code Playgroud)

如果第二个imageViewReused(photoToLoad)返回true,BitmapDisplayer bd=new BitmapDisplayer(bmp, photoToLoad)将不会被执行,对吧?

小智 5

是的,有相似之处,但也存在差异

  • break - 将停止循环并切换条件.只能用于switch和loop语句
  • return - 将完成函数执行,但不会执行此关键字的以下语句.只能用于任何功能.

在void函数中使用return 关键字

如果你return在这样的void函数中使用

void trySomething()
{
  Log.i("Try", "something");

  return;
  Log.e("Try", "something"); 
}
Run Code Online (Sandbox Code Playgroud)

完成此函数的执行但不执行下面的语句.

关键字的用法break

对于任何循环语句

void tryLoop()
{
   while(true)
   {
      Log.d("Loop", "Spamming! Yeah!");
      break;
   }
}
Run Code Online (Sandbox Code Playgroud)

循环将停止并继续此函数的其余语句

用于开关状态

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");
   }
}
Run Code Online (Sandbox Code Playgroud)

break在开关条件下使用也与循环相同.省略break将继续切换条件.