Java 小白第四天

数组

1.动态定义方式
int [] a = new int[30]

数组类型
[数组的标识] 变量名称 = new 数组的类型[长度]

2.静态定义方式
int [] b = new int[]{0,1,2,3,4}

             {数组的元素}

通过这两种定义的方式,数组的长度一定是确定的

3.访问数组的元素

索引index 数组的下标 可以通过数组的下标去获取数组中的元素

数组的下标从0开始 index=length-1 下标=数组的长度-1
在这里插入图片描述

通过打印看到数组的内容:借助数组的工具类Arrays

可以使用Arrays.toString()把数组转换成字符串
以字符串的形式去显示数组的内容

数组动态定义时
如果数组是基本数据类型
那个元素都是基本数据类型,不是对象

如果声明的是引用数据类型的数组
那各元素都是对象,默认值为null

数组快速排序:Arrays.sort()

               sort排序 

排序

选择排序:将第一个元素和其他元素相比,如果第一个元素大于后面的元素就进行交换位置

思路:使用两层循环

 第一层循环用于表示第一个元素

 第二层循环用于表示后面的每一个元素

在这里插入图片描述

冒泡排序:相邻元素两两比较
在这里插入图片描述

反转排序:前面的元素和后面的元素进行交换,将数组逆序排列
在这里插入图片描述

插入排序
在这里插入图片描述

数组复制System.arraycopy()
在这里插入图片描述

二维数组:
结构上类似于表格

定义二维数组:int [] [] a = new int[2][3]{};
Int [] [] b = new int[][]{0,1}{1,2};
在这里插入图片描述

二维数组二次循环 输出

面向对象

这种模块化的思想(更贴近生活的思想) ------面向对象思想

模块化思想:

针对某一个业务逻辑的时候
,只需要考虑业务逻辑里面需要的业务流程即可
,与这个业务逻辑无关的模块,交给相应的人员去考虑。

模块化的这种思想:

模块与模块相独立
彼此之间不会产生直接的影响
松耦合关系

通过调用|访问这样的方式把各个模块连接在一起

利于维护
利于扩展

轻量级(更利于代码的重复利用) 较少代码冗余

什么叫对象

在Java语言中Object被看成是对象,是所有对象的主体

什么是类

从多个对象当中抽象出来的共同的特征 可以把这种特性 称之为类----class

通常在一个类中
一般以名词作为类的属性存在(成员变量)
以动词作为类的方法存在(成员方法)

所有被new关键字 创建出来的对象都是引用数据类型

构造方法

1.1 构造方法有哪些特性

l 构造方法的名称一定和类名相同

l 构造方法没有返回值

l 创建对象时构造方法被调用 Person p = new Person();

l 构造方法不能是静态的

构造方法:给对象进行初始化

关于构造方法的调用:

要根据方法的参数来决定调用相应的构造方法
在这里插入图片描述
存在和成员变量同名的变量时,用this

this关键字 当前类的引用

引用:引用指向哪个类,那么当前的引用指向的就是哪个类的对象

封装

正常去访问一个属性的时候 p.name这样的方式去进行访问
但是有些是比较的隐私,不能让其他类随意的访问

将name属性进行私有化,使用private关键字进行修饰
其他类对name这个属性就没有访问权限,但是又需要给某些类一个使用的权限,只能通过提供方法来解决这个问题
通过使用set和get方法来对name属性进行设置和获取。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值