后台
一只老黄牛
这个作者很懒,什么都没留下…
展开
-
面向对象-package+import
/* * 一、Package关键字的使用 * 1.为了更好的实现项目中类的管理,提供包的概念; * 2.使用package声明类或接口所属的包,声明在源文件的首行; * 3.包:属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意” * 4.每"."一次,就代表一层文件目录。 * * 补充:同一个包下,不能命名同名的接口、类 * 不同的包下,可以命名同名的接口、类 * * 二、import关键字的使用 * 1.在源文件中显示的使用import原创 2021-04-30 18:33:16 · 98 阅读 · 1 评论 -
面向对象-this关键字
/* * this关键字的使用: * 1.this可以用来修饰:属性、方法、构造器 * 2.this修饰属性和方法: * this理解为:当前对象 或 当前正在创建的对象 * * 2.1 在类的方法中,我们可以使用"this.属性"或"this。方法"的方式,调用当前对象属性或方法,但是, * 通常情况下,我们都选择省略“this.”。 * 特殊情况下,如果方法的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表明此变量 * 是属性,而非形参。原创 2021-04-28 20:26:31 · 129 阅读 · 0 评论 -
面向对象-JavaBean可重用组件
/* * JavaBean是一种Java语言写成的可重用组件 * * 所谓JavaBean,是指符合如下标准的Java类: * 类是公共的; * 有一个无参的公共的构造器; * 有属性,且有对应的get、set方法 */public class CustomerTest { private int id; private String name; public CustomerTest() { } public void setId(int i) { id =原创 2021-04-28 20:25:54 · 214 阅读 · 0 评论 -
面向对象-构造器
/* * 构造器(或构造方法、Constructor)的使用 * construct:建设、建造 * * 一、构造器的作用: * 1.创建对象 * 2.初始化对象的信息 * * 二、说明 * 1.如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器 * 2.定义构造器的格式:权限修饰符 类名(形参列表){} * 3.一个类定义的多个构造器,彼此构成重载 * 4.一旦显示的定义了构造器之后,系统就不再提供默认的空参构造器 * 5.一个类中至少会有一个构造器 *原创 2021-04-28 20:25:04 · 101 阅读 · 0 评论 -
面向对象-封装与隐藏
/* * 面向对象的特征之一:封装与隐藏 * * 一、问题的引入 * 当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。 * 这里,赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是, * 在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时 * 体现,我们只能通过方法进行限制条件的添加。(比如:setLegs()),同时,我们需要避免用户再 * 使用“对象.属性”的方式对属性进行赋值,则需要将属性声原创 2021-04-28 20:24:30 · 217 阅读 · 0 评论 -
面向对象-重载与可变参数,值传递与递归方法
/* * 1.什么是方法重载? * “两同一不同”:同一个类、相同方法名;参数列表不同 * 如何调用确定的方法:方法名->参数列表 * 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。 * * 2.说明Java方法中参数传递机制的具体实现? * 基本数据类型:数据值 * 引用数据类型:地址值(含变量的数据类型) * * 3.成员变量和局部变量在声明的位置上、是否有默认初始化值上、是否能有权限修饰符修饰上、内存分配的位置上有何不同? * *原创 2021-04-26 14:32:40 · 90 阅读 · 0 评论 -
面向对象-对象数组
/* * 对象数组 */public class StudentTest { public static void main(String[] args) {// Student s1 = new Student();// Student s1 = new Student();// Student s1 = new Student();// Student s1 = new Student();// Student s1 = new Student(); //声明stu原创 2021-04-26 09:21:31 · 175 阅读 · 0 评论 -
面向对象-类中方法的声明和使用
/* * 类中方法的声明和使用 * * 方法:描述类应该具有的功能 * 比如:Math类:sqrt() \ random() ... * Scanner类:nextXxx()... * Arrays类:sort() \ binarySearch() \ toString() \ equals() \ ... * * 1.举例 * public void eat(){} * public void sleep(int hour){} * public Stri原创 2021-04-26 09:21:17 · 109 阅读 · 0 评论 -
面向对象-简介
/* * 一、Java面向对象学习的三条主线: * 1.java类及类的成员:属性、方法、构造器、代码块、内部类 * * 2.面向对象的三大特征:封装性、继承性、多态性(抽象性) * * 3.其他关键字:this、super、static、final、abstract、interface、package、import *//* * 面向对象的两个要素 * 类:对一类事物的描述,是抽象的、概念上的定义 * 对象:是实际存在的该类事物的每个个体,因此也称为实例(instance) *原创 2021-04-26 09:20:38 · 89 阅读 · 0 评论 -
面向对象-属性(成员变量) VS 局部变量
/*类中属性的使用属性(成员变量) VS 局部变量1.相同点 1.1 定义变量的格式:数据类型 变量名 = 变量值; 1.2先声明,后使用 1.3变量都有其对应的作用域2.不同点 2.1在类中声明的位置的不同 属性:直接定义在类的一对{}内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.2关于权限修饰符的不同 属性:可以在声明属性时,指明其权限,使用权限修饰符 常用的权限修饰符:private原创 2021-04-26 09:21:00 · 151 阅读 · 0 评论 -
数组-demo2
public class ArrayDemo2 { public static void main(String[] args) { String[] arr = new String[] {"JJ","DD","MM","BB","GG","AA"}; //数组的复制 String[] arr1 = new String[arr.length]; for (int i = 0; i < arr1.length; i++) { arr1[i] = arr[i]; }原创 2021-04-25 15:37:58 · 43 阅读 · 0 评论 -
数组-demo1
public class ArrayDemo1 { public static void main(String[] args) { //1.使用scanner,读取学生个数 Scanner scanner = new Scanner(System.in); System.out.println("请输入学生人数:"); int number = scanner.nextInt(); //2.创建数组,存储学生成绩,动态初始化 int[] scores = new int[n原创 2021-04-25 15:37:19 · 84 阅读 · 0 评论 -
数组-冒泡排序
public class BubbleSortTest { public static void main(String[] args) { int[] arr = new int[] {43,32,76,-98,0,64,33,-21,32,99}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\t"); } System.out.println("========冒泡排序==原创 2021-04-25 15:36:20 · 64 阅读 · 0 评论 -
数组-Arrays工具类的使用
public class ArraysUtil { public static void main(String[] args) { //1.boolean equals(int[] a,in[] b):判断2个数组是否相等 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原创 2021-04-25 15:35:49 · 48 阅读 · 0 评论 -
数组-异常
public class ArrayException { public static void main(String[] args) { //1.数组角标越界的异常:ArrayIndexOutOfBoundsException int[] arr = new int[] {1,2,3,4,5}; // System.out.println(arr[-2]); //2.空指针异常:NullPointerException //情况1// int[] arr1 = new原创 2021-04-25 15:34:57 · 93 阅读 · 0 评论 -
数组-复制
public class ArrayTest4 { public static void main(String[] args) { int[] array1,array2; array1 = new int[] {2,3,5,7,11,13,17,19}; for (int i = 0; i < array1.length; i++) { System.out.print(array1[i] + "\t"); } System.out.println();原创 2021-04-25 15:34:02 · 88 阅读 · 0 评论 -
数组-array1和array2地址值相同,都指向了堆空间的唯一的一个数组实体
public class ArrayTest3 { public static void main(String[] args) { int[] array1,array2; array1 = new int[] {2,3,5,7,11,13,17,19}; for (int i = 0; i < array1.length; i++) { System.out.print(array1[i] + "\t"); } System.out.println();原创 2021-04-25 15:33:26 · 128 阅读 · 0 评论 -
数组-求数值型数组中元素的最大值、最小值、平均数、总和等
public class ArrayTest2 { public static void main(String[] args) { int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { arr[i] = (int)(Math.random() * (99 - 10 + 1)); } //遍历 for (int i = 0; i < arr.length; i++) { Sys原创 2021-04-25 15:32:48 · 339 阅读 · 0 评论 -
数组-二维数组
package com.atguigu.java;/** * * 1.理解 * 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而村存在 * 其实,从数组底层的运行机制来看,其实没有多维数组 * * 2.二维数组的使用: * 1)二维数组的声明和初始化; * 2)如何调用数组的指定位置的元素; * 3)如何获取数组的长度; * 4)如何遍历数组; * 5)数组元素的默认初始化值; * 6)数组的内存解析。 * */public原创 2021-04-25 15:31:40 · 173 阅读 · 0 评论 -
数组-一维数组
package com.atguigu.java;/* * 一、数组的概述 * 1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名, * 并通过编号的方式对这些数据进行统一管理 * * 2.数组相关的概念 * 数组名 * 元素 * 角标、下标、索引 * 数组的长度,元素的个数 * * 3.数组的特点, * 1)数组是有序排列的 * 2)数组本身是引用数据类型的变量,数组的元素,既可以是基本数据类型,也可以是引用数据类原创 2021-04-25 15:28:10 · 318 阅读 · 0 评论