一、方法
1.方法有返回值和无返回值的区别
2.使用方法时的注意事项
①方法应该定义在类中,但是不能在方法中再定义方法。不能嵌套。
②方法定义的前后顺序无无所谓。
③方法定义之后不会自动执行,如果希望执行,一定要调用;单独调用、打印调用、赋值调用。
④如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
⑤return后面的返回值数据,必须和方法的返回值类型保持一致。
⑥对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
⑦对于void方法当中的最后一行return可以省略不写。
⑧一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
3.方法重载
方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。 参数列表:个数不同,数据类型不同,顺序不同。 重载方法调用:JVM通过方法的参数列表,调用不同的方法。 方法重载与下列因素相关: 1)参数个数不同 2)参数类型不同 3)参数的多类型顺序不同 方法重载与下列因素无关: 1)与参数的名称无关 2)与方法的返回值类型无关 二、数组 两种常见的初始化 动态初始化(指定长度):在创建数组的时候直接指定数组中存放元素的个数。 静态初始化(指定内容):在创建数组的时候不直接指定数组长度,而是将具体的数据内容进行指定。 1.数组的定义 方式(一) 动态初始化 格式:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];数组定义格式详解: 数组存储的数据类型: 创建的数组容器可以存储什么数据类型。 [] : 表示数组。 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。 new:关键字,创建数组使用的关键字。 数组存储的数据类型: 创建的数组容器可以存储什么数据类型。 [长度]:数组的长度,表示数组容器中可以存储多少个元素。 注意:数组有定长特性,长度一旦指定,不可更改。 举例:定义可以存储3个整数的数组容器,代码如下:
int[] arr = new int [3];静态初始化 方式(二) 格式:
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[] {元素1, 元素2,...}; 另外,此格式也可以分为两部分: 数组存储的数据类型[] 数组名字; 数组名字 = new 数组存储的数据类型 {};举例:定义存储1,2,3,4,5整数的数组容器。
int[] arr = new int [] {1,2,3,4,5};方式(三) 格式(省略格式):
数组存储的数据类型[] 数组名字 = {元素1, 元素2,...};举例: 定义存储1,2,3,4,5整数的数组容器
int[] arr = {1,2,3,4,5}Java虚拟机的内存划分: 1.栈(stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。 局部变量:方法的参数,或者是方法{}内部的变量。
作用域:一旦超出作用域,立刻从栈内存当中消失。
2.堆(Heap):凡是new处理的东西,都在堆当中。 堆内存里面的东西都有一个地址值:16进制。 堆内存里面的数据,都有默认值。规则: 如果是整数 默认为0 如果是浮点数 默认为0.0 如果是字符 默认为'\u0000' 如果是布尔 默认为false 如果是引用类型 默认为null 3.方法区(Method Area):存储.class相关信息,包含方法的信息。 4.本地方法栈(Native Method Stack):与操作系统相关。 5.寄存器(pc Register):与CPU相关。 一个数组的内存图
两个数组的内存图
两个引用指向同一个内存数组
2.数组索引越界异常
3.空指针异常 4.获取数组的长度 数组一旦创建,程序运行期间,数组长度不可改变 5.数组作为方法参数和返回值 数组作为方法参数传递,传递的参数是数组内存的地址。 数组作为方法的返回值,返回的是数组的内存地址。一个方法可以有0、1、多个参数;但是只能有0或者1个返回值,不能有多个返回值。
如果希望一个方法中返回多个结果数据,怎么办?答:使用一个数组作为返回值类型即可。
标签:存储,return,数据类型,新学,数组,Java2,返回值,方法 From: https://www.cnblogs.com/shuxin1125/p/16804343.html