今天初次学到Java方法的时候发现一个问题,就是写了一个方法,里面调用另外一个方法,但是如果该方法里面又调用了第一个方法会出现怎么样的问题呢?
public static void method(int a) {
a++;
method1(a);
}
public static void method1(int a) {
a++;
method(a);
}
public static void main(String[] args) {
method(0);
}
在这里我们定义两个方法,每个方法都是把参数自加1然后调用对方,很显然,当主方法调用其中任意一个方法的时候 ,就会造成方法的死循环当中去。
这时我萌生一个大胆的想法,既然能达成循环,加上特定的条件如循环起点,终点,步长不就可以构成一个循环吗,而且实践之后发现,最终可以达到用判断语句就可以达成循环的方法!
简单来说就是锤子造飞机!
下面是实现代码
//定义两个方法,让他们相互调用对方达成循环效果,加上步长和判断就可以变成循环语句
public static void for1(int a,int times) {
if(a<=times) {
System.out.println(a);
a++;
x(a,times);
}
}
public static void x(int a,int times) {
if(a<=times) {
for1(a,times);
}
}
public static void main(String[] args) {
for1(0,10);
}
简单来说就是两个方法都判断一下达到循环终点没,如果到了循环终点就跳出互相调用的这个死循环
上面的方法for1的参数:
虽然完成了一个简单的循环结构,但也只是简单的循环而已,于是,带有循环起点,循环终点,步长参数的比较复杂的方法就完成了
//先调用这个
public static void for1(int print,int times) {//参数为输出的数和次数,每次加一
int b =0;
if(b
原谅英语学渣参数变量只能想到a,b,c到最后看的头昏,为了不让读者头昏,写了尽可能多的注释。。。。。
最后的输出结果为
因为注释写的足够多了,所以就不罗嗦了,主要说下两个for1的用法
我在main方法里面的第一个for1方法为以10(第一个参数)开头,输出并加一10(第二个参数)次,
第二个是以第一个参数(50),循环终点为第二个参数(10),循环起点为第三个(0),步长默认为1,可以自己添加参数为步长并且修改相关代码达到**for(输出,循环终点,循环起点,步长)**构成一个差不多的for循环!笔者就不赘述了。
其实这个东西也是无意中才发现的,搜了下,网上还没有相关的文章,所以钻个空,顺便开通csdn一直没写过啥东西,刚好,诶!就是第一篇文章了(计划通)