質問: readTextFile(textFile); //ファイルの内容を読み出す textView.setText(text); if (!textFile.delete()) { //外部ストレージからファイルを削除する textView.setText("Couldn't remove temporary file"); } } catch (IOException e) { textView.setText("something went wrong! " + e.getMessage()); } } } ```
回答: はい、実行されます。 Javaを含む多くの言語では、「式の値を求めること(「評価する」と言ったりします)」=「その式を実行すること」です。`delete()`のように副作用のある式を実行すれば、その動作が行われた後、結果(`true`/`false`)が`if`文の判定に使用されます。 「評価する」=「実行する」が大前提なので、普通に検索しても、特に解説は見つけられなかったのでしょう。 `if`文の条件式部分にむやみに副作用のある式を使うと、プログラムが非常に読みにくくなることがあるので気をつけなければいけませんが、例示の`delete()`のように「何かの動作をして成功・失敗を論理値で返す」と言うメソッドの場合にはよく使われます。