- 博客(21)
- 收藏
- 关注
原创 day14 package和import 关键字的使用
/*一、package关键字的使用1.为了更好的实现项目中类的管理,提供包的概念2.使用package声明类或接口所属的包,声明在源文件的首行3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意”4.每"."一次,就代表一层文件目录。补充:同一个包下,不能命名同名的接口、类。不同的包下,可以命名同名的接口、类。二、import关键字的使用import:导入在源文件中显式的使用import结构导入指定包下的类、接口声明在包的声明和类的声明之
2021-03-28 23:51:28
142
原创 day14 属性赋值的先后顺序
总结:属性赋值的先后顺序① 默认初始化② 显式初始化③ 构造器中初始化④ 通过"对象.方法" 或 "对象.属性"的方式,赋值以上操作的先后顺序:① - ② - ③ - ④
2021-03-28 23:44:32
138
原创 day14 构造器
类的结构之三:构造器(或构造方法、constructor)的使用construct:建设、建造。 construction:CCB constructor:建设者一、构造器的作用:1.创建对象2.初始化对象的信息二、说明:1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器2.定义构造器的格式:权限修饰符 类名(形参列表){}3.一个类中定义的多个构造器,彼此构成重载4.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器5.一个类中,至少会有一个
2021-03-28 23:43:00
118
原创 day14 封装性的引入和体现
面向对象的特征一:封装与隐藏 3W:what? why? how?一、问题的引入:当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:setLegs())同时,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值。则需要将属性声明为私有的(
2021-03-28 23:37:48
103
原创 day12 递归方法的举例
package com.atguigu.java2;/* * 递归方法的使用(了解) * 1.递归方法:一个方法体内调用它自身。 * 2. 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。 * 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。 * * * * */public class RecursionTest { public static void main(String[] args) { // 例1
2021-03-26 15:14:37
111
原创 day12 自定义数组的工具类
package com.shishuai.java;public class ArrayUtil { //求数组最大值 public int getMax(int[] arr){ int Max = arr[0]; for(int i = 0 ;i<arr.length;i++){ if(Max<arr[i]){ Max = arr[i]; } } return Max ; } //求数组最小值 public int
2021-03-25 23:46:10
95
原创 day 12 变量的赋值和方法中参数的传递机制;考察参数的值传递例题
一、变量的赋值关于变量的赋值: * * 如果变量是基本数据类型:此时赋值的是变量所保存的数据值。 * 如果变量是引用数据类型:此时赋值的是变量所保存的数据的地址值。 * * */public class ValueTransferTest { public static void main(String[] args) { System.out.println("***************基本数据类型:******************
2021-03-25 23:43:27
124
原创 day12 可变个数形参的办法
可变个数形参的办法 * * 1.jdk 5.0新增的内容 * 2.具体的使用 * 2.1可变个数形参的格式:数据类型 ... 变量名 * 2.2当调用可变个数形参的方法时,传入的参数个数可以是:0个、1个.... * 2.3可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载。 * 2.4可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,换句话说,不能共存 * 2.5可变个数形参在方法的形参中,必须声明在末尾. * 2.6可变
2021-03-25 23:38:34
107
原创 day12 理解“ 万物皆对象 ”,及方法的重载
一、理解“万事万物皆对象”1.在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,未调用具体的功能结构。>Scanner\String等>文件,File>网络资源 URL2. 涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类,对象。二、内存解析的说明1.引用类型的变量,只可能存储两类值,Null 或 地址值(含变量类型)。三、匿名对象的使用 P2031.理解:我们创建的对象,没有显示的赋给一个变量名,即为
2021-03-25 23:35:09
206
原创 day10 类中方法的说明和使用
类中方法的声明和使用 * * 方法:描述类应具有的功能; * 比如:Math类、aqrt()\random()\···· * Scanner类:nextXxx()... * Array类:sort() \ binaySearch()\toString()\equals() * *1.举例 void:没有返回值 * public void eat(){ } * public void sleep(int hour){} * publ.
2021-03-23 23:35:31
110
原创 day10 面对对象两个要素:类和对象
*一、设计类,其实就是设计类的成员*属性 = 成员变量 = field = 域、字段方法 = 成员方法 = 函数 = method创建类的对象 = 类的实例化 = 实例化类*二、类和对象的使用(面向对象思想落地的实现):1.创建类、设计类的成员2.创建类的对象3.通过“对象.属性”或“对象.方法”调用对象的结构*三、如果创建一个类的多个对象,则每个对象都独立拥有一套类的属性。(非ststic)意味着:如果我们修改一个对象的属性值a,则不影响另外一个对象属性a的值
2021-03-23 23:31:43
253
原创 day10 面对对象编程的主线及两个要素
一、Java面向对象学习的三条主线(第4-6章)1.Java类及类的成员:属性、方法、构造器、代码块、内部类2.面向对象的三大特性:封装性、继承性、多态性、(抽象性)3.其他关键字:this 、 super、static、final、abstract、interface、package、import等二、“人把大象装冰箱”1.面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。①把冰箱门打开②抬起大象,塞进冰箱③把冰箱门关闭2.面向对象
2021-03-23 23:30:19
119
原创 day10数组常见异常
数组中的常见异常:数组角标越界的异常:ArrayIndexOutOfBoundsExcetion空指针异常:NullPointerException */public class ArrayExceptionTest { public static void main(String[] args) { //1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion int[] arr = new int[]{1,2,3,4,5};
2021-03-23 23:26:36
100
原创 day10 Array工具类的使用
import java.util.Arrays;/* * java.util.Arrays:操作数组的工具类,里面定义了很多操作数组的方法 * * */public class ArraysTest { public static void main(String[] args) { //1.boolean equals(int[] a,int[] b):判断两个数组是否相等。 int[] arr1 = new int[]{1,2,3,4}; int[] arr2 =
2021-03-23 23:25:22
92
原创 day09 数组 冒泡排序
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 - 1;i++){ for(int j = 0;j < arr.length - 1 - i;j++){ if(arr
2021-03-23 20:46:57
95
原创 day9 数组 算法的考查:数组的复制、反转、查找(线性查找、二分法查找)
public class ArrayTest2 { public static void main(String[] args) { String[] arr = new String[]{"JJ","DD","MM","BB","GG","AA"}; //数组的复制(区别于数组变量的赋值:arr1 = arr) String[] arr1 = new String[arr.length]; for(int i = 0;i < arr1.length;i++){
2021-03-23 20:45:20
101
原创 <JAVA学习Day5>
2021.3.18今天的学习时长有点少,而且以后每周周末要花时间梳理一周的学习内容。今天学习内容如下:分支结构之二:switch-case1.格式switch (表达式){case 常量1;执行语句1;//break;case 常量2:执行语句2;//break;…default:执行语句n;//break;}2.说明:①根据switch 表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向
2021-03-18 23:14:34
128
原创 <JAVA学习Day4>
2021.3.17今天自己敲了几道简单的题,听的都会,一做就废,学习Java一定要勤动手,多敲代码.今天学校课程很满,所以今天学的内容达不到我想要的,周末一定要补回来.今天的学习内容如下:首先是几道例题:变量值交换:(写了比较臭的码)String S1 = “nan”;String S2 = “bei”;String temp = S1 ;S1 = S2;S2=temp;System.out.println(“S1=”+S1+",S2="+S2);这道题使用了一个新知识:如何从键盘获
2021-03-17 22:49:24
162
1
原创 <Java学习Day3>
2020.3.16Day3第三天的学习有了一丝懈怠,任重而道远,还未起步不能放弃!复习内容如下:一、进制的简单了解对于整数,有四种表示方式>二进制(binary):0,1,满2进1,以0b或0B开头(首位为符号位,0为正数;1为负数)>十进制(decima)>八进制(octal):0-7,满8进1,以数字0开头表示>十六进制(hex):0-9及A-F,满16进1,以0x或0X开头表示,此处A-F不区分大小写注意点:计算机底层都以补码的方式存储数据!二、运算符1
2021-03-16 22:16:54
113
原创 <JAVA学习Day2>
2021.3.15Day2:开始学习Java的第二天,感觉今天才开始步入正轨。基础一定要认真听,才不会刚学就有挫败感。不过感觉开始对Java产生了一点兴趣,兴趣是成功的开始。第二天复习内容如下:一、Java规范的三种注释方式:单行注释://多行注释:文档注释:/** */1.单行注释和多行注释的作用①对所写程序进行解释说明,方便阅读②调试所写的代码2.文档注释的使用:注释内容可以被JDK 提供的工具Javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。记事本:/
2021-03-15 23:03:46
489
2
原创 <JAVA学习Day1>
2021.3.14Day1:1.cmd打开命令窗口需掌握的命令2.入门必备的“HelloWorld”记事本:class HelloChina{public static void main(String[] args){System.out.println(“Hello,World!”);}}cmd:打开所在位置D:\code\day01>javac HelloWorld.javaD:\code\day01>java HelloChinaHello,World!配置
2021-03-14 20:04:48
197
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅