JAVA SE之结构语句的概述及运用

1 流程控制语句之循环语句

1.1 for循环

1.1.1 循环结构概述和for语句的格式及其使用

A:什么是循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,
需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环
B:循环结构的分类
for循环
while循环
C:循环结构for语句的格式:
for(初始化表达式语句;判断条件语句;控制条件语句) {
循环体语句;
}
D:执行流程:
a:执行初始化表达式语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。
E: 注意事项:
初始化表达式语句只执行一次

1.1.2 循环结构for语句的练习之获取数据

求出1-100之间偶数和
求出1-100之间奇数和

class  ForDemo4{
	public static void main(String[] args) {
		/*
		B:学生练
			需求:求出1-100之间偶数和
			需求:求出1-100之间奇数和
		*/
		int sum=0;
		int ou=0;
		int ji=0;
		for(int i=1;i<=100;i++){
			if(i%2==0){
			   ou+=i;
			}else{
				ji+=i;
			}
		
			sum=sum+i;
		}

		System.out.println("总和是:"+sum);
		System.out.println("奇数和是:"+ji);
		System.out.println("偶数和是:"+ou);

	}
}

1.1.3 循环结构for语句的练习之水仙花

需求:在控制台输出所有的”水仙花数”

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
public class MyTest {
    public static void main(String[] args) {
        int a=0;
        int b=0;
        int c=0;
       for(int i=100;i<=999;i++){
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==a*a*a+b*b*b+c*c*c){
            System.out.println(i);//153,370,371,407
        }
       }
    }
}

1.2 while循环

1.2.1 while语句

A:循环结构while语句的格式:
while循环的基本格式:
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化条件语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
B:执行流程:
a:执行初始化条件语句;
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
C:案例演示
需求:在控制台输出10次"helloworld"

public class MyTest {
    public static void main(String[] args) {
        int i=0;
       while(i<=10){
            System.out.println("Hello Word!");
            i++;
       }
    }
}

需求:请在控制台输出数据1-10

 int i=0;
       while(i<10){
            i++;
           System.out.println(i);

1.2.2 循环结构while语句的练习

求和思想: 求1-100之和

 int i=0;
        int sum=0;
       while(i<=100){
           sum+=i;
           i++;
       }
        System.out.println(sum);

统计思想: 统计”水仙花数”共有多少个

 int i=100;
       while(i<1000){
          int a=i%10;
          int b=i/10%10;
          int c=i/100%10;
          if(i==a*a*a+b*b*b+c*c*c){
              System.out.println(i);
          }
           i++;
       }

1.2.3 do…while语句

A:循环结构do…while语句的格式:
do {
循环体语句;
}while(判断条件语句);

完整格式;
	初始化条件语句;
	do {
		循环体语句;
		控制条件语句;
	}while(判断条件语句);

B:执行流程:
a:执行初始化条件语句;
b:执行循环体语句;
c:执行控制条件语句;
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
C:案例演示
需求:在控制台输出10次"helloworld"

int i=0;
        do{
            System.out.println("Hello Word!");
            i++;
        }while(i<10);

需求:请在控制台输出数据1-10

 int i=0;
        do{
            i++;
            System.out.println(i);
        }while(i<10);

1.2.4 三种循环语句的区别

(1):do...while循环至少执行一次循环体。
	而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
(2):A: 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。
		因为变量及早的从内存中消失,可以提高内存的使用效率。
	B:建议优先考虑for循环,然后是while循环 ,最后是do...while循环

1.2.5 循环结构注意事项之死循环

A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
B:两种最简单的死循环格式
while(true){…}
for(;;; ){…}

1.2.6 循环结构循环嵌套输出4行5列的星星

 for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

1.2.7 循环结构循环嵌套输出正三角形

 for (int i = 0; i < 10; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

1.2.8 循环结构九九乘法表

 for (int i = 0; i < 10; i++) {
            for (int j = 1; j <= i; j++) {
                int a=i*j;
                System.out.print(i+"*"+j+"="+a+"\t");
            }
            System.out.println();
        }

2 控制跳转语句

2.1 break

A:什么是控制跳转语句
前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,
比如说,我想在某个循环执行到某一步的时候就结束,现在就做不了这件事情。
为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。
B:控制跳转语句的分类
break 中断
continue 继续
return 返回
C:break的使用场景
(1):在选择结构switch语句中
(2):在循环语句中
注意:离开使用场景的存在是没有意义的
D:作用
a:退出单层循环
b:退出多层循环(几乎不使用)
要想实现这个效果,就必须知道一个东西;带标签的语句;
格式:标签名:语句

2.2 continue

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

2.3return

A:return的作用
return 就是退出一个方法。
跳转到上层调用的方法。这个在方法的使用那里会在详细的讲解。

3 方法(函数)

3.1 方法之求和案例及其调用

A:需求:求两个数据之和的案例
B:如何写一个方法
两个明确
(1):返回值类型 明确功能结果的数据类型
(2):参数列表 你要传递几个参数,以及每一个参数的数据类型
C:方法调用(有明确返回值的调用)
a:单独调用,一般来说没有意义,所以不推荐。
b:赋值调用,推荐方案。
c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。

3.2 方法的练习

需求1:获取两个数中的较大值
需求2:比较两个数是否相等

 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int a=sc.nextInt();
        System.out.println("请输入第二个整数:");
        int b=sc.nextInt();
        int max=getMax(a,b);//调用方法
        System.out.println(max);
    }
    public static int getMax(int a,int b){
        int max=a>b?a:b;
        return max;
    }

3.3 方法重载概述和基本使用

求和案例
2个整数
3个整数
4个整数

class  MyDemo7{
	public static void main(String[] args) {
		//求两个数之和,
		//求三个数之和
		//求四个数之和
		
		long sum1=add(1,2);
		System.out.println("和是:"+sum1);

		int sum2=add(1,2,3);
		System.out.println("和是:"+sum2);

		int sum3=add(1,2,3,4);
		System.out.println("和是:"+sum3);
		

		//方法重载:允许一个类中可以定义多个同名方法,只要他们的参数个数,或参数类型不同即可。
		            //不拿返回值类型来区分,只会根据参数个数 或参数类型来区分。

	}

	
	public static int add(int a,int b){
		System.out.println("两个int类型的add方法调用了");
		return a+b;
	}

	/*

	错误的重载演示,不拿返回值类型来区分
	public static double add(int a,int b){
	
		return a+b;
	}
	*/
	
	public static long add(int a,long b){
	System.out.println("一个int类型一个long类型的add方法调用了");
		return a+b;
	}

	public static int add(int a,int b,int c){
	
		return a+b+c;
	}


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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值