Java 整数循环迭代速记

2022-09-03 03:40:58

在编码时,我发现自己经常执行以下操作:

corner++; 
if(corner == 4) corner = 0;

在一行中无论如何都要这样做吗?

在此示例中,角应为 0, 1, 2, 3, 0, 1, 2, 3, 0....


答案 1

您可以使用这种简短且可读的行(演示):

corner = (corner + 1) % 4;

或者,甚至更短一点(演示):

corner = ++corner % 4;

答案 2

使用余数。这是两条线,但很干净。

corner++;
corner %= 4;