java学习笔记(day06)

0x00 数组

1.获取数组内数据

直接打印数组名称,得到的是数组对应的内存哈希值。

访问数组元素的格式:数组名称【索引值】
索引值:就是一个int数字,代表数组当中元素的编号。
【注意】:索引值从0开始,一直到“数组长度-1”为止。

2.访问数组元素进行赋值

使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
如果是整数类型,那么默认为0;
如果是浮点类型,那么默认为0.0;
如果是字符类型,那么默认为'\u0000';
如果是布尔类型,那么默认为false;
如果是引用类型,那么默认为null。

注意事项:静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。

3.Java中的内存划分

Java的内存需要划分为5个部分:

  1. 栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。
    局部变量:方法的参数,或者是方法()内部的变量。
    作用域:一旦超出作用域,立刻从栈内存当中消失。
  2. 堆(Heap):凡是new出来的东西,都在堆当中。
    堆内存里面的东西偶读有一个地址值:16进制
  3. 方法区(Method Area):存储.class相关信息,包含方法的信息。
  4. 本地方法栈(Native Method Stack):于操作系统相关。
  5. 寄存器(pc Register):与CPU相关。

4.数组索引越界异常

如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界一场。
简单点来说,就是数组的索引编号写错了。

5.空指针异常

PS:所有的引用类型变量,都可以赋值为一个null,但是代表其中什么都没有。

数组必须进行new初始化才能使用其中的元素。如果只是赋值了一个null,没有进行new创建,那么将会发生空指针异常。
原因:忘了new。
解决:补上new。

6.获取数组长度

如何获取数组的长度,格式:
数组名称.length

根据上面的方式,会得到一个Int数字,代表数组长度。

数组一旦创建,程序运行起见,长度不可改变。

7.数组的遍历输出

数组遍历,说的就是对数组当中的每一个元素进行逐一、挨个儿处理。默认的处理方式就是打印输出。

还可以利用数组的长度来进行循环输出。

8.数组元素的反转

数组元素的反转:
本来的样子:【1,2,3,4】
之后的样子:【4,3,2,1】

要求不能使用新数组,就永远原来的唯一一个数组。

  1. 数组元素的反转,其实就是对称位置的元素交换。
  2. 通常遍历数组用的是一个索引,现在表示对称位置需要两个索引。
  3. 交换两个变量。
  4. 当最大和最小值相同时,停止交换;当最小值大于最大值的时候,停止交换。

9.数组作为方法参数/方法返回值

数组可以作为方法的参数。
当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。

一个方法当中可以有0、1、多个参数,但是只能有0或者1个返回值,不能有多个返回值。
如果希望一个方法当中产生了多个结果进行数据返回,可以使用一个数组作为返回值类型。

任何数据类型都能作为方法的参数类型,或者返回值类型。

数组作为方法的参数,传递进去的其实是数组的地址值。
数组作为方法的返回值,返回的其实也是数组的地址值。

0x01 面向对象

面向过程:当需要视线一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
面向对象:当需要视线一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事。

特点
面向对象思想是一种更符合我们思考习惯 的思想,他能将复杂的事情简单化,并将我们从执行者变成了指挥者。面向对象的预言中,包含了三大基本特征,即封装,继承和多态。

posted @ 2020-10-01 18:06  小明-o3rr0r  阅读(142)  评论(0编辑  收藏  举报