从品牌网站建设到网络营销策划,从策略到执行的一站式服务
第一层的 if 逻辑表示 如果新的一个数A[i]对于 B[]中的数来说是递增的,则len加1,这是记录递增数列长度的主要逻辑。else中的逻辑保证B[]中的数列是最新的递增数列。
创新互联主营剑川网站建设的网络公司,主营网站建设方案,重庆App定制开发,剑川h5小程序设计搭建,剑川网站营销推广欢迎剑川等地区企业咨询
举个例子,如果A数组为[1,2,3,4,5, 3.1, 3.2, 3.3, 3.4]
当i=4时 len=4 B=[x,1,2,3,4,x] 循环结束后 len=5 B=[x,1,2,3,4,5] 第一层判断走if
当i=5时 len=5 B=[x,1,2,3,4,5] 循环结束后 len=5 B=[x,1,2,3,3.1,5] 第一层判断走else
当i=6时 len=5 B=[x,1,2,3,3.1,5] 循环结束后 len=5 B=[x,1,2,3,3.1,3.2] 第一层判断走else
当i=7时 len=5 B=[x,1,2,3,3.1,3.2] 循环结束后 len=6 B=[x,1,2,3,3.1,3.2,3.3] 第一层判断走else
...
其中第一层的else中做的工作就是把B从[x,1,2,3,4,5] 一步步变成 [x,1,2,3,3.1,3.2],最终B[]的最后一个元素变成3.2, 在下一次A[i]=3.3的时候,就又会走第一次if的逻辑(len加1)了。
简单实现代码如下:
public class Test{
public static void main(String[] args)
{
for (int i=1;i999999 ;i++ ){ //for循环
String code=i+"";
int leng=(code.trim()).length(); //定义长度
if(leng==1){
code="00000"+i;
}else if(leng==2){
code="0000"+i;
}else if(leng==3){
code="000"+i;
}else if(leng==4){
code="00"+i;
}else if(leng==5){
code="0"+i;
}
System.out.println("code:"+code);
}
}
}
原理和Java编译器生成的字节码有关,第一条输出的结果是0+(-1)+(-2)+(-3)=6,a自减4次变为-4;第三条输出的结果是(-1)+(-2)+(-3)+(-4),b自减4次也变为-4。
不要研究这种问题,实际编程中绝对不会出现这种代码。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图