我在上海乐字节学习Java的第四天

数组的定义
数组时相同类型数据的有序集合。
数组描述的是相同类型的若干个数据,按照一定的先后次序排列而成的
其中,每个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们
数组的声明与创建
首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法
int[] num;//首选方法 int num[];//效果相同,但不是首选方法

  • 1
  • 2

java语言使用new操作符来创建数组,语法如下:
int[] nums = new int[10];

  • 1

数组的元素是通过索引访问的,数组索引从0开始
可通过array.length方法来获取数组长度
三种初始化
静态初始化
int [] num = {1,2,3,4,5}; Man[] mans = {new Man(1,1),new Man(2,3)};

  • 1
  • 2

动态初始化
int [] num = new int[10]; num[0]=1; num[1]=2;

  • 1
  • 2
  • 3

数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化
数组的四个基本特点
其长度是确定的,数组一旦被创建,他的大小就是不可以改变的。
其元素必须是相同类型,不允许出现混合类型
数组中的元素可以是任何数据类型,包括基本类型和引用类型。
数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中。
数组边界
下表的合法区间:[0.length-1],如果越界就会报错;
public static viod main(String[] args){ int[] num = {1,2,3,4,5}; System.out,println(num[5]); //会报错 }

  • 1
  • 2
  • 3
  • 4
  • 5

小结:

数组是相同数据类型(数据类型可以为任意类型)的有序集合
数组也是对象。数组元素相当于对象的成员变量
数组长度是确定的,不可变的,如果越界,则报错;
数组使用
普通的For循环
For-Each循环
数组作方法入参
数组作返回值
Arrays类
数组的工具类java.util.Arrays
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类供我们使用,从而可以对数据对象进行一些基本的操作。
查看JDK帮助文档
Arrays类中的方法都是static修饰的静态方法,在使用的时候就可以直接使用ll类名进行调用,而不用使用对象来调用(注意:是不用而不是不能)
具有以下常用功能

给数组赋值:通过fill方法
对比数组排序:通过sotr方法,按升序。
比较数组:通过equals方法比较数组中元素是否相等
查找数组元素:通过binartSearch方法能对排序好的数组进行二分查找发操作。
面向过程&面向对象
面向过程思想

步骤清晰简单,第一步做什么,第二部做什么。
面对过程适合处理一些较为简单的问题
面向对象思想

物以类聚,分类的思维模式,思考问题首先解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思考
面向对象适合处理复杂的问题,适合处理需要多人协作的问题
什么是面向对象
面向对象编程{oop}
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
抽象
三大特性

封装
继承
多态
从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的。是对对象的抽象
从代码运行的角度考虑是现有类后又对象。类是对象的模板
回顾方法及加深
方法的定义

修饰符
返回类型
break:跳出switch,结束循环和return的区别
方法名:注意规范就ok,见名知意
参数列表:(参数类型,参数名)
异常抛出:
方法的调用:递归

静态方法
非静态方法
形参和实参
值传递和引用传递
this关键字
类与对象的关系
类是一种抽象的数据累心,他是对某一类事物整体描述/定义,但是bb并不能代表某一个具体的事物

动物、植物、手机、电脑
Person类、Pet类、Car类等、这些类都是用来描述、定义某一类具体的事物应该具备的特点和行为
对象是抽象概念的具体实例

张三就是人的一个具体实例,张三家里的旺财就是狗的一种实例
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
创建与初始化对象
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对垒中构造器的调用
类中的构造器也称为构造方法,实在进行创建对象的时候必须要调用的。并且构造器有以下两个特点

1.必须和类的名字相同
2.必须没有返回类型,也不能写void

猜你喜欢

转载自blog.csdn.net/dirft_lez/article/details/109214285