在打java代码时遇到的问题

int i=6,j=8,k=10,m=7;

if(!(i>j | m>k++)) 

  k++;

System.out.println(k);

为什么最后的结果等于12

k 一开始是10 ,然后执行了两次  k++ ;  相当于 k 加了两次1  10 + 1 + 1 = 12

if语句只会执行一次循环,k=10开始,k++(若有赋值,则先赋值再自增,若无赋值可以理解为则与++k一样均是+1操作),即10+1+1=12