java函数

java函数

1.介绍:
1.函数是封装了 特定功能的代码块
2.函数的好处:方便使用 减少你重复代码书写
3.函数的写法 :                     参数列表
关键字 返回值类型 函数名(参数类型 参数1,参数类型 参数 2,...
{
	函数中的语句1;语句2;...
    return 返回值;
 }
4.函数的分类:
     (1).有参数 无返回值 的函数;
     (2).有参数 有返回值 的函数;
     (3).无参数 无返回值 的函数;
     (4).无参数 有返回值 的函数;
5.函数的调用:函数名(传人的参数);

2.编写函数的步骤:
1.确定函数有没有返回值 有几个都什么类型;(接下来 是否使用 这个返回值 根据实际情况考虑)
2.确定函数有没有参数 有的话是几个 都什么类型
代码:
打印两个数的最大值
public static void main(String[] args) {
    System.out.println(sum(8, 5));//例如:打印8与5的最大值
}
public static int sum(int x,int y) {
		int max = (x > y) ? x : y; 	
		return max ;
}
return 后面的返回值 要跟函数的返回值类型对应

3.函数的重载

1.什么是函数的重载?
(1)函数的重载是实现相同的功能但是函数的内部实现不同
(2)函数的重载 是 函数 的名字相同 并且只跟函数有关
(参数的类型 参数顺序 参数个数 有关)
例如:判断以下三个函数那个属于函数的重载
public static int sum(int x,int y)
public static void sum(int x,int y) 不是
public static int sum(int x,char y) 是
public static int sum(int x,int y,char v)是
结论:由此可以看出函数的是否重载跟参数的返回值无关
代码:
1.用重载打印可以判断两个数的最大值或者三个数的最大值
public static void main(String[] args) {
    System.out.println(sum(8, 5));
    System.out.println(sum(8, 5,6));
}
public static int sum(int x,int y) {
		int max = (x > y) ? x : y; 	
		return max ;
	
}
public static int sum(int x,int y,int z){
		int max = (sum(x, y) > z)  ? sum(x, y) : z;
		return max ;
}
注意:函数中不可以定义函数	

java随机数

1.介绍
Math类 (随机数方法)
1.random返回的是【0,1)double值 2.是伪随机数(按照一定的规则去随机的)
3.代码
打印【18,200】的随机数
public static void main(String[] args) {
		int max = 0;
		for(int i = 0;i <= 20; i++) {
		int  num = (int)(Math.random() * (300 - 10 + 1)+ 10);
		//判断大小 如果大就赋值给max;
		if (num > max ) {
			max = num;
		}
		System.out.println(max);
	}}
结论:打印区间随机数公式(最大值 - 最小值 + 1)+ 最小值

(推荐))随机类(创建随机数)
Random random = new Random();
System.out.println(random.nextInt(4));
注释:random.nextInt(4)表示0到4的随机数
表示.0~300的随机数可以这样实现
random.nextInt(300)+1

java递归函数

1.介绍
1.调用自己的函数
玩一个小游戏深入理解一下递归
不知道的可以在网上小游戏里玩一下
/**
 * 汉诺塔游戏
 * 完成次数规律
 * 环数		次数
 * 1		1
 * 2		3
 * 3		7
 * 4		15
 * 
 * 规律
 * 1. 将上一关的盘子(数量)移动到B塔上
 * 2. 将最大的盘子(数量)移到C塔上
 * 3.将上一关的盘子(数量)由B塔移动到C塔
 * @author Administrator
 *
 */
public class review10_Game {
	//计数器
	static int count;
	/**
	 * 盘子的移动
	 * @param disk
	 * @param M
	 * @param N
	 */
	public static void main(String[] args) {
		char A ='A';
		char B = 'B';
		char C = 'C';
		System.out.println("汉诺塔游戏开始了");
		System.out.println("请输入所需移动的的盘子数量");
		Scanner scanner = new Scanner(System.in);
		int num = scanner.nextInt();
		hanoi(num, A, B, C);
		System.out.println("游戏结束");
	}
	public static void move(int disk,char M,char N){
		System.out.println("第"+(++count)+"次移动,盘子"+
	+disk+"从\t"+M+"---->"+N);
	}
	/**
	 * 盘子的移动方式
	 * @param n
	 * @param A
	 * @param B
	 * @param C
	 */
	public static void hanoi(int n,char A,char B,char C) {
		if (n==1) {
			move(1, A, C);
		}else {
//			 * 1. 将上一关的盘子(数量)移动到B塔上
			hanoi(n-1, A, C, B);
//			 * 2. 将最大的盘子(数量)移到C塔上
			move(n, A, C);
//			 * 3.将上一关的盘子(数量)由B塔移动到C塔
			hanoi(n-1, B, A, C);
		}
	}
}
2.代码:计算1234…*n并打印
public static void main(String[] args) {
		
Jiec(5);
System.out.println(Dgui(5));
	}
方法1:使用for循环函数
public static int  Jiec(int x) {
		for(int i = x - 1;i >= 1;i--) {
			x = x * i;
		}
		System.out.println(x);
		return x;
	}
方法二:使用递归函数
public static int  Dgui(int x) {
		
		if (x == 1) {
		return 1;
		}
	 int i = x * Dgui(x - 1);
	 
		return i;	
	}

break与continue作用

1.介绍:
1.continue的作用:
结束本次循环 继续下一次循环
代码:
例如:打印1--10但不打印6
for (int i = 0; i < 10; i++) 
{
           if (i == 6) 
            {				
				continue;
			}
			System.out.println(i);
}
2.break的作用:
break 马上结束本层的循环
代码:
例如:
	 for (int i = 0; i < 10; i++) {
			for(int j = 0; j < 10; j++) {
				if (j == 1) {
					break ;
				}
				System.out.print(j+" ");
			}
			System.out.println(i);
		}
打印结果只有0;	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值