Day_06 二维数组和方法(很重要)

二维数组(了解)
二维数组: 在一维数组中存储的元素都是一维数组;

一维数组比作 一包烟 
二维数组比作 一条烟
二维数组的定义和初始化
二维数组的定义格式:
	数据类型[][] 数组名; //引用

动态初始化: 由程序员决定数组的长度(元素个数),JVM会根据数组的元素数据类型给与默认值
	数据类型[][] 数组名 = new 数据类型[m][n];
		// m : 二维数组中一维数组的个数 
		// n : 每一个一维数组中元素的个数
	 黄鹤楼烟[][] 一条烟 = new 黄鹤楼烟[10][20];

静态初始化: 由程序员决定数组每一个元素的具体值,JVM会自动计算数组的长度(元素个数)
    完整格式 : 数据类型[][] 数组名 = new 数据类型[][]{{1,2,3},{4,5},{6,7,8,9},...};
	简化格式 : 数据类型[][] 数组名 = {{1,2,3..},{4,5..},{6,7,8,9..},...};
二维数组的元素增删改查
特点: 数组一旦被定义长度不能发生改变

二维数组也没有增,删的功能

查:
	二维数组名[索引] : 获取二维数组中指定一维数组的地址值
	二维数组名[索引1][索引2] : 获取二维数组索引1位置的一维数组中索引2位置上的元素
	
	二维数组名.length : 获取二维数组中一维数组的个数
	二维数组名[索引].length : 获取二维数组中指定一维数组的元素个数
	
改:
	二维数组名[索引] =;//这个值必须是一个一维数组的地址值
	二维数组名[索引1][索引2] = 要修改的值;
二维数组的遍历
    //静态初始化二维数组
    int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
    System.out.println("arr = " + arr);//

    //遍历二维数组中第一个一维数组的元素
    for (int j = 0; j < arr.length; j++) {//遍历二维数组中一维数组个数
        for (int i = 0; i < arr[j].length; i++) {//遍历指定一维数组中的每一个元素
            System.out.println(arr[j][i]);
        }
    }
方法Method(重点)
方法: 封装了特定功能的代码块
	main方法: 
        public static void main(String[] args){
			//特定的功能
        }
	 public static void main(String[] args) : 方法的声明
	 
方法的出现:
	1. 提高代码的复用性
	2. 实现数据的传递
	
把方法比作生活中的机器!	
方法的定义格式
1. 无返回值无形参的方法定义
返回值 : 方法执行完毕后的结果
无返回值 : 方法执行完毕无结果  --> void

形参 : 调用方法时需要给方法提供的数据 (形参就是方法名后面小括号的内容)
无形参 : 调用方法时不需要给方法提供数据 

定义格式:
    public static void 方法名(){
        //方法体;(特定功能的代码)
    }
	格式解释:
	1. public static : 公共的静态的 adj. -> 今天你必须加上
	2. void : 代表方法无结果
	3. 方法名 : 命名规范-> 小驼峰
	4. () : 形参列表 -> 空的: 无形参 -> 调用方法时不需要传递数据
	5. {} : 封装特定功能的代码块
	
调用格式:
	方法名();
无参无返回值方法执行流程

请添加图片描述

2. 无返回值有形参的方法定义
定义格式:
    public static void 方法名(形式参数列表){
        //方法体;(特定功能的代码)
    }

格式解释:
	形式参数 : 形式上参与运算的数据
	列表 : 可以有多个
	
形式参数列表的的定义格式:
	(数据类型1 变量名1,数据类型2 变量名2 .....)

调用格式:
	方法名(实际参数);
	实参: 真实参与运算的具体数据
无返回值有形参方法调用流程图

请添加图片描述

有参无返回值方法内存图

请添加图片描述

3. 有参有返回值的方法定义(重要)
完成的方法定义格式:
    public static 返回值类型 方法名(形式参数列表){
        //方法体;(特定功能的代码)
        return 返回值;
    }

格式解释:
	返回值类型 : 用来约束方法返回值的数据类型 -> 方法结果的数据类型
		定义方法时把具体的数据类型替换这个板块 
	return : 结束方法 并 返回结果给调用者
    返回值 : 方法的结果 要求结果的数据类型必须和返回值类型一致
4. 有返回值无参数方法定义
    public static 返回值类型 方法名(){
        //方法体;(特定功能的代码)
        return 返回值;
    }
return
return : 结束方法,并把方法的结果返回给调用者
	有返回值方法 必须写return,return后面要跟上方法的结果
	无返回值方法 可以写return的 但是 return的后面不可以 接数据(返回值)
    
return 只可以返回一个结果,如果非要有多个结果返回,可以把多个数据装到容器中,返回容器!!    
形参和实参(重要)
形参: 形式参数
	位置 : 定义方法的小括号内
	作用 : 
		1. 形式上参与方法内的逻辑运算
		2. 接收调用方法时传入的实际参数 (要什么给什么,要多少给多少,怎么要怎么给)

实参: 实际参数
	位置 : 在调用方法的括号内
	作用 : 
		1. 具体参与运算的数据(变量/常量) -> 要和形参匹配
		2. 给形式参数赋值的
方法的调用格式
    无返回值方法: 只能直接调用
    有返回值方法:
        1. 直接调用 :  方法执行了,但是忽略了结果 --> 无意义
        2. 输出调用 :  可以在控制台看到结果 -> 有意义,但是不能对结果进行下一步操作
        3. 接收调用 : 返回值类型 变量名 = 方法名(实际参数); -> 推荐的调用方式
方法的注意事项
    方法注意事项 :
        1. 方法一定要定义在类中其他方法的外面;
        2. 方法名和变量名可以同名,因为方法和变量是不同的两个物种!
        3. 方法要先定义后使用!! 方法不调用不执行!!
        4. 当方法有形参,调用方法时给与实际参数
         	要什么给什么,要多少给多少,怎么要怎么给
    	5. 形参和实际参数的变量名不需要相同,主要关注 形参的个数,类型,类型顺序是否和实参给与的一样  
        6. 一个方法可以有多个return,但是只可能有一个return被执行
方法的重载(理解)
方法的重载 : Overload
	现象 : 你在一个类中,看到有多个同名的方法且不报错,那么我们称这个组方法出现了方法重载的现象!
        
    重载的前提:
        1. 必须在同一个类中
        2. 方法名必须相同
        3. 形式参数列表不同
            个数不同
            类型不同
            类型顺序不同
        4. 与返回值类型无关
        5. 与形参的变量名无关

    方法重载现象的出现是为了 调用者方便的调用方法的!!
        现阶段: 用的多,定义的少!

    如何调用重载方法?
        只需要传入正确的实际参数,JVM会根据传入的实际参数匹配最优的方法启动        
方法使用的经验
    1. 方法名是红的 : 说明没有这个方法!!
    2. 实参位置报错 : 实参给的不对!!
    3. 整个调用方法的语句都报错 : 调用方式出了问题
        无返回值方法: 只能直接调用
        有返回值方法:
            1. 可以直接调用
            2. 可以输出调用
            3. 可以赋值调用 √
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值