Java跳转语句--return和多重循环结构的编写思路以及递归

一、return语句:
         return语句是从当前整个方法中跳出返回到调用该方法的语句处,并从该语句的下条语句处继续执行程序。

        1、return expression
                返回一个值给调用该方法的语句。
                返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
         2、return
                当方法声明中用void声明返回类型为空时,它不能返回任何值。

二、多重循环

1. 三种循环方式
– while
– do-while
– for
2.多重循环(循环嵌套)
– 一个循环体内又包含另一个完整的循环结构
– 任何两种循环都可以相互嵌套
– 可以任意层次循环,但是一般不超过3层
3. 多重循环执行过程
– 外层循环变量变化一次,内层循环变量要变化一遍

//for中包含if结构

import java.util.Scanner;
public class Work2{
	public static void main(String[] args){
		System.out.print("输入班级总人数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int a = 0;
		for(int i = 0;i < num;i++){
			System.out.print("请输入第" + (i+1) +"位学生的成绩:");
			int score = sc.nextInt();
			if(score < 80){
				continue;
			}
			a++;
		}
		System.out.println("80分以上的学生人数是:" + a);
		double rate = (double)a/ num*100;
		System.out.println("80分以上的学生所占比例为:" + rate +"%");
	}
}

九九乘法表

public class Work3{
	public static void main(String[] args){
		for(int h = 1;h < 10;h++){
			for(int y = 1;y <= h;y++){
				System.out.print(y + "*" + h + "=" +(h*y) + "\t");
			}
			System.out.println();
		}
	}
}

百钱买百鸡

public class Work3{
	public static void main(String[] args){
		for(int a = 0;a <= 20;a++){
			for(int b = 0;b <= 34;b++){
				for(int c = 0;c <= 300;c++){
					if(((a+b+c)==100) && ((5*a+3*b+c/3)==100) && c % 3 ==0){
						System.out.println("公鸡" + a +"\t母鸡" + b +"\t小鸡" + c );
					}
				}
			}
		}
	}
}

斐波那契数列

import java.util.Scanner;
public class Work3{
	public static void main(String[] args){
		Scanner sc =new Scanner(System.in);
		System.out.print("请输入想要输出几位数:");
		int number = sc.nextInt();
		int x = 1;
		int y = 1;
		int z = 0;
		for(int i = 1;i <= number;i++){
			if(i == 1||i == 2 ){
				System.out.print(1 +"\t");
			}else{
				z = x + y;
				x = y;
				y = z;
				System.out.print(z +"\t");
			}
		}
	}
}

三、递归算法

 1.递归(recursion)的定义
– 程序调用自身的编程技巧称为递归。
– 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法

2.递归问题的特点
– 一个问题可被分解为若干层简单的子问题
– 子问题和其上层问题的解决方案一致
– 外层问题的解决依赖于子问题的解决

3.递归结构包括两个部分:
– 递归结束条件。
– 递归体。

4.递归的优点
– 简单的程序
5. 递归的缺点
– 但是递归调用会占用大量的系统堆栈,内存耗用多,
– 在递归调用层次多时速度要比循环慢的多
▪6.递归的使用场合
– 任何可用递归解决的问题也能使用迭代解决。
– 当递归方法可以更加自然地反映问题,并且易于理解和调试,并且并强调效率问题时,可以采用递归;
– 在要求高性能的情况下尽量避免使用递归,递归既花时间又耗内存。

//用递归算出5!的结果

public class Recursion{
	public static void main(String[] args){
		System.out.println(f(5));
	}
	public static int f(int n){
		if(n == 1){
			return 1;
		}else{
			return f(n-1)*n;
		}
	}
}

好了,今天的总结就到这里,各位明天见!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值