2021.12.14 对于JAVA数组在内存中的形态,JAVA封装性的理解与记录(大数据笔记5)

2021.12.14 对于JAVA数组在内存中的形态,JAVA封装性的理解与记录(大数据笔记5),第1张

2021.12.14 对于JAVA数组在内存中的形态,JAVA封装性的理解与记录(大数据笔记5)

P111-P121
while 循环的使用方法
(1)while(循环条件){运行主体}
(2)do{运行主体}while(循环条件)

*do while 与while的不同是 不论do while中的循环条件是否满足,都会执行一次运行主体,而 while循环不可以。
*while(true){} 运行效果和for(;;)有一样的运行效果,无限循环

P122-P137
关于break, continue, return的用法。

break:
可以用作跳出当前循环,结束switch-case结构的作用。
continue:
可以用作结束当此循环,跳过本次循环剩下的所有语句,但是不跳出循环。
return:
一般为方法的返回使用,如果方法为void返回类型可以用作结束方法。

*带标识的break和continue
break 和 continue默认执行距离目标最近的循环,我们可以通过条件标识的方式来指定break和continue的循环。

label for(){
    for(){
        break label;
        continue label;
        //这里break和continue的对象就是最外层循环,跳过了内层循环。
    }
}

P138-P146
数组:
(1)基础数据类型数组
(2)索引数据类型数组

数组创建格式:

静态创建:数据类型 + 名称 = new 数据类型[]{value};
String a = new String[]{"aaa", "bbb"};

动态创建: 数据类型 + 名称 = new 数据类型[len];
String a = new String[2];

检查数组的长度:arrayName.length;

数组创建的默认值:
数字、小数:0
boolean: false
String or reference: Null

P147-P159
多维数组:
静态创建:数据类型 + 名称 = new 数据类型[][]{value};
String a = new String[]{["aaa", "bbb"],["ddd", "vef"]};

动态创建: 数据类型 + 名称 = new 数据类型[len][];
String a = new String[2][];

*二维数组本质其实是一个一维索引数组,数据类型为数组的数组,所以第二个维度的长度不是必须定义的。

P160-173
查找算法:
线性查找(暴力查找)、二分法查找(binarySearch)
排序算法:
冒泡排序(BubbleSort):将当前第一位数值与下一位进行比较,大于交换位置,小于停止。
快速排序(Quick Sort)

*Array工具类 java.util.Arrays


P174-P198
面向对象:
C语言的编程是面向过程编程,而java的编程则是面向对象编程。
C语言的编程过程中没有类实例化对象这个过程, *** 作的的对象一般都是Pointer(指针)指向的物理地址,在内存上直接进行 *** 作,所以我们叫做面对过程编程。
而Java抛弃了pointer(指针)这个概念,将C语言中”过程“的 *** 作化作对象的功能,然后通过创造出来的对象来实现这些功能,顾名思义面对对象编程。

类和对象:
类是对一个对象的描述,对象的属性,拥有的方法都是类的表述范围。
对象是对一个类的实例化。

class person{

    int age = 23;
    Stirng name = "w";
    //field 类的属性

    public void f(参数){
        System.out.print("hhhh");
    }//方法
}

实例化类(创建对象):
person a = new person();

局部变量的定义:
声明在方法内、方法形参、代码块、构造器形参、构造器内的变量都是局部变量。
方法的权限:private, public, protect, 忽略

P199-218
匿名对象的使用:
new people().f();
*只能使用一次,之后无法使用

方法重载:
名称相同,参数类型,数目不同的方法。
public void f(int a){
    System.out.print("hhhh");
}

public void f(String b){
    System.out.print("hhhh");
}

*可变参数的方法:
可以输入不等数量的参数写法
public void t(Stirng ... str){}

*这种写法不能与同数据类型的数组同时使用,不构成方法重载。如果定义多个参数,多参数定义必须放在最后!
这种写法的本质其实就是将输入当作一个数据类型的数组,在过程中将数组每个值放入方法中运行。因此,会和数组参数重合,不构成方法重载。

参数的引用:
在方法中引入一个参数,如果参数类型是基础数据类型,则相当于创建基础数据类型的变量。
如果引入的是引用数据类型,则是创建索引指向相同的内存地址。

P219-P230
封装性概念的引入:
高内聚,低耦合
高内聚:类内部 *** 作可独立完成,无需外部帮助。
低耦合:仅暴露少量方法基于外部调用。

类的权限修饰符:
public, default(省略),private(仅作为内部类使用)
方法,属性,构造器修饰符:
private, public, defealt(省缺), protected

public 类内部,包内, 包外, 子类就有权限调用
protected 类内部, 包内,子类有权限调用
default 内部类, 包内有权限调用
private 仅类内部有权限调用


构造器的使用:
构造器格式:权限修饰符 + 类名称(){}
构造器的作用为初始化类,初始化类的属性。
*构造器支持不同的参数,支持方法重载。

JavaBean是指一类符合要求的JAVA 类:
1. 类的权限是public
2. 拥有无参数的构造器
3. 有属性且属性有对应的get() set()方法。

UML类图的介绍:
UML类图一般指对于类大体建构的简介,上方为类的属性,下方为类定义的方法。


 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5665063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存