java中的数组 和 封装
2024-09-06 16:02:48
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 + '\'' +
'}';
}
}
最新文章
- Code Complete 笔记—— 第一章
- serialVersionUID, ObjectInputStream与ObjectOutputStream类,Serializable接口,serialVersionUID的作用和用法
- ubuntu 清除缓存
- Jira-Clone与发邮件的使用
- linux bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C
- 转:pthread_detach()函数
- mysql 安装配置
- linux-head
- 论文笔记(7):Constrained Convolutional Neural Networks for Weakly Supervised Segmentation
- 基于netty的socket服务端触发了channelInactive方法,但实际连接没有断开的问题
- python数据库多字段插入
- Oracle中查看SQL语句的索引命中情况及CPU占用
- 阿里云短信验证使用(PHP)
- eclipse中修改maven本地仓库方式
- rn下的弹性布局
- SQL特殊字符转义
- Codeforces 1102F Elongated Matrix 状压dp
- sonar自定义规则
- Linux基础三(软件安装管理)
- 如何让你的.vue在sublime text 3 中变成彩色?
热门文章
- Oracle VirtualBox 配置宿主机与虚拟机互访
- Now冥想:崩溃服务和性能服务助力提升应用质量
- Cube 技术解读 | Cube 小程序技术详解
- 【ElasticSearch】异常 Request cannot be executed; I/O reactor status: STOPPED
- 【】JSON介绍
- Notepad++插件Base64编解码
- nginx中请求大小的限制的设置
- 官方文档粗读 - Tutorial
- java 封装 总结
- 基于CentOS6.5-Hadoop2.7.3-hive-2.1.1安装sqoop1.4.7