Java中的循环结构(while)、方法

本文详细介绍了Java中的循环结构,包括while和do...while循环的使用,以及如何通过循环实现特定功能。同时,讨论了跳转控制语句,如break和continue的场景和作用。此外,还探讨了方法的概念、定义及其在程序中的应用,并提到了方法的重载。文章通过实例代码加深了读者对这些概念的理解。
摘要由CSDN通过智能技术生成

今天涉及的内容是有关流程控制语句、跳转控制语句、数组的定义、Java中的内存分配部分的内容。

循环结构

(while循环语句)

while循环语句的基本格式:
基本格式:
while(判断条件语句){
循环体语句;
}
扩展格式:
while(判断条件语句){
循环体语句;
控制条件语句;
}

范例1:

public class WhileDemo1 {
    public static void main(String[] args) {
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("*************使用for循环改进********************");
        for(int i=1;i<=3;i++){
            System.out.println("HelloWorld");
        }
        System.out.println("***********使用while循环改进*****************");
        int i = 0;
        while(i<3){
            System.out.println("HelloWorld");
            i++;
        }
    }
}
//HelloWorld
//HelloWorld
//HelloWorld
//*************使用for循环改进********************
//HelloWorld
//HelloWorld
//HelloWorld
//***********使用while循环改进*****************
//HelloWorld
//HelloWorld
//HelloWorld

范例2

/*
            用while循环实现1-100之和
            注意:for循环与while循环之间的小区别:
                1、使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,
                    而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。
                    原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
                2、场景区别:
                    for循环适合针对一个范围判断进行操作
                    while循环适合判断次数不明确操作
 */
public class WhileDemo2 {
    public static void main(String[] args) {
        int sum = 0;
        for(int i=1;i<=100;i++){
            sum += i;
        }
        System.out.println("1-100的和为:"+sum);
        System.out.println("**********************使用while循环进行改进*********************");
        int i =1;
        sum = 0;
        while(i<=100){
            sum+=i;
            i++;
        }
        System.out.println("1-100的和为:"+sum);
    }
}
//1-100的和为:5050
//**********************使用while循环进行改进*********************
//1-100的和为:5050

范例3:

public class WhileDemo3 {
    public static void main(String[] args) {
        int maxHeight = 884800;
        int count = 0;//定义的是总的折叠次数
        int thick = 1;//定义的是厚度
        while(thick<=884800){
            thick *= 2;
            count++;
        }
        System.out.println("折叠"+count+"次到8848米,"+"厚度为:"+thick);
    }
}
//折叠20次到8848米,厚度为:1048576

循环结构(do…while循环语句)

do…while循环语句格式:
基本格式:
do{
循环体语句;
}while(判断条件语句);
扩展格式:
do{
循环体语句;
控制条件语句;
}while(判断条件语句);

范例1:

public class DoWhileDemo1 {
    public static void main(String[] args) {
        //求1-100的和
        int i = 0;//定义的是循环的次数
        int sum = 0;//定义的是总和
        do{
            sum+=i;
            i++;
        }while(i<=100);
        System.out.println("1-100的和为:"+sum);
    }
}
//1-100的和为:5050


 3. 跳转控制语句
 主要有三个跳转语句:
 	break	中断
 	continue	继续
 	return	返回

break:
	使用场景:
            1、在选择结构switch语句中
            2、在循环语句中,加入了if判断的情况
            3、离开使用场景的存在是没有意义的


范例1:

```c
import java.util.Scanner;
public class ControlDemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你想要的星期的数字(1-7)");
        int num = sc.nextInt();
        //break跳出当前控制语句
        switch (num){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            default:
                System.out.println("程序没有匹配");
                break;
        }
        System.out.println("*********************************");
        //循环打印1-10,加入break,并在3的时候停止for循环
        for(int i=1;i<=10;i++){
            if(i==3){
                break;
            }
            System.out.println(i);
        }
    }
}

循环中break的作用:

跳出单层循环:
跳出多层循环:
带标签的跳出:
格式:标签名: 循环语句
范例2:

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

        System.out.println("*******加入break循环*********");

        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                if(j==4){
                    break;
                }
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }

        System.out.println("*****加入break带标签跳出多层循环******");
        wc:for(int i=1;i<=9;i++){
            nc:for(int j=1;j<=i;j++){
                if(j==4){
                    break wc;
                }
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }

    }
}
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
*******加入break循环*********
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	
5*1=5	5*2=10	5*3=15	
6*1=6	6*2=12	6*3=18	
7*1=7	7*2=14	7*3=21	
8*1=8	8*2=16	8*3=24	
9*1=9	9*2=18	9*3=27	
*****加入break带标签跳出多层循环******
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	

循环中的continue:

使用场景:
1、在循环语句中
2、离开使用场景的存在是没有意义的
return:
结束循环其实是结束了main方法

范例:

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

        //循环打印1-10,加入continue
        for(int i=1;i<=10;i++){
            if(i==3){
                continue;//跳出当前此次循环,继续后面循环
            }
            System.out.println(i);
        }//在这里面 3 就被抽走了

        System.out.println("********改为return*********");

        for(int i=1;i<=10;i++){
            if(i==3){
                return;
            }
            System.out.println(i);
        }
    }
}
//1
//2
//4
//5
//6
//7
//8
//9
//10
//********改为return*********
//1
//2

方法

什么是方法:

方法就是完成特定功能的代码块
在很多语言里面都有函数的定义
函数在Java中被称为方法

方法的语句格式:

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

一些方法中的名词解释:

修饰符

修饰符 比较多,后面会详细介绍。目前public static
返回值类型:
就是return返回的值的类型
方法名:
一个名称,为了方便我们调用方法,自己起的名字,方便我们调用。

参数:

1、形参
定义在方法上的参数名
2、实参
实际调用方法的时候传入的值

参数类型:

限定调用方法时传入参数的数据类型

参数名:(形参)

是一个变量,接收调用方法时传入的参数。

函数体:

完成功能的代码,实现方法的主要逻辑功能

return:

结束方法以及返回方法指定类型的值

返回值:

程序被return带回的结果,返回给调用者
注意:
方法与方法是平级,不能嵌套使用。

范例:

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

        int x = 10;
        int y = 20;

        int result = sum(x,y);
        System.out.println(result);
    }

    public static int sum(int x,int y){
        int result = x+y;
        return result;
    }

}
//30

FunctionDemo1图解:
在这里插入图片描述

范例:

import java.util.Scanner;
public class FunctionDemo3 {
    public static void main(String[] args) {

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

        printStar(x,y);

    }

    public static void printStar(int a,int b){
        for(int i=1;i<=a;i++){
            for(int j=1;j<=b;j++){
                System.out.print("*"+"\t");
            }
            System.out.println();
        }
    }
}
//请输入行数
//4
//请输入列数
//5
//* 	*	*	*	*
//*	    *	*	*	*
//*	    *	*	*	*
//*	    *	*	*	*

方法的重载

什么是方法的重载:

在同一个类中,允许存在一个以上的同名方法,
只要它们的参数个数或者参数类型不同即可。

方法重载的特点:

1、与返回值类型无关,只看方法名和参数列表
2、在调用时,虚拟机通过参数列表的不同来区分同名方法

范例:

public class FunctionDemo5 {
    public static void main(String[] args) {
        //求加法

        int a = 1;
        int b = 2;
        int c = 3;
        int d = 4;

        byte e = 5;

    }

    public static int sum(int x,int y){
        int result = x+y;
        return result;
    }

    public static int sum1(int x,int y,int z){
        return (x+y+z);
    }

    public static int sum2(int x,int y,int z,int i){
        return (x+y+z+i);
    }

    public static int sum3(int x,byte y){
        return (x+y);
    }
}

感谢阅读,我是啊帅和和,一位大数据专业即将大四学生,祝你快乐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊帅和和。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值