数组

一、数组是什么?为什么使用数组?
比如要统计每位员工的工资,一个变量只能存储一个数据,要定义多个变量区分开储存,如果员工过多,太麻烦了
可以使用数组,数组是一个大的容器,一个数组可以存储多个数据
二、什么是数组?
数组和变量差不多,都是存放数据的,不同的是变量只能保存一条数据而数组可以保存多条数据,前提这个多条数据必须是同一类型
数组是引用数据类型
三、如何定义数组?
数组类型[]数组名;
如果定义好数组以后,必须要给数组进行初始化。
1.数组的初始化分为两种情况:
(1)动态初始化:指定数组的长度,一旦长度指定,就是数组只能存放多少数组
两种格式:
第一种:
数组类型[]数组名=new 数组类型[数组长度];
第二种:
数组名=new 数组类型[数组长度]
(2)静态初始化:不是指定长度,而是直接在初始化数组的同时给数组赋值
两种:
第一种:
数组类型[] 数组名=new 数组类型[]{数据1,数据2,…};
第二种:
数组类型[] 数组名;
数组类型=new 数组类型[]{数据1,数据2,…};
还有一种最简单的方式:
数组类型[] 数组名={数据1,数据2,…};

2.数组的长度一旦定义不可改变

四、数组中常见的异常:
数组越界异常:ArrayIndexOutOfBoundsException
Int[] a=new int[2];
System.out.println(a[2]=10);
空指针:NullPointerException
Int[] b=null;
System.out.println(b[0]);
数组遍历只有两种方式:for循环,foreach
五、数组分类
1.基本数据类型的数组
动态初始化数组以后,数组的元素都会赋予一个默认值
Byte 0
short 0
int 0
long 0
double 0.0
float 0
char 空格
boolean false

2.引用数据类型的数组
String 接口 自己定义的类…
引用数据类型的默认值为Null

六、Java中的内存是怎么进行分配的?
内存的申请和释放都是jvm进行管理的,java程序要运行,jvm会自动的向电脑申请一块内存,把这块内存分为五部分:
(1)栈(stack):主要存放局部变量
(2)堆(heap):凡是new出来的东西都在堆里面,堆当中的数据都有默认原则:整数 0
小数0.0 布尔false char空格 引用数据类型null
(3)方法区(method area):存放的是与.class相关的信息
(4)本地方法区(native method area):与操作系统相关
(5)寄存区(Register):与cup有关

七、冒泡排序
数组中的元素两两比较

口诀(升序)
n个数字来排序
两两比较小靠前
外层循环n-1
内层循环n-1-i

八、选择排序(了解)

九 多维数组
二维数组 数组中的数组
1.声明二维数组:
数据类型[][] 数据名;
第一个中括号:二维数组中有几个一维数组 行
第二个中括号:每一个数组中有多少个元素 列
2.初始化:静态初始化,动态初始化

十、什么是方法?
方法就是把一堆需要反复执行的业务逻辑代码封装起来,如果程序需要使用这段代码的时候,我们直接调用方法即可,就不需要反复的去写重复的代码了。
好处:提高代码的重用性,维护性,可读性好,执行效率高

可以把方法比喻成一个榨汁机
材料:水果
产出物:果汁

映射到java程序中:
材料(参数):进入方法的数据
产出物(返回值):方法根据参数处理后的结果0

十一、怎么定义一个方法?
访问修饰符[static]方法的返回值类型 方法名(形参列表){
逻辑代码块;
Return 返回值;
}
1.访问修饰符(权限修饰符)
Public:公共的,在当前项目下的任何地方都可以访问
Private:私有的,能在当前类下面访问
Protected:受保护的,在同一个包或者其他派生类中可以访问
Default:缺省,只能在当前包下面进行访问
2.方法返回值类型:方法执行完成以后最终产生的结果是什么类型
3.方法名
定义自己的名字,首字母小写,驼峰式命名法,getstudentbyid
4.形参列表:有多个形参组成的列表(int 啊,int b)
形参:用于接收调用者实际传过来的数据
5.return:
(1)把方法最终处理的结果返回给调用者(2)结束当前方法
注意:返回的数据类型必须要和返回值类型一致
无返回值的方法:
方法执行一些操作,没有把执行结果返回给调用者,只是执行了方法的方法体

访问修饰符[static] void 方法名(形参列表){
方法体;
return;可写可不写,一般不写
}

十二、参数传递:调用者在调用方法的时候,向方法内传入数据的一系列动作
形参:在【定义】方法的时候,写在小括号里面的参数,作用接受调用者传递的数据
Public, static,int,sum(int a,int b)//形参

实参:在【调用】方法的时候,真正传递到方法的数据
Int result=sum(10,20);//实参

参数传递,有两种类型
基本数据类型(以及string):形参的操作不会影响实际的参数
引用数据类型(除了string以后):形参的操作会影响实际的参数

十三、对于类似累加的操作,应为形参列表不同,所以定义了多个方法名
弊端:
1.麻烦
2.代表调用者需要记住多个方法名,如果方法名过多,有可能出现调用错误的情况

3.可不可以把这些类似的操作起一个方法名?
可以,使用方法重载
4.什么是方法重载?
方法名必须相同,参数列表必须不同
5.什么是参数列表?
1)参数列表的个数不同
2)参数类型不同
3)参数类型的顺序不同
注意:方法重载和返回值类型无关

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值