package com.aaa.zxf; /** * 一、 普通java项目 导入测试类的方法。 * ideal 中 java 项目中导入测试类的方法 手动写入 * import org.junit.Test * * alt + ent 导入Junit 的工具包 。 */ import org.junit.Test; import java.io.Serializable; /** * 二、数组 * 1.数组的意义 * 数组是编程当中的容器类。用来存储数据。 * * 2.数组的存取与越界异常 * * 索引值? * 数组中的数据都会有一个编号称之为 索引值。 * * 索引从0开始 ,我们可以通过索引值来完成数据的存取。数组索引超出索引范围就会报数组越界异常 * ArrayIndexOutOfBoundsException * * 3.遍历数组 * * 4.对象数组 * * 三、封装 * 1.什么是封装 * 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口 * * 封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据, * 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 * 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。 * * 2.封装的作用 * ① 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。 * ②对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。 * * 3.封装的分类 * A 字段/属性的封装 (就是我们的数据模型类 我们将成员变量私有化 对外暴露 set和get方法) * B 功能函数的封装 (数组工具类的封装) * * */ public class JavaTest { public static void main(String[] args) { /** * 数组的创建方式 * * 数据类型 [] 数组名 = new 数据类型 [长度]。 * int [] arr = new int [5]; */ double [] doubles = new double[10]; // 创建一个有初始值的数组 注意! 小括号里面不能写长度。 int [] arr = new int []{1,5,6,8,9,10}; //创建数组。 int [] arr1= {1,5,6}; } /** * 索引值 */ @Test public void haha(){ int [] arr =new int [5]; // 1.给数组赋值 arr [0]=1; arr [1]=2; int a = arr [0]; System.out.println(a); //2. 修改数组中的值 覆盖的方式。 arr [0] = 12; int a1 = arr [0]; System.out.println(a1); } /** * 便利数组 * */ @Test public void bianLi(){ int [] arr = new int []{1,5,6,8,9,10}; for (int i = 0; i <arr.length ; i++) { int m = arr [i]; System.out.println(m); } } /** * 对象数组 */ @Test public void object(){ String [] strArr = new String[5]; // pepArr 对象数组中 存放people 对象。 People [] pepArr = new People[2]; People haha = new People(1, "哈哈"); People xix = new People(2, "嘻嘻"); pepArr [0] = haha; pepArr [1] = xix; System.out.println(pepArr [0]); } } class People implements Serializable { int age; String name; public People() { } public People(int age, String name) { this.age = age; this.name = name; } @Override public String toString() { return "People{" + "age=" + age + ", name='" + name + '\'' + '}'; } }