Java零基础学习(循环语句 控制跳转语句 方法)

Java零基础学习(循环语句 控制跳转语句 方法)

  • 流程控制语句

    • 循环语句
    1.什么是循环结构
    	循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,
    	需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环
    2.循环结构的分类
    	for循环
    	while循环
    	do...while循环
    
    • for循环语句
      1.循环结构for语句的格式:
      	for(初始化表达式语句;判断条件语句;控制条件语句) {
      		循环体语句;
      	}
      2.执行流程:
      	a:执行初始化表达式语句
      	b:执行判断条件语句,看其返回值是true还是false
      		如果是true,就继续执行
      		如果是false,就结束循环
      	c:执行循环体语句;
      	d:执行控制条件语句
      	e:回到B继续。	
      3. 注意事项:
      	初始化表达式语句只执行一次
      
      • 练习(1)
      1.请在控制台输出数据1-10
      		for(int i=1;i<=10;i++){
      		        System.out.println(i);//只要条件满足就会执行一次这条语句
      		}//i是从1开始,一直到10,每增加1都满足条件
      2.请在控制台输出数据10-1
      		for(int i=10;i>=1;i--){
                          System.out.println(i);//只要条件满足就会执行一次这条语句
      		}//i是从10开始,一直到1,每减少1都满足条件
      注意事项
      	a:判断条件语句无论简单还是复杂结果是boolean类型。
      	b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
      	c:一般来说:有左大括号就没有分号,有分号就没有左大括号
      
      • 练习(2)
      求出1-100之间偶数和 求出1-100之间奇数和
      		int ou=0;
      		int ji=0;
      		for(int i=1;i<=100;i++){
      			if(i%2==0){
      				ou+=i;//判断这个数是否是偶数,如果是就累加i
      			}else if(i%2==1){
      				ji+=i;//判断这个数是否是奇数,如果是就累加i
      			}
      		}
      		System.out.println("偶数和是"+ou);
      		System.out.println("奇数和是"+ji);
      选择结构语句可以和循环结构语句进行嵌套
      
      • 练习(3)
      在控制台输出所有的”水仙花数”
      所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
      举例:153就是一个水仙花数。
      153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
      		for(int i=100;i<=999;i++){  //水仙花是三位数
      			int a=i/100;			//求出百位上的数字
      			int b=i/10%10;			//求出十位上的数字
      			int c=i%10;				//求出个位上的数字
      			if(a*a*a+b*b*b+c*c*c==i){ 
      				System.out.println(i); //当满足水仙花的条件时,输出
      			}
      		}
      
    • while循环语句
      1.循环结构while语句的格式:
      	while循环的基本格式:
      		while(判断条件语句) {
      			循环体语句;
      		}
      	完整格式:
      	    初始化条件语句;
      	    while(判断条件语句) {
      			 循环体语句;
      			 控制条件语句;
      	   }
      2.执行流程:
      	a:执行初始化条件语句;
      	b:执行判断条件语句,看其返回值是true还是false
      		如果是true,就继续执行
      		如果是false,就结束循环
      	c:执行循环体语句;
      	d:执行控制条件语句
      	e:回到b继续。
      
      • 练习
      1.求1-100之和
      		int i=1;
      		int t=0;
      		while(i<=100){
      			t+=i;
      			i++;
      		}
      		System.out.println(t);
      2.统计”水仙花数”共有多少个
              int i=100;
              int t=0;
              while(i<=999){
                  int a=i/100;			
      			int b=i/10%10;			
      			int c=i%10;				
      			if(a*a*a+b*b*b+c*c*c==i){ 
      				System.out.println(i); 
      				t++;
      			}
      			i++;
              }
              System.out.println("水仙花的个数是"+t);
      
    • do...while循环
      1.循环结构do...while语句的格式:
      		初始化条件语句;
      		do {
      			循环体语句;
      			控制条件语句;
      		}while(判断条件语句);
      2.执行流程:
      	a:执行初始化条件语句;
      	b:执行循环体语句;
      	c:执行控制条件语句;
      	d:执行判断条件语句,看其返回值是true还是false
      		如果是true,就继续执行
      		如果是false,就结束循环
      	e:回到b继续。
      
      • 练习
      请在控制台输出数据1-10
              int t=1;
              do{
      		System.out.println(t); 
      		t++;
      		}while(t<=10);
      
      
    • 循环结构三种循环语句的区别
      三种循环语句的区别:
      	(1):do...while循环至少执行一次循环体。
      		而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
      	(2):A: 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。
      			因为变量及早的从内存中消失,可以提高内存的使用效率。
      		B:建议优先考虑for循环,然后是while循环 ,最后是do...while循环
      
      
    • 死循环
    1.一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
    2.两种最简单的死循环格式
    	while(true){...}
    	for(;;){...}
    3.死循环不是为了让它成为死循环,知识不知道循环几次,所以会有一个条件,当达到条件是会让死循环结束掉
    
    
    • 循环嵌套
    1.需求:请输出下列的形状
    	*
    	**
    	***
    	****
    	*****
    	 for(int i=1;i<=5;i++){				//外循环控制行数
    		   for(int j=1;j<=i;j++){		//内循环控制列数
    			   System.out.print("*");	//System.out.print();打印不换行 System.out.println();打印换行
    		   }
    		   System.out.println();
    	   }
    2.打印一个九九乘法表
           for(int i=1;i<=9;i++){
    		   for(int j=1;j<=i;j++){
    			   System.out.print(j+"*"+i+"="+j*i+"\t");
    		   }
    		   System.out.println();
    	   }
    	   
    	'\x'	x表示任意,这种做法叫转义字符。	
    	'\t'	tab键的位置
    	'\n'	换行	
    
    
    • 控制跳转语句
    1.什么是控制跳转语句
    	前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,
    	比如说,我想在某个循环执行到某一步的时候就结束,现在就做不了这件事情。
    	为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。
    2.控制跳转语句的分类
    	break 中断
    	continue 继续
    	return 返回
    
    
    • 控制跳转语句break语句
    1.break的使用场景
    	(1):在选择结构switch语句中
    	(2):在循环语句中
    	注意:离开使用场景的存在是没有意义的
    2.作用
    	a:退出单层循环
    	b:退出多层循环(几乎不使用)
    		要想实现这个效果,就必须知道一个东西;带标签的语句;
    		格式:标签名:语句
    
    
    • 控制跳转语句continue语句
    1.continue的使用场景
    	(1):在循环语句中
    	(2):离开使用场景的存在是没有意义的
    2.作用
    	a:跳出一次循环,执行下一步操作
    
    
    • 练习
    练习题
    	for(int x=1; x<=10; x++) {
    		if(x%3==0) {
    			//在此处填写代码
    		}
    		System.out.println(“Java基础班”);
    	}
    	
    	我想在控制台输出2次:"Java基础班"    答:break;//当x=3时,满足条件进入if语句然后就会会出循环
    	我想在控制台输出7次:"Java基础班"    答:continue;//当满足条件时就会退出一次循环。
    	我想在控制台输出13次:"Java基础班"	答:System.out.println(“Java基础班”);当满足条件时就会进入语句执行一次。
    
    
    • 控制跳转语句return语句
    return的作用
    	return 就是退出一个方法。
    	跳转到上层调用的方法。这个在方法的使用那里会在详细的讲解。
    
    
  • 方法的概述和格式说明

    1.为什么要有方法
    	假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。
    	发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。
    	为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,
    	这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,
    	程序在需要发射炮弹时调用该方法即可。
    2.什么是方法
    	方法就是完成特定功能的代码块
    	在很多语言中都有函数的定义,但是在咱们JAVA语言中,我们将其称之为方法。
    3.方法的格式
    	修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
    		方法体;
    		return 返回值;
    	}
    4.方法的格式详细说明
    	(1): 修饰符 			比较多,后面会详细介绍。目前使用  public static
    	(2): 返回值类型 		        用于限定返回值的数据类型
    	(3): 方法名			就是一个名称,它的存在是为了方便我们调用方法
    	(4): 参数类型 			限定调用方法时传入参数的数据类型
    	(5): 参数名 			是一个变量,接收调用方法时传入的参数
    					     这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的.
    	(6): 方法体 			完成功能的代码
    	(7): return 			结束方法以及返回方法指定类型的值 
    	(8): 返回值 			就是功能的结果,由return带回,带回给调用者
    
    
    • 求和案例及其调用
    输入两个数据求出他们的和
    import java.util.Scanner;
    class  B{
    		public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    			System.out.println("请输入第一个整数");
    			int num1=sc.nextInt();
    			System.out.println("请输入第二个整数");
    			int num2=sc.nextInt();
    			int c=add(num1,num2);
    			System.out.println("和是"+c);
    		}
    		public static int add(int a,int b){
    			return a+b;
    		}
    }
    1.如何写一个方法
    	两个明确
    		(1):返回值类型 	明确功能结果的数据类型
    		(2):参数列表	你要传递几个参数,以及每一个参数的数据类型
    2.方法调用(有明确返回值的调用)
    	a:单独调用,一般来说没有意义,所以不推荐。
    	b:赋值调用,推荐方案。
    	c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    
    
    • 练习
    1.获取两个数中的较大值
    	import java.util.Scanner;
    	class  B{
    		public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    			System.out.println("请输入第一个整数");
    			int num1=sc.nextInt();
    			System.out.println("请输入第二个整数");
    			int num2=sc.nextInt();
    			int max=add(num1,num2);
    			System.out.println("较大值是"+max);
    		}
    		public static int add(int a,int b){
    			int max=(a>b)?a:b;
    			return max;
    		}
    	}
    2.比较两个数是否相等
    	import java.util.Scanner;
    	class  A{
    		public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    			System.out.println("请输入第一个整数");
    			int num1=sc.nextInt();
    			System.out.println("请输入第二个整数");
    			int num2=sc.nextInt();
    			boolean c=add(num1,num2);
    			if(c){
    				System.out.println("两个数相等");
    			}else{
    				System.out.println("两个数不相等");
    			}
    		}
    		public static boolean add(int a,int b){
    			return a==b;
    		}
    	}
    
    
    • 方法的注意事项
    1.方法不调用不执行
    2.方法与方法是平级关系,不能嵌套定义
    3.方法定义的时候参数之间用逗号隔开
    4.方法调用的时候不用在传递数据类型
    5.如果方法有明确的返回值,一定要由return带回一个值
    
    
    • 方法输出星形及其调用
    	import java.util.Scanner;
    	class  B
    	{
    		public static void main(String[] args) {
    			Scanner sc=new Scanner(System.in);
    			System.out.println("请输入一个数");
    			int a=sc.nextInt();
    			tuXing(a);
    		}
    		public static void tuXing(int a){
    			for(int i=1;i<=a;i++){
    				for(int j=1;j<=i;j++){
    					System.out.print("*");
                    }
    				System.out.println();
    				}
    		}
    	}
    没有明确返回值调用
    	单独调用
    	输出调用(错误)
    	赋值调用(错误)
    
    • 方法重载概述和基本使用
    1.方法重载概述
    	在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同,与返回值无关。(只要它们的参数个数或者参数类型不同即可,注意,不拿返回值类型区分。)
    	参数列表不同:
    		A:参数个数不同
    		B:参数类型不同
    2.下列哪个答案与show不是方法重载( B )。
    class Demo {
    	void show(int a,int b,float c){}
    }
    A.void show(int a,float c,int b){}			
    B.void show(int x,int y,float z){}          //参数列表不同
    C.int show(int a,float c,int b){return a;} 
    D.int show(int a,float c){return a;}
    
  • 总结

    今天我们学习了循环语句,其中学了三种循环语句,还学习了循环语句与选择语句之间循环语句之间的嵌套,并且学习了控制跳转语句和方法的使用,希望大家下去以后可以多多练习

posted @ 2021-04-08 17:26  Jack+_+  阅读(362)  评论(1)    收藏  举报