第四天笔记
1.数组
概念:用来存放同一种数据类型的容器。
1.1 java中数组的定义:
数据类型[] 数组名 = new 数据类型[长度]
1.2数组的长度可以指定也可以不指定
int[] arr = new int[0];
1.3创建一个int类型的数组
arr : 是一个变量 只是数组的一个引用地址
局部变量存在栈中
成员变量 -- 属性 --- > 对堆区中
静态变量 --- > 共享区域
1.4 数组中的使用工具:Arrays
1.4.1 查找数组中是否还有某一个数,对应的索引位置
int result = Arrays.binarySearch(arr, num);
1.4.2 做排序
Arrays.sort(arr1);
for (int i = 0;i < arr1.length ;i++ )
{
System.out.println(arr1[i]);
}
1.5 java中数组一样存在多维 : 二维数组 ,三维数组,....
1.5.1 二维数组的定义 格式:
数据类型[][] 数组名 = new 数据类型[][];
(1)动态初始化:
数据类型[][] 数组名 = new 数据类型[][];
注意 :前面中括号中数值指的是二维数组元素个数 , 后面一个是指二维数组
中一维数组的元素个数。
(2)静态初始化:
数据类型[][] 数组名称 = {{元素1,..},{元素1,..},{元素1,..}};
注意:二维数组中的元素一定是一维数组。
例:
int[][] arr = new int[3][4];
arr[0][0] = 1;
int[][] arr1 = {{1,2,3},{2,3},{1,4}};
int num = arr1[2][1]; // 4
想要接收二维数组中的元素 : 需要用一个一维数组来接收。
int[] arr2 = new int[];
arr2 = new int[3]; // 定义了一个二维数组 ,数组中的元素维 初始化数组
int arr3[] = {}; 不推荐这样写。
总结:数组的特点
1.数组中只能存同一种数据类型的数据。
2.数组他会给存入的元素默认分配一个索引值 ,索引从0开始。
3.数组一旦初始化,长度就固定了。
4.数组中元素的内存地址是连续的。
2.面向对象
2.1 java也属于面向对象编程 :
2.1.1 面向对象的三大特征 : 封装,继承,多态。
2.2 类,对象。
对象 :真实存在的唯一的事物。
面向对象编程(oop)思想力图使对计算机语言中的事物的描述和自然中的事物
尽可能保持一致。
面向对象的核心 : 找到合适的对象做合适事情。
2.3 java中如何来找合适的对象:
1.sun已经指定好的类,通过定制好的类创建对象, 需要认识这些类。
2.自定义类 ,通过自定义类来创建对象。
2.4 类中包含 :
属性 ,方法。
2.4.1 类的定义格式 :
class 类名 {
属性(成员变量) : 描述事物的公共的特点。
方法 : 描述事物的行为 (做什么事情)
}
//通过自定义的类来创建一个对象
格式:
类名 对象名(变量名) = new 类名();
2.4.2 成员变量和局部变量额区别:
定义的位置 :
1.定义在类中,方法外。
2.局部变量是定义在方法中。
作用上:
1.成员变量是用来描述同一类事物(对象)的公共属性。
2.局部变量就是提供一个变量给方法使用
生命周期 :
1.成员变量随着对象的创建而创建,随着对象的消失而消失。
2.局部变量随着方法调用而创建,出了方法的作用域就消失。
初始值来区分:
1.成员变量,如果你没有赋值,它是有默认值的。
int 默认是0
float 默认是0.0f
double 默认是 0.0
boolean 默认 false
char 默认 ‘ ‘
String (引用类型)null;
2.局部变量:
局部变量是没有初始值的,必须初始化才能使用。
2.4.3 成员变量在当前类中是可以直接通过变量名来使用,如果变量需要在其他类中使用,就需要创建对象(目前是这个样子的
成员变量 : 作用范围是整个类中 ,如果需要在当前类中使用成员变量,直接拿到变量名就可以使用