Java小tips

1、break和contiune

2、重载

3、递归

1、break和contiune的区别:

break结束本次循环

contiune结束当前循环,继续下列程序

package lf.chuji.jiegou;

public class TestBreak { public static void main(String[] args) { //生产随机数,0~100的 到88结束循环 int count=0;//计数器

    //生成随机数
    while(true) {
        int a=(int) (100*Math.random());
        System.out.print(a+"、");
        count++;
        if(a==88) {
           break;
        }
    }System.out.println("计数器:"+count);
    
}
}

package lf.chuji.jiegou;

public class TestContinue {
	public static void main(String[] args) {
		//把100~150之间不被三整除的数输出,并每行输出五个
		int count=0;//定义计数器
	    for(int i=100;i<=150;i++) {
	    	if(i%3==0) {
	    		continue;
	    	}
	    	System.out.print(i+"、");
	    	count++;
	    	if(count%5==0) {
	    		System.out.println();
	    		count=0;
	    	}
	    }
	}

}

1.1带标签的continue,break

由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方。

package lf.chuji.jiegou;

public class TestBiaoQianContinue {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    //输出100-150之间的质数
    outer:for(int i=100;i<=150;i++) {
        for(int j=2;j<i/2;j++) {
            if(i%j==0) {
                continue outer;
            }           
        }
        System.out.println(i);
    }
​
}
}

//测试方法的基本使用

方法可以反复调用

无返回值--void

return 1、结束方法的类型2、返回值、

提示:

1、实参的数目、数据类型和次序必须和调用的方法声明的形式参数列表匹配

2、return语句终止方法的运行并指定返回的数据

3、Java中进行方法调用中传递的是该数据值的cope值

4、引用类型传递的是该对象引用的cope值,但指向的是同一个对象

package lf.chuji.jiegou;

public class TestMethod {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    //通过对象调用方法
    TestMethod tm=new TestMethod();
    tm.yinyu();
    tm.add(2, 3);
    int sum=tm.add(23, 49)+90;
    System.out.println(sum);
​
}
//无返回值
void yinyu() {
    System.out.println("Good Boy!");
}
​
//有返回值
int add(int a,int b) {
    int c=a+b;
    System.out.println(c);
    return c;
}
}

方法内没有static就要通过new对象调用方法

有static就可以直接调用

2、方法重载:

重载的方法,实际是完全不同的方法,只是名称一样

个数不同可以构成重载

参数类型不同可以构成重载

顺序不同可以构成重载

只有返回值不同,不构成方法的重载

参数名称不同,不构成方法的重载

package lf.chuji.jiegou;

public class TestOverLoad { public static void main(String[] args) {

    add(2,3);
    
    //我们已经见过的方法重载
    System.out.println();//0个参数
    System.out.println(1);//一个类型为int的参数
    System.out.println(2.0);//一个类型为double的参数
}
​
//个数不同
static void add(int a,int b) {
    int v=a+b;
    System.out.println(v);
}
static void add(int a,int b,int c) {
    // TODO Auto-generated method stub
    int v=a+b+c;
    System.out.println(v);
​
}
​
//参数类型不同
private void shengfa(int a,double b) {
    // TODO Auto-generated method stub
    double t=a*b;
    System.out.println(t);
​
}
​
//顺序不同
private void shengfa(double b,int a) {
    // TODO Auto-generated method stub
    double t=a*b;
    System.out.println(t);
​
}
}

3、递归方法:

递归可以自己调用自己

但是递归费时内存消耗大

能用循环替代递归的就用循环

小tips:long d1=System.currentTimeMillis();//用作计算时间的

package lf.chuji.jiegou;

public class TestDiGui {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    
    //计时的方法
    long d1=System.currentTimeMillis();
    long d2=System.currentTimeMillis();
    
    //用C++的方式表达输出
    System.out.printf("%d阶乘的结果%s%n:",10,a(10));
    System.out.println(d2-d1);
​
}
//递归:
static long a(int n) {
    // TODO Auto-generated method stub
    if(n==1) {
        return 1;//递归头
    }else {
        return n*a(n-1);//递归体           
    }
​
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值