流程控制语句之循环语句 ,控制跳转语句 , 方法(函数)

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

1.1Java循环语句 for循环

for循环语句格式:
  for(初始化语句;判断条件语句;控制条件语句) {
    循环体语句;
  }
执行流程:
  A:执行初始化语句
  B:执行判断条件语句,看其结果是true还是false
    如果是false,循环结束。
    如果是true,继续执行。
  C:执行循环体语句
  D:执行控制条件语句
  E:回到B继续
例如 :求出1-100之间偶数和和求出1-100之间奇数和

  public class Fortest1 {   
   public static void main(String[] args) {
      int	qisum=0;
      int ousum=0;
     for(int i=1;i<=100;i++) {
	 if(i%2==0) {	
		ousum+=i;					
  	}else
	{
		qisum+=i;
	}	
}
System.out.println("偶数和"+ousum);
System.out.println("奇数和"+qisum);
                                    }
          }  

1.2 Java循环语句 while循环

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

无限循环:

while(true){ }
  
补充:for循环语句和while循环语句可以等价转换,但还是有些小区别的

使用区别:

控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。

原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

场景区别:
  for循环适合针对一个范围判断进行操作
  while循环适合判断次数不明确操作

1.3 Java循环语句 do while循环

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

执行流程:

1,先执行一遍循环体语句和控制条件语句,然后执行 判断条件语句 判断循环条件是否成立
2,如果条件成立,继续执行1、2步骤,直到循环条件不成立为止。

特点: 先执行,后判断

例如:统计水仙花数的个数

 public class WhileTest2 {

public static void main(String[] args) {

	//定义初始化变量
	
	int i = 100;


	int geshu = 0;
	
	
	//while循环
	while(i<=999) {
		
		//获取个十百位
		int ge = i%10;
		int shi = i/10%10;
		int bai = i/100%10;
		//判断是否为水仙花数
		if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
			System.out.println(i);
			geshu++;
		}
		i++;

	}
	System.out.println("水仙花数:"+geshu);
}

2. 控制跳转语句

2.1 控制跳转语句break语句

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

2.2 控制跳转语句continue语句

1: continue的使用场景
(1):在循环语句中
(2):离开使用场景的存在是没有意义的
2: 作用
a:跳出一次循环,执行下一步操作
break 和continue 区别
break是直接结束循环, 而continue呢,他不是直接结束本次循环而是跳过循环,继续执行下一次的循环。 所以说想在某一个时刻停止一个循环的时候直接用break 简单粗暴不解释! 但是你要想不想停止正循环想让循环再某一时刻不执行某个阶段然后还能继续执行剩下的程序那自然要用到continue了!

2.3 控制跳转语句return语句

return的作用

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

3.方法(函数)

1: 为什么要有方法
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。
发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。
为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,
这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,
程序在需要发射炮弹时调用该方法即可。
2: 什么是方法
方法就是完成特定功能的代码块
在很多语言中都有函数的定义,但是在咱们JAVA语言中,我们将其称之为方法。
3: 方法的格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 …){
方法体;
return 返回值;
}
4: 方法的格式详细说明
(1): 修饰符 比较多,后面会详细介绍。目前使用 public static
(2): 返回值类型 用于限定返回值的数据类型
(3): 方法名 就是一个名称,它的存在是为了方便我们调用方法
(4): 参数类型 限定调用方法时传入参数的数据类型
(5): 参数名 是一个变量,接收调用方法时传入的参数
这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的.
(6): 方法体 完成功能的代码
(7): return 结束方法以及返回方法指定类型的值
(8): 返回值 就是功能的结果,由return带回,带回给调用者
5: 方法的注意事项
A: 方法不调用不执行
B: 方法与方法是平级关系,不能嵌套定义
C: 方法定义的时候参数之间用逗号隔开
D: 方法调用的时候不用在传递数据类型
E: 如果方法有明确的返回值,一定要由return带回一个值
例如: 根据键盘录入的数据输出对应的乘法表

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

    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入一个行数");
    int num = scanner.nextInt();
    showMultiplicationTable(num);
}

private static void showMultiplicationTable(int num) {

    for (int i = 1; i <= num; i++) {
        for (int j = 1; j <= i; j++) {

            System.out.print(j+"*"+i+"="+j*i+"\t");
        }
        System.out.println();
    }

   return;
}

例如: 求两个数的最大值

    import java.util.Scanner;

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

    //调用方法
    //int max = getMax(num1, num2);

    int max2 = getMax2();
    System.out.println("最大值是"+max2);
    int max21 = getMax2();
    System.out.println("最大值是" + max21);

}

public static int getMax2(){
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入第一个整数");
    int num1 = scanner.nextInt();
    System.out.println("请输入第二个整数");
    int num2 = scanner.nextInt();
    int max=num1>=num2?num1:num2;
    return max;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值