第二周学习记录之循环嵌套与方法

循环嵌套

for循环的嵌套:
	for循环语句作为循环体语句;
	for(初始化语句;条件表达式;步长语句){
		//循环体语句
		for(初始化语句;条件表达式;步长语句){
			循环体语句;
		}
	}

举例:

控制台输出:四行五列的*
*****
*****
*****
*****

方式1:

class ForForDemo{
	public static void main(String[] args){
		//最原始的做法:四个输出语句
		System.out.println("*****") ;
		System.out.println("*****") ;
		System.out.println("*****") ;
		System.out.println("*****") ;
	}
}

方式2:
对于此类问题,可以应用for循环嵌套解决,两层循环,外层控制行数,内层控制列数.

class ForForDemo{
	public static void main(String[] args){
		//进行for循环的嵌套
		//x = 0,1,2,3
		for(int x = 0 ; x < 4 ; x ++){ //外层循环控制行数
		
			for(int y = 0 ; y < 5; y ++) {//y=0,1,2,3,4   内层循环在控制列数
				System.out.print("*");
			}
			System.out.println() ;
		}
		
	}
}

跳转控制语句

break

break表示结果,中断的意思,并且单独使用时没有意义,只有在循环语句或者switch语句中才使用
break应用场景:只能switch语句或者循环语句中使用!
情况1:中断结束单层循环
情况2:中断结束多层循环(早期使用)

			什么标签语句:给外层或者内层循环起标签名称
					标签名称:for(初始语句;条件表达式;步长语句){
						标签名称:for(初始语句语句;条件表达式;步长语句){
							循环体语句;
						}
					}
class BreakDemo{
	public static void main(String[] args){
		//break ; // 在 switch 或 loop 外部中断
		//写一个循环for
		for(int x = 0 ; 	; x ++){
			
			//加入一个判断
			if(x == 2){
				break ; //结束循环语句了
			}
			System.out.println(x) ; //0,1
		}
		System.out.println("---------------------");
		
		//3行4列的*  
		wc:for(int x = 0 ; x <3 ; x ++){//行数
			nc:for(int y = 0 ; y < 4 ; y++){//列数
			
				if(y == 2){
					//break 标签名称;
					//break wc ; 
					//结束外层循环 (当前输出第一行的时候,到第二列的时候结束for循环)
					break nc ;
				}
				System.out.print("*");
			}
			System.out.println() ;
		}
	}
}

continue

continue表示继续,目的是结束当前循环,立即进入下一循环,它单独使用时没有意义,在循环中使用

class ContinueDemo{
	public static void main(String[] args){
		for(int x = 0 ; x < 10 ; x ++){
			if(x ==3){
				//break ;
				continue; //结束当前循环,立即进入下一次循环
			}
			System.out.println(x) ;//0,1,2,4
		}
		System.out.println("你好啊,JAVA") ;
	

return

return一般是结束方法使用的,很少单独使用
结合方法使用的时候,具体返回结果

class ReturnDemo{
	
	public static void main(String[] args){
		
		for(int x = 0 ; x < 10 ; x ++){
			if(x == 2){
				System.out.println("退出") ;
				//break ;
				//continue;
				return ; //结束方法
			}
			System.out.println(x) ; //0,1,"退出"
		}
		
		System.out.println("再见了,java...") ;
	}
}

方法

方法:使用{}包起来的内容,给{}独立的代码块起一个名字,以便于复用
格式:

情况1:有具体返回值类型的方法定义
	权限修饰符 静态修饰符  返回值类型  方法名(数据类型1 变量名1,数据类型2 变量名2,......){
			业务内容;
			
			return 结果;
	}
	
	解释以上这个格式:
	
	权限修饰符: public  公共的,公开的,访问权限最大的
	静态修饰符: static (面向对象部分重点讲static关键字) 固定写法
	返回值类型:数据类型(目前基本数据类型)
	方法名:给{}代码块起一个名字,方法名要遵循"见名知意",(符合标识符的规则)
	形式参数:
		数类类型:数据类型(目前基本数类型)
		变量名:要符合标识符的规则(起名字)
		
	return:表示结束方法,调用方法的时候,给具体的返回结果; 如果没有return,报错!

调用方法(目前调用方法是在main方法中调用)
单独调用: 无意义,没有输出结果
输出调用:(没有问题的,但是直接去使用了,不利于后期对该结果操作)
赋值调用:(推荐的)

class FunctionDemo{
	public static void main(String[] args){
		//实际参数
		int a = 10 ;
		int b = 20 ;
		//调用getSum(实际参数)方法
		//单独调用
	//	getSum(a,b) ;  //没有意义
	
	//输出调用(没有问题的,但是直接去使用了,不利于后期对该结果操作)
	//System.out.println(getSum(a,b)) ;
	
		//赋值调用(推荐方式)
		int result = getSum(a,b); 
		System.out.println("两个数据之和是:"+result) ;
	}
	/*
	权限修饰符 静态修饰符  返回值类型  方法名(数据类型1 变量名1,数据类型2 变量名2,......){
			内容;
			return 结果;
	}
	
	定义方法的时候:两个明确
		1)明确返回值类型 int类型
		2)明确参数类型以及参数格式
				两个参数int类型
	*/
	public static int getSum(int x,int y){//形式参数列表
		//求x,y的和
		int result = x + y ;
		return result ;
	}	
}

情况2:没有具体返回值类型的方法定义
定义格式:

	修饰符(public static)  返回值类型 方法名(参数类型1 变量名1,参数类型2 变量名2....){
			要么输出结果要么相关其他业务功能 ,没有return关键字
	}
	Java中针对没有具体返回值类型的方法的定义,要遵循方法的格式,提供一个关键字void 来代替返回值类型
	public static void 方法名(参数类型1 变量名1,参数类型2 变量名2....){
			业务操作; 一般情况都是直接输出
	}
//在控制台输出5行5列的*形 
class FunctionDemo3{
	public static void main(String[] args){
		//for循序的嵌套
		for(int x = 0 ; x < 5 ; x ++ ){ //控制行数
			for(int y = 0 ; y < 5 ; y++){//控制列数
				System.out.print("*") ;
			}
			System.out.println() ;
		}
		System.out.println("-------------------------");
		//单独调用(只能这样调用!)
		printStar(5,6) ;
		//输出调用
		//System.out.println(printStart(7,8)) ; 存在问题:没有具体返回值类型的方法不能输出调用
		//赋值调用
		//void v = printStar(7,8) ; 非法的表达式开始void ,没有改数据类型,Java语法校验(检测没有具体返回值类型,使用void代替了)
		//System.out.println(v) ;
		System.out.println("-------------------------");
		printStar(7,8) ;
	}
	//使用方法调用
	public static void printStar(int m,int n){
		for(int x = 0 ; x <m ; x ++){
			for(int y = 0 ; y <n ; y ++){
				System.out.print("*") ;
			}
			System.out.println() ;
		}
	}
	
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值