if you can learn,why care who tell you,how to tell you?
1.控制表状态进入后先更新为process,最后更新为SUCCESS,为了防止其他sql更新其他字段导致版本号加1,最后的SUCCESS状态就不做乐观锁控制了
2.遍历日期,第0天跳过,每天指定商户跳过,不影响其他商户和其他天,
注意while 和 for 的双层循环i==0跳过的时候需要日期加1,否则死循环了大哥
int i=0; int k=5; while(i<k) { System.out.println("日期"+i); if(i==0) { i++; continue; } for (String ppMerchantNo : merchantList) { System.out.println(ppMerchantNo); if(ppMerchantNo.contains("1111111")) { continue; } String [] nameStrings={"TRADE","REFUND"}; for (String string : nameStrings) { if(string.equals("TRADE")) { System.out.println("你成功了!"); continue; } System.out.println("继续生成"); } } i++; }
3.注意调用另外的方法注意要用return还是continue
int i=0; int k=5; while(i<k) { System.out.println(i); test(); i++; } System.out.println("end");
public static void test() { String [] nameStrings={"TRADE","REFUND"}; for (String string : nameStrings) { if(string.equals("TRADE")) { System.out.println("你成功了!"); return; } System.out.println("继续生成"); }
4.break你知道要加,那么不加的时候输入2的时候结果是几呢?
public static int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; case 4: result = result + i * 3; } System.out.println(result); return result; }
没有加break的时候,2和3和4都会执行,结果是16
5.jdk1.8用拉姆达表达式的时候不能用continue和break,可以使用return,他的意思是跳出此次循环?
//这个可以简化上面的写法,但是这个list不能操作元素,只能遍历 List<String> list = Arrays.asList("1","2","3","4"); //拉姆达表达式内不能使用break contine等,可以用return,他的return相当于continue,跳过这次循环 list.forEach((s)->{ if(s.equals("3")) { return; } System.out.println(s); }); System.out.println("ok");