プログラムの動きが読めんので解説を このIFはいつ動く?とか