循环+方法

一、嵌套循环

1.for循环嵌套,外层循环控制行数,内层循环控制列数

案例一:输出一个4行5列的星星( *)图案。

package org.westos.demo;

public class MyDemo {
    public static void main(String[] args) {
        //外层循环控制行数,内层循环控制列数
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 5; j++) {
                //打印不换行
                System.out.print("*");
            }
            //只是换行
            System.out.println();
        }
    }
}

案例二:请输出下列的形状
*
**
***
****
*****

package org.westos;

public class MyDemo2 {
    public static void main(String[] args) {
        for (int i = 1; i <= 4; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

案例三:输出九九乘法表

package org.westos.demo2;

public class MyDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                //\t 是一个转义字符 空一个table位置
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
              //  \n 是一个转意字符,换行符
            System.out.print("\n");
        }
    }
}

二、循环关键字

1、break:

break的使用场景
		(1):在选择结构switch语句中
		(2):在循环语句中
		注意:离开使用场景的存在是没有意义的

作用
		退出循环
		

案例一:原计划循环十次,现在需要到第五次时就结束循环

package org.westos.demo2;

public class MyDemo3 {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);

            if (i==5){
                break;
            }
        }

        int j=1;
        while (true){
            System.out.println("哈哈");
            if (j>10){
                break;
            }
            j++;
        }
            System.out.println("下面的代码");

    }
}

结果展示:

1
2
3
4
5
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
哈哈
下面的代码

2.continue

continue的使用场景
		(1):在循环语句中
		(2):离开使用场景的存在是没有意义的
	作用
		跳出一次循环,执行下一步操作

案例:

for(int x=1; x<=10; x++) {
			if(x%3==0) {
				//在此处填写代码
			}
			System.out.println(“Java基础班”);
		}
		
		我想在控制台输出2次:“Java基础班“
		我想在控制台输出7次:“Java基础班“
		我想在控制台输出13次:“Java基础班“

答案:

1.break,	x=3时直接跳出for循环
2.continue,	x=3,6,9时跳出一次循环,不打印
3.System.out.println(“Java基础班”);x=3,6,9时多打印三次

3 return

return就是返回,退出一个方法

总结:

1.return: 结束当前方法
2.break: 结束单层循环
3.continue: 结束当前循环,执行下一次循环

三、方法

1.学习的第一个方法:

public static void main(String[] args){}

2.方法的定义:

方法就是完成特定功能的代码块

3.方法的格式:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
			方法体;
			return 返回值;
		}

返回值类型: 明确功能结果的数据类型
参数列表: 你要传递几个参数,以及每一个参数的数据类型

4.注意事项:

方法不调用不执行
方法与方法是平级关系,不能嵌套定义
方法定义的时候参数之间用逗号隔开
方法调用的时候不用在传递数据类型
如果方法有明确的返回值,一定要由return带回一个值
return用来结束方法,void类型不用return
如果我们在调用一个方法时,这个方法需要参数,那我们就需要传入相应的参数
        参数类型和参数个数,跟方法需要的参数要对应。
        我们把调用方法时,传入的参数,叫做实际参数,简称实参

案例一:求两个数据之和

package org.westos.demo3;

public class MyDemo {
    public static void main(String[] args) {
        add();
    }
    public static void add(){
        int a=20;
        int b=30;
        int sum=a+b;
        System.out.println("sum="+sum);
    }
}

案例二:使用键盘录入
1.比较两个值是否相等
2.获取两个数中的较大值

package org.westos.demo3;

import java.util.Scanner;

public class MyDemo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数");
        int one=sc.nextInt();

        System.out.println("请输入第二个数");
        int two=sc.nextInt();

        boolean flag=eaual(one,two);
        System.out.println(flag);

        int max = getMax(one, two);
        System.out.println(max);
    }

    public static int getMax(int a,int b){
        int max=a>b?a:b;
        return max;
    }
    public static boolean equal(int a,int b){
        return a==b;

    }
}

案例三:根据键盘录入的行数和列数,在控制台输出星形

package org.westos.demo3;

import java.util.Scanner;

public class MyDemo3 {
    public static void main(String[] args) {
        /*
        * 根据键盘录入的行数和列数,在控制台输出星形
        * */

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入行数");
        int i = sc.nextInt();

        System.out.println("请输入列数");
        int j=sc.nextInt();

        send(i,j);
    }
    public static void send(int a,int b){
        for (int hang = 1; hang <= a; hang++) {
            for (int lie = 1; lie <= b; lie++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

案例四:根据键盘录入的行数和列数,在控制台输出星形

package org.westos.demo3;

import java.util.Scanner;

public class MyDemo3 {
    public static void main(String[] args) {
        /*
        * 根据键盘录入的行数和列数,在控制台输出星形
        * */

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入行数");
        int i = sc.nextInt();

        System.out.println("请输入列数");
        int j=sc.nextInt();

        send(i,j);
    }
    public static void send(int a,int b){
        for (int hang = 1; hang <= a; hang++) {
            for (int lie = 1; lie <= b; lie++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

案例五:根据键盘输入的数据输出相应的乘法表

package org.westos.demo3;

import java.util.Scanner;

public class MyDemo4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入乘法表的阶数");
        int jie = sc.nextInt();
        print(jie);
    }
    public static void print(int i){
        for (int a = 1; a <= i; a++) {
            for (int b=1;b<=a;b++){
                System.out.print(b+"*"+a+"="+b*a+"\t");
            }
            System.out.println("\n");
        }
    }
}

5.方法的重载:

方法重载:在同一个类中,方法名称相同,参数列表不同,
			把这种情况称为方法的重载

注意事项:
		重载与权限修饰符无关,与返回值类型也无关,
			只与参数列表有关。

案例:
求:
2个整数
3个整数
4个整数 的和。

package org.westos.demo3;

import java.util.Scanner;

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

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数");
        int one=sc.nextInt();

        System.out.println("请输入第二个数");
        int two=sc.nextInt();

        System.out.println("请输入第三个数");
        int three=sc.nextInt();

        System.out.println("请输入第四个数");
        int four=sc.nextInt();

        int a = sum1(one, two);
        int b = sum2(one, two, three);
        int c = sum3(one, two, three, four);

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
    public static int sum1(int a,int b){
            return a+b;
    }

    public static int sum2(int a,int b,int c){
        return a+b+c;
    }
    public static int sum3(int a,int b,int c,int d){
        return a+b+c+d;
    }

}

重载和重写的区别:

1.重载是指在同一个类中,方法名相同,参数列表不同,与
	返回值类型无关,与权限修饰符无关
2.重写是指子类对父类进行覆盖重写,方法名相同,参数列表也相同,只是方法的实现体不同。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值