Java基础(方法与数组)

一、方法:

(概念:什么是方法?)

可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体;(简单理解:一个设计好的功能代码块,可以反复使用)

(方法的作用:)

完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的

(方法的认识:)

结构:public static void main(String[] args){ }
具体分析:public static修饰符(修饰给予特殊意义)
Void 这里写的是返回值得类型;void代表没有返回值
Main 方法的名字
(String[] agrs)形式参数;String[] 数据类型 args形式参数的名字
(告诉函数的使用者,当你要使用函数的时候,应该给函数什么数据
对于函数的设计者而言:自己定义形式参数,完成函数功能的设计)
(形式参数: 本质没有值的;可以看成是有值的,在方法的内部完成功能的设计)

{} 方法的功能代码块(设计的代码都是放在这个代码块中的)

(方法的语法:)

返回值(如果这里要返回值,那么这里就是返回值得类型) 方法名字(数据类型 形式参数名字){ //形式参数不是必须的,根据需求设计的
}

(方法的使用:)

(使用方法的时候,要传入对应类型(对应形式参数中设计的数据类型)的数据)
【必须掌握的】
1.一个方法在同一个类中,直接使用方法名+参数列表【数据类型,个数,顺序】,调用
2.一个方法如果有static修饰:应该通过类名.方法名++参数列表【数据类型,个数,顺序】
3.一个方法如果没static修饰,应该通过对象名.方法名+参数列表【数据类型,个数,顺序】

(方法签名:)

方法名字+参数列表[类型,顺序,个数]
----->方便在使用一个类中的,一个方法的时候,确定到底使用的是哪个

(方法重载)

在同一个类中,方法名字相同,参数列表不同
方法名:见名知意:方便我们调用方法

(方法return)

概念:一个方法:使用完成之后,如果有结果值,返回给方法使用者[需要返回就设计返回]
注意事项:
1.一个方法设计:return的数据类型,必须与方法返回值的类型一致
2.一个方法:内部代码只看结构的,不看值的
注:(1)如果一个方法的返回类型不是void,那么要求[不管方法里面做了什么事情]
都必须返回一个和返回值类型匹配的值
(如果方法类型不是void,方法后面必须写上返回“return+值”)
(2)对于结构体语句中写返回值:编译检查语法,只看结构不看值:
结构体中写了返回值不一定执行的到,编译语法会不通过!

二、数组

	1.概念:

可以理解成在计算机中的多个连续的存储空间,里面可以按顺序存放多个类型相同的数据。

	2.语法结构:

数据类型[] 数组变量名 = new 数据类型[数组长度] (申明数组)

	3.数组的构成
  1. 数组名 : 数组的名字

  2. 数组元素 :就是存放在数组里面的数据

  3. 数组索引 :就是数组里面连续存储空间的编号,从0开始

  4. length :数组的属性长度 通过 数组名.length 可以拿到数组的长度

    使用: 存值:: 数组名[索引位置] = 值
    取值:: 数组名[索引位置]

    4.JVM存储数据分析:
    
  1. 堆:可以理解为凡是new 出来的东西都放在这里面,堆内存可以被虚拟机动态的分配内存大小,无需事先告诉编译器的数据的大小、生命周期等相关信息

  2. 栈:主要存放一些变量容器名 (例如局部变量名,还可以存放局部变量 基本类型 数据值),栈内存被要求存放在其中的数据的大小、生命周期必须是已经确定的
    图例:

      5.数组特点
    

1.数据类型限定了数组可以存放的数据类型
2.一个数组可以存储多个元素
3.一旦数组对象被创建好,那么其长度就固定不变了
4.动态创建好数组之后,会自动分配默认值,和数组中的元素类型有关(类似之前成员变量的默认值)

数组问题:
1) 数组索引越界【索引有哪些,索引的范围?(所有数组都有一个length属性)】
2) 空指针异常(没有指向数组)
3) 如果有返回值,不知道return写在哪里

6.数组的常用语法结构:

声明的同时赋值
数据类型 [] 数组变量名 = new 数据类型[] {多个以英文逗号分隔的数据};

数据类型[] 数组变量名 = {多个以英文逗号分隔的数据};

注:打印数组
可以想象成数组的遍历,将数组中的值都一一取出来

7.方法参数传递

1.值传递:
方法传递的是值
1.形式参数类型是基本数据类型
2.基本类型数据传递的是值
2.值引用:
方法传递的是值的引用
a) 形式参数类型是引用数据类型
b) 引用传递其实传的是地址,形式参数类型是引用数据类型或数组。
c) 实际参数(数据)是对象(或数组),这时实际参数与形式参数指向同一个地址
d) 在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。

注意:方法调用时,实际参数把它的值传递给对应的形式参数,相当于拷贝了一份值给形式参数, 所以方法执行中形式参数值的改变不影响实际参数的值。
a) 基本数据不影响原来的值
b) 引用数据不影响原来的地址值:

引用地址,引用的值,如果被改变,原来引用的的值所引用的值也会被改变,
因为都是同一个引用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值