
Java基础
文章平均质量分 69
一点点星辰
这个作者很懒,什么都没留下…
展开
-
1. 数组
文章目录1.一维数组2.二维数组1.一维数组1)数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并同过编号的方式对这些数据进行统一管理。2)一维数组的声明和初识化。int[] arr = new int[]{1,2,3,4}; //静态初始化:数组的初始化和数组元素的赋值同时进行String[] arr1 = new String[2]; //动态初始化:数组的初始化和数组元素的赋值分开进行arr1[0] = "hi";arr1[1] = "hello";原创 2022-01-11 14:50:37 · 173 阅读 · 0 评论 -
2. 数组中涉及的常见算法
文章目录1. 数组的赋值(杨辉三角)2.求数组最值3.数组的复制4.数组的反转5.数组的查找(线性和二分法)6.冒泡排序法7.快速排序法8.堆排序法9.归并排序法1. 数组的赋值(杨辉三角)使用二维数组打印一个10行杨辉三角。1)每一行有1个元素,第n行有n个元素2)每一行的第一个元素和最后一个元素都是13)从第三行开始,对于非第一个元素和最后一个元素的元素,即yanghui[i][j] = yanghui[i - 1][j - 1] + yanghui[i - 1][j]代码://1.对数原创 2022-01-11 16:07:56 · 262 阅读 · 0 评论 -
3. Arrays工具类中部分方法
文章目录1. Arrays工具类中部分方法1. Arrays工具类中部分方法1)boolean equals(int[] a,int[] b)方法:判断两个数组是否相等。int[] arr1 = new int[] {1,2,3,4};int[] arr2 = new int[] {1,3,2,4};boolean isEquals = Arrays.equals(arr1,arr2);System.out.println(isEquals);2)String toString(int[]原创 2022-01-11 17:20:43 · 214 阅读 · 0 评论 -
4. 数组中常见异常
文章目录1.数组角标越界(ArrayIndexOutOfBoundsException)2.空指针异常(NullPointerException)1.数组角标越界(ArrayIndexOutOfBoundsException)int[] arr = new int[] {1,2,3,4};//System.out.println(arr[5]);//数组角标越界异常//System.out.println(arr[-2]);//数组角标越界异常2.空指针异常(NullPointerExcepti原创 2022-01-11 16:38:34 · 140 阅读 · 0 评论 -
5.面向对象
文章目录1.面向过程和面向对象的理解2.类和对象的理解3.类和对象的创建4.属性与局部变量的对比5.类中方法的使用6.面向对象的知识概念7.理解“万事万物皆对象”8.对象数组的内存解析9.匿名对象10.重载(overLoad)11.可变形参个数的方法12.变量赋值13.值传递机制1.面向过程和面向对象的理解1)二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。2原创 2022-01-15 17:02:48 · 94 阅读 · 0 评论 -
6.递归方法
1.递归方法1)递归方法:一个方法体调用它自身。2)方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。3)递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。用普通方法和递归方法计算1-100之间的所有自然数的和public class RecursionTest { public static void main(String[] args) { //普通方法计算1-100之间所有自然数的和 int sum = 0; for(int原创 2022-01-13 16:30:53 · 3546 阅读 · 0 评论 -
7. 面向对象(封装性)
文章目录1.封装性的引入2.构造器的基本理解3.JavaBean4.this关键字5.package关键字的使用6.import关键字的使用1.封装性的引入1)问题引入:当我们创建一个类的对象后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能再属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:setLegs()),同时,我们需要避原创 2022-01-13 16:59:04 · 1188 阅读 · 0 评论 -
8.面向对象(继承性)
文章目录1.继承的使用2.方法的重写3.super关键字4.子类实例化的全过程1.继承的使用1)继承的好处:①减少了代码的冗余,提高了代码的复用性。②便于功能的扩展。③为之后多态性的使用,提供了前提。2)继承的格式:class A extends B{}A:子类、派生类、subclassB:父类、超类、基类、superclass①一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类原创 2022-01-15 15:48:02 · 230 阅读 · 0 评论 -
9.面向对象(多态性)
文章目录1.多态性的使用2.虚拟方法调用3.向下转型的使用4.13.继承成员变量和继承方法的区别5.Object类6.==运算符的回顾7.equals()的使用8.toString()的使用9.单元测试方法的使用1.多态性的使用1)理解多态性: 可以理解为一个事物的多种形态。2)何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)。3)多态的使用: 虚拟方法调用。有了对象的多态以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类原创 2022-01-16 11:16:32 · 991 阅读 · 0 评论