Java的switch问题

请问这个y不是应该输出1吗? 不是特别理解16是怎么算出来的,不是应该输出1的吗?

img

你传的是个x+3=9满足第一个条件,但是由于没有配合break语句使用,于是会一直执行下去先是y=1,然后y又被赋值8,由于还是没有break跳出,又乘于二得十六

case后面需要加break,不然会一直往下执行。