基础坑

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");




猜你喜欢

转载自blog.csdn.net/zhangxiaomin1992/article/details/80349731