第一层的 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。
不要研究这种问题,实际编程中绝对不会出现这种代码。
分享标题:java代码列递增 java 自增序列
新闻来源:https://www.cdcxhl.com/article20/dopshco.html
成都网站建设公司_创新互联,为您提供自适应网站、网站制作、做网站、网站建设、外贸建站、品牌网站制作
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联