JAVA自学-DAY02

JAVA进阶自学第二天

专升本在读三本计科专业。立志找到一份JAVA工作。

记录学习过程;学习时间大概6小时,作为对之前学习的内容一个复习;

-------------------------------------------------------------------------------------------------------------------------------

生产随机数

Math.random默认给的是[0 , 1)的随机数

生成[min , max]

Math.random()*(max - min + 1 ) - min

生成[min,max)

Math.random()*(max - min) - min

数组不能够直接打印

可以使用其他方法:Stream流 {}

可以用流程控制语句 for for-each

Arrays工具类的toString

打印二维数组:Arrays.deepToString()

数组的算法练习

线性法和中分法

排序的练习 1.冒泡排序 *2.快速排序*

Arrays工具类

Arrays.equals(属性1,属性2 ) 比较属性而不是地址值

Arrays.toString 将数组输出

Arrays.fill(数组 ,变量) 将变量填充

Arrays.sort(排序数组)

中分查找 Arrays.binarySearch(数组 ,找的量)

要看得懂异常

NullPointerException 空指针异常

ArrayIndexOutOfBoundsException 超出数组范围异常

String源码 (有点难 放到后面学习)

不要用==比较字符串是否相等,因为==比较的是地址值。应该用equals

数组的总结

数组概念:有不同的数组类型,集合框架(Set,Map,List)

数据储存的都是紧密排列的,有顺序的,可重复的。

一旦进行初始化,其长度就不能更改

一维数组的使用(重要):

1.数组的声明和初始化 列如:

int[] arr = new int[]{元素} 或者 先声明后添加数组 再或者 int[] arr = {元素}

2.调用数组的指定元素

arr[i] i 为下标;角标;index

3.数组的属性:length表示数组的长度

4.数组的遍历

数组遍历可以用很多方式

流程控制语句(for , for-each)。

5.数组的元素和默认初始值

初始值在前一天的内容有提起

6.数组的内存解析

在main()方法下:声明一个 int[] arr = new arr[] {1,2,3}

虚拟机栈:在main()栈帧中存放着arr变量,arr记录着实体地址值

堆:存放arr中的实体

二维数组的使用:(同上)

数组的常用算法:

最大值,最小值,求和,平均值等;数组元素的赋值,杨辉三角;

数组赋值,复制;扩容;缩容;反转;排序:冒泡排序,快速排序;查找:线性,中分;

Arrays工具类的使用

Arrays工具类

Arrays.equals(属性1,属性2 ) 比较属性而不是地址值

Arrays.toString 将数组输出

Arrays.fill(数组 ,变量) 将变量填充

Arrays.sort(排序数组)

中分查找 Arrays.binarySearch(数组 ,找的量)

数组中常见异常

NullPointerException 空指针异常

ArrayIndexOutOfBoundsException 超出数组范围异常

第二阶段——JAVA强大的面向对象

我的认为:之前编程都是面向过程,面向对象就是新建一个类,里面的内容还是面向过程,但是需要用到这个类只需要引用。这样做的好处就是节省主代码的观赏性,以及不引用时不会使用内存。

在这个类当中,可以新建成员变量

对象在创建时都会在堆中分配空间;且创造对象需要一个main方法作为入口

面向对象学习路线:

>Java类及类的成员:(重点)属性,方法,构造器;(熟悉)代码块,内部类;

>面向对象的特征:封装,继承,多态,(抽象)

>其他关键词的作用:this() , super() , package , import , static , final , interface , abstact等

类与对象

类:就是对一事物的抽象概念;如:人,动物

对象:实际存在的具体个体,也叫实例;某个人(我),某个动物(猫)

类的设计:类的属性(成员变量)

类的行为(成员方法)

面向对象的三步骤1.创建类,设计类的内部成员方法(method)及属性(field);

2.新建一个类的对象,列如 Phone p1 = new Phone();

3.通过对象声明类的方法和属性

对象内存解析:

main()下

栈:存放新建的对象;理解为:Phone p1 的 p1

堆:存放对象的属性以及方法

图形理解法

Person p1 = new Person();

Person p3 = p1; 则 p1, p3的地址值是相同的

类的属性

变量的分类

1.数据类型分,基本和引用

2.声明位置不同分;

在方法体外声明的就是成员变量;

在方法体内声明的就是局部变量;

如 public class Student{

String name; 成员变量

int age;

public void sayHello{

String info = "Hello" 局部变量

}

}

是否有默认值?

属性是一定有默认值的,不然无法调用

局部变量是没有默认初始值,需要赋值,不然报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值