数组和方法
方法
-
方法的含义
- 方法是用来进行代码优化的一种方式。
- 可以将一段由多个逻辑组成的复杂代码,拆分成具有单一多集的多个代码块。
- 每个代码块就是一个方法,方法可以被多次调用。
-
方法三要素
- 方法名:方法的名称,用来描述方法的功能。通常使用动词描述,见名知意。
- 参数:方法被调用的先决条件,参数准备好后方法才能被调用。可以为空。
- 返回值:方法被调用后返回给调用方的结果。使用return返回该结果。可以没有返回值,使用void声明。
//有参数和返回值的方法 public int add(int num1,int num2){ return num1 + num2; } //无参数和返回值的方法 public void menu(){ System.out.println("欢迎使用系统"); System.out.println("1、注册"); System.out.println("2、登录"); System.out.println("3、退出"); }
-
值传递和引用传递
- 形参和实参
- 基本类型时值传递(数值拷贝)
- 引用类型时引用传递(地址拷贝)
- 本质:内存栈中的值的拷贝
import java.util.Scanner; public class Test { public static void main(String[] args) { int i = 10; change(i); System.out.println(i);//10 String str = "a"; change(str); System.out.println(str);//a String是常量 StringBuffer sb = new StringBuffer("a"); change(sb); System.out.println(sb);//ab int[] nums = new int[5]; change(nums); System.out.println(nums[0]);//10 } public static void change(int i){//传数值 i+=100; } public static void change(String str){//传地址 新开辟空间 str += "b"; } public static void change(StringBuffer sb){//传地址 不新开辟 sb.append("b"); } public static void change(int[] nums){//传地址 不新开辟 nums[0] = 10; } }
数组
-
数组的含义
- 使用数组可以使用一个变量存放大量相同的数据,这样可以节省变量的声明个数。
- 数组在内存中开辟连续的空间来存放数据。
- 数组使用下标来定位数据,例如:names[2] = "david"。
-
一维数组
-
数组定义:
- 数据类型 标识符[ ] = new 数据类型[大小];
int[] nums = new int[5];
- 数据类型 标识符 [ ] = {值 1,值 2,…值 N} ;
int[] nums = {1,2,3,4,5}
-
数组的使用:
- 声明数组
- 分配空间
- 元素赋值
- 取值,处理数据
-
数组的存储:
-
-
数组一般都是使用for来操作。
-
二维数组
-
本质是一维数组中存入另一个一维数组。
-
int stuScore = new int[5][3]; -- 五个学生的三门课程。
-
也可以这样声明:int stuScore = new int[5][]; --只声明一维 (列向量长度可以不一样)
public class Test{ public static void main(String[] args) { int [][]a = {{1,2,3},{1,2},{1}}; System.out.println(a[0].length);//3 System.out.println(a[1].length);//2 System.out.println(a[2].length);//1 } }
-
二维数组使用双重for循环操作。
-