目录
一.Eclipse的安装与配置--今天换工具了,终于不用记事本了!
1.1 安装
1.2 配置
二.方法
2.1 无参数无返回值方法
2.2 有参数无返回值方法
2.3 有参数有返回值方法
2.4 return的使用
2.5 debug调试
2.6 方法的多级调用
三.递归
一.Eclipse的安装与配置--今天换工具了,终于不用记事本了!
1.1 安装
自己随便找个eclipse.zip解压就完事了,这步就不废话了!
1.2 配置
=======================显示项目资源与控制台=========================
window->show view
如果找不到Package Explorer,则找Other...
=======================创建工程=========================
File->new->下面选项框
创建工程名
创建包和java文件
选择src目录右键new->找到包和类
修改字体: window->preferences下
设置快捷提示:window->preferences下
设置utf-8编码:
二.方法
2.1 无参数无返回值方法
2.2 有参数无返回值方法
2.3 有参数有返回值方法
2.4 return的使用
//====================return使用1=======================
//问题:return只能用在有返回值的方法中吗,其他地方能使用吗?
//1.return使用在无返回值方法中
//案例:循环打印1~10,遇到3的倍数则退出,使用方法来做
public class ReturnTest1 {
public static void main(String[] args) {
for(int i=1;i<=10;i++) {
if(i%3==0) {
return; //跳出函数体,如果方法没有返回值,则return不能带值
//break; //跳出循环体
}
System.out.println(i);
}
System.out.println("最后的执行...");
//return; //在方法最后也可以加return,也可以不加
}
}
//====================return使用2=======================
//2.return使用在switch中
//打印周一到周五吃饭的问题
public class ReturnTest2 {
public static void main(String[] args) {
System.out.print("请输入一周吃饭问题:");
Scanner sc = new Scanner(System.in);
int week = sc.nextInt();
switch (week) {
case 1:
System.out.println("鲍鱼龙虾");
break;
case 2:
case 3:
case 4:
System.out.println("肯德基");
break;
case 5:
System.out.println("泡面");
return; //跳出函数体
default:
System.out.println("输入有误~");
break;
}
System.out.println("结束语句....");
}
}
2.5 debug调试
debug调试:
1.加断点---从哪个位置开始调试
f5: 跳到方法的实现处
f6: 下一步(最常用)
f8: 跳到下一个断点,如果没有,结束了
2.6 方法的多级调用
//多级方法调用:方法实现中,又调方法
public class ManyFun {
public static void main(String[] args) {
System.out.println("main----start"); //1
m1();
System.out.println("main----end"); //5
}
private static void m1() {
System.out.println("m1....start"); //2
m2();
System.out.println("m1....end"); //4
}
private static void m2() {
System.out.println("执行m2..."); //3
}
}
三.递归
//递归(扩展): 自己调用自己;且必须要有出口,没有出口就是死递归
//递归的用法,类似于循环,如果能用循环,可以考虑用递归
//注意:如果能用其他方式解决,尽量不用递归,递归有两个弊端:1.效率低 2.容易出现死递归
//使用递归的条件:
//1.定义一个方法,找出有规律的数列
//2.要有退出的出口
//=======================死递归=======================
public class Test1 {
public static void main(String[] args) {
m1();
}
private static void m1() {
System.out.println("执行m1...");
m1(); //死递归---类似于死循环
}
}
//====================求阶乘案例=======================
//案例:求一个数的阶乘; 例如4的阶乘: 1*2*3*4
//4的阶乘: 4*3的阶乘 ===>4*3*2*1
//3的阶乘: 3*2的阶乘
//2的阶乘: 2*1的阶乘
//1的阶乘: 1
public class Test2 {
public static void main(String[] args) {
int n = 4;
int val = f(n); //4*3*2*1
System.out.println(n+"的阶乘为:"+val);
}
private static int f(int n) { //4 3
if(n==1) {
return 1;
}
return n*f(n-1); //2*f(1)
}
}
//==================斐波拉契数列=======================
//案例2:使用递归完成斐波拉契数列:
//0 1 1 2 3 5 8 13 21 ...
//规律:第1项为0 第二项为1 第3项=第1项+第2项
public class Test3 {
public static void main(String[] args) {
System.out.println("请输入斐波拉契数列的项数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=0;i<=n;i++) {
System.out.print(f(i)+"t"); //0 1 1 2 3
}
}
public static int f(int n) { //4
if(n==0||n==1) {
return n;
}
return f(n-1)+f(n-2); //2+1
}
}
//递归(扩展): 自己调用自己;且必须要有出口,没有出口就是死递归
//递归的用法,类似于循环,如果能用循环,可以考虑用递归
//注意:如果能用其他方式解决,尽量不用递归,递归有两个弊端:1.效率低 2.容易出现死递归
//使用递归的条件:
//1.定义一个方法,找出有规律的数列
//2.要有退出的出口
//=======================死递归=======================
public class Test1 {
public static void main(String[] args) {
m1();
}
private static void m1() {
System.out.println("执行m1...");
m1(); //死递归---类似于死循环
}
}
//====================求阶乘案例=======================
//案例:求一个数的阶乘; 例如4的阶乘: 1*2*3*4
//4的阶乘: 4*3的阶乘 ===>4*3*2*1
//3的阶乘: 3*2的阶乘
//2的阶乘: 2*1的阶乘
//1的阶乘: 1
public class Test2 {
public static void main(String[] args) {
int n = 4;
int val = f(n); //4*3*2*1
System.out.println(n+"的阶乘为:"+val);
}
private static int f(int n) { //4 3
if(n==1) {
return 1;
}
return n*f(n-1); //2*f(1)
}
}
//==================斐波拉契数列=======================
//案例2:使用递归完成斐波拉契数列:
//0 1 1 2 3 5 8 13 21 ...
//规律:第1项为0 第二项为1 第3项=第1项+第2项
public class Test3 {
public static void main(String[] args) {
System.out.println("请输入斐波拉契数列的项数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=0;i<=n;i++) {
System.out.print(f(i)+"t"); //0 1 1 2 3
}
}
public static int f(int n) { //4
if(n==0||n==1) {
return n;
}
return f(n-1)+f(n-2); //2+1
}
}
(今日分享:磨刀不误砍柴工,好的编程软件能提高你敲代码的效率,送大家一句话"键盘敲烂,月薪上万!")



