Java基础的学习、知识点总结
文章目录
- Java基础的学习
- 1、
- 2、MS-DOS(Microsoft Disk Operating System)
- 命令提示符(cmd)
- 3、JRE和DJK
- 4、环境变量的配置
- 5、Java程序开发三步骤:编写、编译、运行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QemFOnc4-1573821333002)(C:\Users\Think-Pad\Desktop\java\Java程序开发的三步骤.jpg)]
- 6、程序的注释
- 7、关键字的概念与特征
- 8、标识符(驼峰规则)
- 9、常量的概念与分类
- 10、常量的打印输出
- 11、基本数据类型(八种)
- 12、变量的概念与定义格式
- 13、变量的注意事项
- 14、数据类型转换
- **自动类型转换(隐式)**
- **强制类型转换(显式)**
- 注意事项:
- 15、算数运算符-四则运算与取模运算
- 16、算数运算符
- 加号的多种用法:
- 自增自减运算符:
- 17、赋值运算符
- 18、比较运算符
- 19、逻辑运算符
- 20、三元运算符
- 21、方法入门——方法的调用
- 22、编译器的两点优化
- 第一章 流程控制
- 1.1 根据编写顺序,从上往下执行,按顺序执行
- 1.2 顺序结构
- 第二章 判断语句
- 2.1 判断语句1—— if语句
- 2.2 判断语句2—— if...else语句
- 2.3 判断语句3—— if...else if...else
- 第三章 选择语句
- 3.1 选择语句—— switch语句
- 3.2 case的穿透性
- 第四章 循环语句
- 4.1 循环概念
- 4.2 循环语句1—— for循环
- 4.3 循环语句2—— while
- 4.4 循环语句3—— do...while
- 4.5 循环语句的区别
- 4.6 跳出语句 break continue
- 第五章 IDEA的使用
- 第六章 方法
- 6.1 方法的定义格式
- 6.2 方法的三种调用格式
- 6.3 对比有参数和无参数
- 6.4 对比有返回值和无返回值
- 6.5 练习题
- 方法的注意事项:
- 方法重载的基本使用:
- 第七章 数组
- 7.1 数组的概念
- 7.2 数组的定义格式
- 7.3 访问数组元素进行获取
- 7.4 访问数组元素进行赋值
- 第八章 Java中的内存划分
- 8.1 Java的内存需要划分成为5个部分
- 8.2 一个数组的内存图
- 8.3 两个引用指向同一个数组的内存
- 8.4 数组索引越界异常
- 8.5 空指针异常
- 8.6 获取数组的长度
- 8.7 数组的遍历输出
- 8.8 数组元素反转
- 8.9 数组作为方法参数
- 8.10 数组作为方法返回值
- 第九章 面向对象思想
- 9.1 面向对象思想的概念
- 9.2 类和对象
- 9.3 类的定义
- 9.4 对象的创建及其使用
- 9.5 一个对象的内存图
- 9.6 两个对象使用同一个方法的内存图
- 9.7 两个引用指向同一个对象的内存图
- 9.8 使用对象类型作为方法的参数
- 9.9 使用对象类型作为方法的返回值
- 9.10 局部变量和成员变量的区别
- 9.11 面向对象三大特征之封装
- 9.12 private关键字的作用
- 9.13 this关键字的作用
- 9.14 构造方法
- 9.15 定义一个标准的类
- 第十章 API文档的使用
- 10.1 Scanner的使用步骤
- 10.2 匿名对象
- 10.3 Random概念和基本使用
- 10.4 猜数字游戏
- 10.5 对象数组
- 10.6 ArrayList集合概述和基本使用
- 10.7 ArrayList集合的常用方法和遍历
- 10.8 ArrayList集合存储基本数据类型
- 10.9 ArrayList练习
- 第十一章 字符串
- 11.1 字符串的概念和特点
- 11.2 字符串的常量池
- 11.3 字符串的比较相关方法
- 11.4 字符串的获取相关方法
- 11.5 字符串的截取方法
- 11.6 字符串的转换相关方法
- 11.7 字符串的分割方法
- 11.8 字符串练习
- 第十二章 静态static关键字
- 12.1 静态static关键字概述
- 12.2 静态static关键字修饰成员变量
- 12.3 静态static关键字修饰成员方法
- 12.4 静态static的内存图
- 12.5 静态代码块
- 12.6 数组工具类Arrays
- 12.7 数学工具类Math
- 第十三章 继承
- 13.1 继承的概念
- 13.2 继承的格式
- 13.3 继承中成员变量的访问特点
- 13.4 区分子类方法中重名的三种变量
- 13.5 继承中成员方法的访问特点
- 13.6 继承中方法的覆盖重写
- 13.7 继承中方法的覆盖重写
- 13.8 继承中构造方法的访问特点
- 13.9 super关键字的三种用法
- 13.10 this关键字的三种用法
- 13.11 super与this关键字图解
- 13.12 继承的三个特点
- 第十四章 抽象
- 14.1 抽象的概念
- 14.2 抽象方法和抽象类
- 14.3 使用抽象类的注意事项:
- 14.4 发红包案例
- 第十五章 接口
- 15.1 接口的定义基本格式
- 15.2 接口的抽象方法定义
- 15.3 接口的默认方法
- 15.4 接口的静态方法
- 15.5 接口的私有方法
- 15.6 接口的常量定义和使用
- 15.7 接口的内容小结
- 15.8 继承父类并实现多个接口
- 15.9 接口之间的多继承
- 第十六章 多态
- 16.1 多态的概念
- 16.2 多态的格式与使用
- 16.3 多态中成员变量的使用特点
- 16.4 多态中成员方法的使用特点
- 16.5 使用多态的好处
- 16.6 对象的向上转型
- 16.7 对象的向下转型
- 16.8 用instanceof关键字进行联系判断
- 16.9 笔记本USB接口案例
- 第十七章 final关键字
- 17.1 final关键字用于修饰类
- 17.2 final关键字用于修饰成员方法
- 17.3 final关键字用于修饰局部变量
- 17.4 final关键字用于修饰成员变量
- 17.5 四种权限修饰符
- 第十八章 内部类
- 18.1 成员内部类的定义
- 18.2 成员内部类的使用
- 18.3 内部类的同名变量访问
- 18.4 局部内部类
- 18.5 局部内部类的final问题
- 18.6 匿名内部类
- 18.7 匿名内部类的注意事项
- 18.8 类作为成员变量类型
- 18.9 接口作为成员变量类型
- 18.10 接口作为方法的参数和或返回值
- 第十九章 Object类
- 19.1 Object类的toString方法
- 19.2 Object类的equals方法
- 19.3 重写Object类的equals方法
- 19.4 毫秒值的概念和作用
- 19.5 Date类的构造方法和成员方法
- 19.6 DateFormat类的format方法和parse方法
- 练习:计算一个人已经出生了多少天
- 19.7 Calendar类的常用成员方法
- 19.8 System类的常用方法
- 19.9 StringBuilder的原理
- 19.10 StringBuilder的构造方法和append方法
- 第二十章 包装类
- 20.1 包装类的概念
- 20.2 装箱与拆箱
- 20.3 自动装箱与自动拆箱
- 20.4 基本类型与字符串类型
- 20.5 Collection集合概述
- 20.6 Collection集合常用功能
- 20.7 迭代器的代码实现
- 20.8 迭代器的原理
- 20.9 增强for循环
Java基础的学习
成长的第二阶段
这是自己的第二阶段的学习,从2019-9-03开始学习,历经一个多月的时间,把 Java基础课程学习完毕,基本了解了 Java的面对对象编程的思想精髓,了解了Java中的类、接口的用法,这是一个漫长的过程,也是一个煎熬的过程,以后的学习任务也是任重而道远!
笔记太长,分了两次上传。
1、
位(bit):一个数字0或者一个数字1,代表一位。
字节(Byte):每逢8位是一个字节,这是数据存储的最小单位。
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
1 EB = 1024 PB
1 ZB = 1024 EB
2、MS-DOS(Microsoft Disk Operating System)
命令提示符(cmd)
启动: Win+R,输出cmd回车
切换盘符 盘符名称:
进入文件夹 cd 文件夹名称
进入多级文件夹 cd 文件夹1\文件夹2\文件夹3
返回上一级 cd…
直接回根路径 cd \
查看当前内容 dir
清屏 cls
退出 exit
3、JRE和DJK
- JRE(Java Runtime Environment): 是Java程序的运行时环境,包含JVM和运行时所需的核心类库。
- JDK(Java Development Kit): 是Java程序开发工具包,包含JRE和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需要安装JRE即可
我们想要开发一个全新的Java程序,那么必须安装JDK
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ohnBFLAe-1573821332897)(C:\Users\Think-Pad\Desktop\java\jdk安装步骤.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L1lTWyWO-1573821333000)(C:\Users\Think-Pad\Desktop\java\jdk安装步骤02.jpg)]
4、环境变量的配置
我的电脑右键打开属性 选择高级系统设置 环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLKDBZPl-1573821333001)(C:\Users\Think-Pad\Desktop\java\jdk安装步骤03.jpg)]
5、Java程序开发三步骤:编写、编译、运行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QemFOnc4-1573821333002)(C:\Users\Think-Pad\Desktop\java\Java程序开发的三步骤.jpg)]
编写源代码
编译:cmd中
javac 类名称.java 回车
运行:java 类名称 回车
先编译成class文件,再运行java,运行的是class文件
6、程序的注释
单行注释://这是一行注释信息
多行注释:/*
这是多行注释
这是多行注释 */
也可以用来区块注释
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello,World!”);
}
}
注意:* 源代码第一行的第三个单词必须和所有的文件名称完全一样,大小写也要一样
public class 后面代表定义一个类的名称,类是java当中所有源代码的基本组成单位
* 第二行的内容是万年不变的固定写法,代表main方法
这一行代表程序执行的起点(从main开始)
* 第三行代表打印输出语句(其实就是屏幕显示)
希望显示什么东西,就在小括号中填写什么东西
7、关键字的概念与特征
关键字的特点:
- 完全小写字母
- 在增强版的记事本当中有特殊颜色
8、标识符(驼峰规则)
标识符是用来给变量、类、包以及方法来命名的。
** 命名规则:
- 标识符可以包含 英文字母26个(区分大小写)、0-9数字、$(美元符号)和下划线
- 标识符不能以数字开头
- 标识符不能是关键字
** 命名规范:
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)HelloWorld
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)helloWorld
- 方法名规范:同变量名
9、常量的概念与分类
常量:在程序运行期间,固定不变的量
常量的分类:
1.字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc”、“Hello”、“1213”
2.整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250
3.浮点型常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0
4.字符型常量:凡是用单引号引起来的单个字符,就叫做字符常量。例如:‘A’、‘b’、’中‘
5.布尔常量:只有量中取值 true、false
6.空常量:null 代表没有任何数据。
10、常量的打印输出
- 字符串两个引号之间可以为空
- 字符型常量中两个引号中间必须有且仅有一个字符,没有不行,有两个也不行
- 空常量不能直接用来打印输出
11、基本数据类型(八种)
第一类(字符型):char
第二类(布尔型):boolean
第三类(数值类型):
整数型:byte short int long
浮点型:float double
引用数据类型:
字符型、数组、类、接口、Lambda
注意事项:
字符串不是基本类型,而是引用类型。
浮点型可能只是一个近似值,并非精确的值
数据范围与字节数不一定相关,例如float数据范围比long更广泛,但是float是4字节,long是8字节
浮点数当中默认类型是double,如果一定要使用float类型,需要加上一个后缀F
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L
推荐使用大写字母后缀
12、变量的概念与定义格式
变量:程序运行期间,内容可以发生改变的量
创建一个变量并使用的格式: 数据类型 变量名称
赋值: 变量名称 = 数据值
一步到位的格式: 数据类型 变量名称 = 数据值
13、变量的注意事项
使用变量的时候,有一些注意事项:
- 如果创建多个变量,那么变量之间的名称就不可能重复
- 对于float和long类型来说,字母后缀F和L不要丢掉
- 如果使用byte或者short类型来说,那么右侧的数据不能超过左侧类型的范围
- 没有进行赋值的变量,不能直接使用;一定要赋值后才能使用
- 变量使用不能超过作用域的范围 【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止
- 可以通过一个语句来创建多个变量,但是一般情况下不推荐这么写
14、数据类型转换
当数据类型不一样时,将会发生数据类型转换
自动类型转换(隐式)
1. 特点:代码不需要进行特殊处理,自动完成2. 规则:数据范围从小到大
强制类型转换(显式)
特点:代码需要进行特殊转换的格式,不能自动完成
格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
注意事项:
- 强制类型转换不推荐使用,因为有可能发生精度损失、数据溢出
- byte/short/char这三种类型都可以发生数字运算,例如加法“+”
- char类型参与运算时按照ASCII码进行运算 48-‘0’ 65-‘A’ 97-'a’
- boolean类型不能发生数据转换(也不能按照0和1)
15、算数运算符-四则运算与取模运算
运算符:进行特定操作的符号,例如:+
表达式:用运算符连起来的式子叫做表达式。例如:20 + 5 a + b
四则运算:
加:+
减:-
乘:*
除:/
取模(取余数):%
首先计算得到表达式的结果,然后再打印输出这个结果
被除数 / 除数 = 商 … 余数
对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍然是整数,只看商,不看余数
只有对于整数的除法来说,取模运算符才有余数的意义
注意事项:
1. 一旦运算符当中有不同类型的数据,那么结果将会是数据类型范围大的那种
16、算数运算符
加号的多种用法:
四则运算当中的加号“+”有常见的三种用法:
1.对于数值来说,那就是加法
2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算
char类型字符和int类型字符之间的对照关系表:ASCII、Unicode
3.对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作
任何数据类型和字符串进行连接的时候,结果都会变成字符串
自增自减运算符:
自增运算符:++
自减运算符:–
基本含义:让一个变量涨一个数字1,或者让一个变量降一个数字1
使用格式:写在变量名称之前,或者写在变量名称之后。例如:++num,也可以num++
使用方式:
单独使用:不和其他任何操作混合,自己独立成为一个步骤。
混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合,等。
使用区别:
在单独使用的时候,前++和后++没有任何区别,也就是:++num;和num++;完全一样的。
在混合的时候,有【重大区别】
A. 如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用。 【先加后减】
B. 如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】。 【先用后加】
注意事项:
只有变量才能使用自增、自减运算符。常量不可能发生改变,所以不能用。
17、赋值运算符
赋值运算符分别为:
基本赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量。
int a = 30;
复合赋值运算符:
+= a += 3 相当于 a = a + 3
-= b -= 4 相当于 b = b - 4
*= c *= 5 相当于 c = c * 5
/= d /= 6 相当于 d = d / 6
%= e %= 7 相当于 e = e % 7
注意事项:
- 只有变量才能使用赋值运算符,常量不能进行赋值。
- 复合赋值运算符其中隐含了一个强制类型转换。
18、比较运算符
比较运算符:
大于: >
小于: <
大于等于: >=
小于等于: <=
相等: == 【两个等号连写才相等,一个等号代表的是赋值】
不相等: !=
注意事项:
比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false
如果进行多次判断,不能连着写
数学当中的写法,例如:1 < x < 3
程序当中**【不允许】**这种写法
19、逻辑运算符
与(并且) && 全部是true,才是true;否则就是false
或(或者) || 至少有一个是true,就是true;全部是false,才是false
非(取反) ! 本来是true,变成false;本来是false,变成true
与“&&”,或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能
注意事项:
逻辑运算符只能用于boolean值
与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可
与、或两种运算符,如果有多个条件,可以连续写
两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C
TIPS:
对于 1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连接起来:
int x = 2;
1 < x && x<3
20、三元运算符
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+ 、赋值 =
三元运算符:需要三个数据才可以进行操作的运算符。
**格式:**数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;
流程:
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量;
如果不成立为false,那么将表达式B的值给做左侧的变量;
二者选择其一。
注意事项:
- 必须同时保证表达式A和表达式B都符合左侧数据类型的要求
- 三元运算符的结果必须被使用
21、方法入门——方法的调用
定义一个方法的格式:
public static viod 方法名称(){
方法体;
}
方法名称的命名规则和变量一样,使用小驼峰。
方法体:也就是大括号当中可以包含任意条语句。
注意事项:
方法定义的先后顺序无所谓。
方法的定义不能产生嵌套包含关系。
方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的【调用】。
如何调用方法,格式:
方法名称();
22、编译器的两点优化
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(cahr)。
1.如果没有超过左侧的范围,编译器补上强转。
如果右侧超过了左侧范围,那么直接编译器报错。
在给变量进行赋值的时候,如果右侧的表达式当中全部是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果。
short result = 13;
右侧的常量结果取值,没有超过左侧的范围,所以正确。
这称为“编译器的常量优化”。
但是注意: 一旦表达式当中有变量参与,那么就不能进行这种优化了。
第一章 流程控制
1.1 根据编写顺序,从上往下执行,按顺序执行
1.2 顺序结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qP8Mg74r-1573821333004)(C:\Users\Think-Pad\Desktop\java\顺序结构.jpg)]
第二章 判断语句
2.1 判断语句1—— if语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oLC01oso-1573821333005)(C:\Users\Think-Pad\Desktop\java\if语句.jpg)]
2.2 判断语句2—— if…else语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mVRK0ZuT-1573821333006)(C:\Users\Think-Pad\Desktop\java\if-else语句.jpg)]
2.3 判断语句3—— if…else if…else
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KwDWrKCt-1573821333053)(C:\Users\Think-Pad\Desktop\java\if…else if…else语句.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1zo0sIqp-1573821333055)(C:\Users\Think-Pad\Desktop\java\if…else if…else语句 .jpg)]
第三章 选择语句
3.1 选择语句—— switch语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ZGphu8A-1573821333056)(C:\Users\Think-Pad\Desktop\java\switch语句.jpg)]
最后一个break可以省略,但是强烈不建议省略!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-elD38L8W-1573821333057)(C:\Users\Think-Pad\Desktop\java\switch语句 .jpg)]
3.2 case的穿透性
switch语句使用的注意事项:
多个case后面的数值不可以重复。
switch后面小括号当中只能是下列数据类型:
基本数据类型:byte/short/cahr/int
引用数据类型:String字符串、enum枚举
- switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。
“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”
第四章 循环语句
4.1 循环概念
循环结构的基本组成部分,一般可以分成四部分:
- 初始化语句:在循环开始最初执行,而且只做唯一 一次。
- 条件判断:如果成立,则循环继续,如果不成立,则循环退出。
- 循环体:重复要做的事情内容,若干行语句。
- 步进语句:每次循环之后都要执行的扫尾工作,每次循环之后都要执行一次。
4.2 循环语句1—— for循环
for(初始化表达式;布尔表达式;步进表达式){
循环体;
}
4.3 循环语句2—— while
while循环有一个标准格式,还有一个扩展模式。
标准格式:
while(条件判断){
循环体
}
扩展格式:
初始化语句;
while(条件判断){
循环体;
步进语句;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVb9uHDx-1573821333058)(C:\Users\Think-Pad\Desktop\java\循环结构.jpg)]
4.4 循环语句3—— do…while
do-while循环的标准格式:
do{
循环体
}while(条件判断);
初始化语句:
do{
循环体
步进语句
}while(条件判断);
4.5 循环语句的区别
三种循环的区别:
- 如果条件从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
- for循环的变量在小括号当中定义,只有循环内部能用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
4.6 跳出语句 break continue
break关键字的用法有常见的两种:
可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
还可以用在循环语句中,一旦执行,整个循环语句立刻结束。打断循环。
关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环,否则多用while循环。
continue关键字:
另一种循环控制语句是continue关键字。
一旦执行,立刻跳过当前次数循环剩余内容,马上开始下一次循环。
死循环:
永远停不下来的循环,叫做死循环。
死循环的标准格式:
while(ture){
循环体
}
第五章 IDEA的使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uka9Fym3-1573821333059)(C:\Users\Think-Pad\Desktop\java\IDEA常用的快捷键.jpg)]
第六章 方法
6.1 方法的定义格式
方法其实就是若干语句的功能集合。
方法好比是一个工厂。
参数(原料):就是进入方法的数据。
返回值(产出物):就是从方法中出来的数据。
定义方法的完整格式:
修饰符 返回类型值 方法名称(参数类型 参数名称,…){
方法体
return 返回值;
}
修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
ps:参数如果有多个,使用逗号分离
方法体:方法需要做的事,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:也就是方法执行后最终产生的数据结果
注意:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-McAnLrM5-1573821333061)(C:\Users\Think-Pad\Desktop\java\实例.jpg)]
6.2 方法的三种调用格式
方法的三种调用格式:
- 单独调用:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
注意:此前学习的方法,返回值类型固定写为void,这种写法只能够单独使用,不能进行打印调用或者赋值调用。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j05dD9vb-1573821333062)(C:\Users\Think-Pad\Desktop\java\实例.jpg)]
6.3 对比有参数和无参数
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务时,就是有参数。
例如有两个数字相加,必须知道两个数字各自是多少,才能相加。
无参数:小括号当中留空,一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如定义一个方法,打印固定10次HelloWorld。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eipd4K6O-1573821333078)(C:\Users\Think-Pad\Desktop\java\对比有无参数.jpg)]
6.4 对比有返回值和无返回值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zCu530pX-1573821333079)(C:\Users\Think-Pad\Desktop\java\对比有无返回值.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKgeIrT7-1573821333080)(C:\Users\Think-Pad\Desktop\java\实例01.jpg)]
错误写法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WpvVNyXA-1573821333081)(C:\Users\Think-Pad\Desktop\java\错误写法.jpg)]
6.5 练习题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvQpDNuD-1573821333082)(C:\Users\Think-Pad\Desktop\java\1到100累加.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8uWZ5YeJ-1573821333083)(C:\Users\Think-Pad\Desktop\java\打印指定次数的HelloWorld.jpg)]
方法的注意事项:
使用方法的时候,注意事项:
- 方法应该定义在类当中,但是不能在方法当中再定义方法,不能嵌套。
- 方法定义的前后顺序无所谓。
- 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
- 如果方法有返回值,那么必须写上“return 返回值”,不能没有。
- return后面的返回值数据,必须和方法的返回值类型对应起来。
- 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
- 对于void方法当中最后一行的return可以省略不写。
- 一个方法当中可以有多个return语句,但是必须保证同时只有一个被执行到 ,两个return不能连写。
方法重载的基本使用:
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZCJ6oOXE-1573821333085)(C:\Users\Think-Pad\Desktop\java\方法的重载.jpg)]
方法的重载与下列因素相关:
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
方法重载与下列因素无关:
- 与参数的名称无关
- 与方法的返回值类型无关
println就是一个重载
第七章 数组
7.1 数组的概念
数组的概念:是一种容器,可以同时存放多个数据值。
数组的特点:
- 数组是一种引用数据的类型
- 数组当中的多个数据类型必须统一
- 数组的长度在程序运行期间不可改变
7.2 数组的定义格式
数组的初始化:在内存中建立一个数组,并且向其中赋予一些默认值。
两种常见的初始化方式:
- 动态初始化(指定长度):在创建数组的时候,直接指定数组当中的数据元素的个数。
- 静态初始化(指定内容):在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定。
动态初始化数组的格式:
数据类型[ ] 数组名称 = new 数据类型[数组长度];
解析含义:
左侧数据类型:也就是数组当中保存的数据,全部是统一的什么类型
左侧的中括号:代表我是一个数组
左侧的数组名称:给数组取一个名字
右侧的new:代表创建数组的动作
右侧数据类型:必须和左边的数据类型保持一致
右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1w70zd1v-1573821333086)(C:\Users\Think-Pad\Desktop\java\数组的定义.jpg)]
静态初始化基本格式:
数据类型[ ] 数组名称 = new 数据类型[ ]{ 元素1,元素2,…};
注意事项:
虽然静态初始化没有直接告诉长度,但是根据大括号里面元素的具体内容,也可以自动推算出来长度。
静态初始化省略格式:
数据类型[ ] 数组名称 = { 元素1,元素2,…};
注意事项:
- 静态初始化没有直接指定长度,但是仍然会自动推算得到长度。
- 静态初始化标准格式可以拆分成为两个步骤。
- 动态初始化也可以拆分成两个步骤。
- 静态初始化一旦使用省略格式,就不能拆分成两个步骤了。
使用建议:
如果不确定数组当中的具体内容,用动态初始化;否则,已经确定了具体的内容,用静态初始化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrwHe0xV-1573821333087)(C:\Users\Think-Pad\Desktop\java\数组初始化.jpg)]
7.3 访问数组元素进行获取
直接打印数组名称,得到的是数组对应的:内存地址哈希值。
二进制:01
十进制:0123456789
16进制:0123456789adcdef
访问数组元素的格式:数组名称【索引值】
索引值:就是一个int数字,代表数组当中的编号 。
注意:索引值从0开始,一直到“数组的长度-1”为止。
7.4 访问数组元素进行赋值
使用动态初始化数组时候,其中的元素将会自动拥有一个默认值。规则如下:
如果是整数类型,那么默认值为0
如果是浮点类型,那么默认值为0.0
如果是字符类型,那么默认值为’\u0000’
如果是布尔类型,那么默认值为false
如果是引用类型,那么默认值为null
注意事项:
静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。
第八章 Java中的内存划分
8.1 Java的内存需要划分成为5个部分
栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。
局部变量:方法的参数,或者是方法{}内部的变量
作用域:一旦超出作用域,立刻从栈内存当中消失
- 堆(Heap):凡是new出来的东西,都在堆当中。
堆里面的东西都有一个地址值:16进制
堆内存里面的数据,都有默认值。规则:
如果是整数类型,那么默认值为0
如果是浮点类型,那么默认值为0.0
如果是字符类型,那么默认值为’\u0000’
如果是布尔类型,那么默认值为false
如果是引用类型,那么默认值为null
- 方法区(Method Area):存储.class相关信息,包含方法的信息。
- 本地方法栈(Nation Method Stack):与操作系统相关。
- 寄存器(pc Register):与cpu相关 。
8.2 一个数组的内存图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AWEs2AuS-1573821333088)(C:\Users\Think-Pad\Desktop\java\一个数组的内存图.jpg)]
8.3 两个引用指向同一个数组的内存
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKoxNZvA-1573821333089)(C:\Users\Think-Pad\Desktop\java\两个引用指向同一个数组的内存.jpg)]
8.4 数组索引越界异常
数组的索引编号从0开始,一直到“数组的长度-1”为止。
如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
8.5 空指针异常
所有的引用类型变量,都可以赋值为一个null值,但是代表其中什么都没有。
数组必须进行new初始化才能使用其中的元素。
如果只是赋值了一个null,没有进行new创建,那么将会发生空指针异常。
8.6 获取数组的长度
获取数组的长度,格式:
数组名称.length
这将会得到一个int数字,代表数组的长度。
数组一旦创建,程序运行期间,长度不可变。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Q8wx2GQ-1573821333270)(C:\Users\Think-Pad\Desktop\java\获取数组的长度.jpg)]
8.7 数组的遍历输出
遍历数组,就是说对数组当中每一个元素进行逐一、挨个儿处理。默认的处理方式就是打印输出。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bDpZszHX-1573821333279)(C:\Users\Think-Pad\Desktop\java\求出数组中的最值.jpg)]
8.8 数组元素反转
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ukIJyBAZ-1573821333321)(C:\Users\Think-Pad\Desktop\java\数组元素反转.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vaHbaQjp-1573821333323)(C:\Users\Think-Pad\Desktop\java\数组元素反转 .jpg)]
8.9 数组作为方法参数
数组可以作为方法参数。
当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。
8.10 数组作为方法返回值
一个方法可以有0、1、多个参数,但是只能有0或者1个返回值,不能有多个返回值。
如果希望一个方法当中产生了多个结果数据进行返回,怎么办?
解决方案:使用一个数组作为返回值类型即可。
任何数据类型都能作为方法的参数类型,或者返回值类型。
数组作为方法的参数,传递进去的其实是数组的地址值。
数组作为方法的返回值,返回的其实也是数组的地址值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZZCb8ja-1573821333333)(C:\Users\Think-Pad\Desktop\java\数组作为返回值.jpg)]
第九章 面向对象思想
9.1 面向对象思想的概念
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUbNu56c-1573821333335)(C:\Users\Think-Pad\Desktop\java\面向对象.jpg)]
9.2 类和对象
类: 是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
**属性:**就是该事物的状态信息。
**行为:**就是该事物能够做什么。
**对象:**是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
类与对象的关系:
- 类是对一类事物的描述,是抽象的。
- 对象是一类事物的实例,是具体的。
- 类是对象的模板,对象是类的实体。
9.3 类的定义
成员变量(属性):
String name;// 姓名
int age; // 年龄
成员方法(行为);
public void eat(){} // 吃饭
public void sleep(){} // 睡觉
public void study(){} // 学习
注意事项:
- 成员变量是直接定义在类当中的,在方法外边。
- 成员方法不要写static关键字。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QzNNrGs8-1573821333336)(C:\Users\Think-Pad\Desktop\java\类的定义.jpg)]
9.4 对象的创建及其使用
通常情况下,一个类并不能直接使用 ,需要根据类创建一个对象,才能使用。
**导包:**也就是指出需要使用的类在什么位置。
import 包名称.类名称;
import cn.Demo;
对于和当前类属于同一个包的情况,可以省略导包语句不写。
- **创建,**格式:
类名称 对象名 = new 类名称();
Student stu = new Student();
- **使用,**分为两种情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
(也就是,想用谁,就用对象名点儿谁。)
注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
9.5 一个对象的内存图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oW3PMHv8-1573821333337)(C:\Users\Think-Pad\Desktop\java\一个对象的内存图.jpg)]
9.6 两个对象使用同一个方法的内存图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wwbhK9Sg-1573821333339)(C:\Users\Think-Pad\Desktop\java\两个对象使用同一个方法的内存图.jpg)]
9.7 两个引用指向同一个对象的内存图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jj5d6GWk-1573821333340)(C:\Users\Think-Pad\Desktop\java\两个引用指向同一个对象的内存图.jpg)]
9.8 使用对象类型作为方法的参数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LfgWVYKU-1573821333342)(C:\Users\Think-Pad\Desktop\java\使用对象类型作为方法的参数.jpg)]
9.9 使用对象类型作为方法的返回值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9rtsWsez-1573821333343)(C:\Users\Think-Pad\Desktop\java\使用对象类型作为方法的返回值.jpg)]
9.10 局部变量和成员变量的区别
定义的位置不一样【重点】
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类当中
- 作用范围不一样【重点】
局部变量:只有方法当中才能使用,出了方法就不能用
成员变量:整个类都可以通用
- 默认值不一样【重点】
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
- 内存的位置不一样(了解)
局部变量:位于栈内存
成员变量:位于堆内存
- 生命周期不一样(了解)
局部变量:随着方法进栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UMTST6jl-1573821333344)(C:\Users\Think-Pad\Desktop\java\成员变量和局部变量的区别.jpg)]
9.11 面向对象三大特征之封装
面向对象三大特征:封装、继承、多态。
封装性在Java当中的体现:
- 方法就是一种封装
- 关键字private也是一种封装
封装就是将一些细节信息隐藏起来 ,对于外界不可见
9.12 private关键字的作用
问题描述:定义person的年龄时,无法阻止不合理的数值被设置进来。
解决方案:用private关键字将需要保护的成员进行修饰。
一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。
间接访问private成员变量,就是定义一对儿getter/setter方法
必须叫setXxx或者是getXxx命名规则。
对于getter来说,不能有参数,返回值类型和成员变量对应;
对于setter来说,不能有返回值,参数类型和成员变量对应 。
对于基本类型当中的Boolean值,getter方法一定要写成isXxx的形式,而setXxx规则不变。
9.13 this关键字的作用
当方法的局部变量和类的成员变量重名的时候,根据**“就近原则”**,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名
“通过谁调用的方法,谁就是this”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PbQFOytV-1573821333345)(C:\Users\Think-Pad\Desktop\java\this关键字02.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GsmoBAOC-1573821333410)(C:\Users\Think-Pad\Desktop\java\this关键字01.jpg)]
9.14 构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式:
public 类名称(参数类型 参数名称){
方法体;
}
注意事项:
构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样。
构造方法不要写返回值类型,连void都不写。
构造方法不能return一个具体的返回值。
如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事儿都不做。
public Student(){}
- 一旦编写了至少一个构造方法,那么编译器将不再赠送。
- 构造方法也是可以进行重载的。
重载:方法名称相同,参数列表不同。
9.15 定义一个标准的类
一个标准的类通常要拥有下面四个组成部分:
所有的成员变量都要使用private关键字修饰
为每一个成员变量编写一对儿getter/setter方法
编写一个无参数的构造方法
编写一个全参数的构造方法
这样标准的类也叫做Java Bean
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FJAvtle-1573821333412)(C:\Users\Think-Pad\Desktop\java\一个标准的类.jpg)]
第十章 API文档的使用
10.1 Scanner的使用步骤
Scanner类的功能:可以实现键盘输入数据到程序中。
引用类型的一般使用步骤:
导包
import 包路径.类名称;
import java.util.Scanner;
如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写。
只有Java.lang包下的内容不需要导包,其他的包都需要import语句。
- 创建
类名称 对象名 = new 类名称();
- 使用
对象名.成员方法名()
获取键盘输入的一个int数字;int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
10.2 匿名对象
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
new 类名称();
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wSlUxXAV-1573821333413)(C:\Users\Think-Pad\Desktop\java\使用匿名对象.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-giyEek46-1573821333414)(C:\Users\Think-Pad\Desktop\java\使用匿名对象 .jpg)]
10.3 Random概念和基本使用
Random类用来生成随机数字。使用起来也是三个步骤:
导包
import java.util.Random;
- 创建
Random r = new Random(); // 小括号当中留空即可
- 使用
获取一个随机的int数字(范围是int所有范围,有正负两种);int num = r.nextInt();
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVIFcey7-1573821333415)(C:\Users\Think-Pad\Desktop\java\生成Random随机数.jpg)]
生成指定范围的随机数 :
获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3);
实际上代表的含义是:[0,3),也就是0~2
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pk018w6n-1573821333419)(C:\Users\Think-Pad\Desktop\java\Random生成指定范围随机数.jpg)]
生成1~n 之间是随机数:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VmY39ygW-1573821333421)(C:\Users\Think-Pad\Desktop\java\Random生成随机数 .jpg)]
10.4 猜数字游戏
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YdPezW0P-1573821333423)(C:\Users\Think-Pad\Desktop\java\猜数字游戏01.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ae6ao3d-1573821333424)(C:\Users\Think-Pad\Desktop\java\猜数字游戏02.jpg)]
10.5 对象数组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gnRyFQi2-1573821333426)(C:\Users\Think-Pad\Desktop\java\对象数组.jpg)]
10.6 ArrayList集合概述和基本使用
数组的长度不可以发生改变。
但是ArrayList集合的长度是可以随意变化的。
对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容为空,得到的是空的中括号:[ ]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xbFQDWF-1573821333427)(C:\Users\Think-Pad\Desktop\java\ArrayList的使用.jpg)]
10.7 ArrayList集合的常用方法和遍历
ArrayList当中的常用方法有:
**public boolean add( E e)
Java基础的学习、知识点总结相关推荐
- Linux中的Java类,Java基础入门学习-Java中类的属性
Java基础入门学习-Java中类的属性 发布时间:2006-05-27 00:46:15来源:红联作者:WWW Public.private.protected显示了三种类中的属性和服务的类型,pu ...
- Java基础 快速学习(一)
注意:本系列博客是在作者已经有一年多的C++经验的基础上学习Java的个人总结,可能并不适合所有看到这篇博客的人. 一.数据类型 1.整数:byte,short,int,long 分别对应1,2,4 ...
- Java基础篇 学习笔记
List item Java基础篇 学习笔记 java基础篇 第1章 计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. ...
- Day5:Java基础语法学习6.9
总目标:学会JAVA 本周目标:Java的入门知识(6.5--6.12) 今日目标:Java基础语法学习(1)6.9 注释 注释并不会被执行,是给我们写代码的人看的 Java中的注释有三种: 单行注释 ...
- Java基础入门--学习笔记
Java基础入门教程 itheima–java基础小白教程 学习配套软件:eclipse 1.基础知识 (1)常用DOS命令:切换盘–>E:,cd–>进入文件,可多级,cd - --> ...
- Java基础知识学习笔记总结
Java学习笔记总结 java基础复习 1. 抽象类可以有构造器,可以有一个非抽象的父类 2. 垃圾回收机制回收的是堆里面的内存,栈里面的数据自动入栈自动出栈 3. 引用类型的数据在堆当中,内存中操作 ...
- 2.7w字!Java基础面试题/知识点总结!(2021 最新版)
这篇<Java 基础知识总结>是 JavaGuide 上阅读量最高的一篇文章,由于我对其进行了重构完善并且修复了很多小问题,所以,我再同步一下! 文章内容比较多,目录如下: 基础概念与常识 ...
- 狂神说java java基础篇 学习笔记
java基础的视频内容笔记都在这了 前言等字数非常长的章节,使用了AI语音识别成文字后修改的,有错漏欢迎提出 面对对象模块的按照自己的理解进行了内容修改,可以对比原视频内容理解,如有建议欢迎提出 前言 ...
- JAVA基础入门学习
书籍推荐和视频推荐 Java核心卷I java核心卷II可以买也可以不买.java核心卷I只看前9章,其他不用看.身边同学都认为这本书不适合初学者,但是如果你之前看过java学习视频,那么这本书很适合 ...
最新文章
- SQL注入攻击的种类和防范手段
- JSF的工作方式和调试方式–可以使用polyglot吗?
- windows平台下vlc编译
- Docker 官方公共仓库 Docker Hub 遭攻击,恐19 万用户信息泄露;Intel 10核心新品要现身了?...
- 计算机的数学发展史论文,数学简史论文范文
- 【Elasticsearch】Elasticsearch:Searchable snapshot - 可搜索的快照
- webpack-md5-hash问题记录
- CTPN论文翻译——中英文对照
- MarkDown中使用gif的神器:LICEcap
- 软工网络15团队作业9——项目验收与总结
- python怎样编程_怎么自学python编程
- HTTP1.1协议-RFC2616-中文版
- 物业智能化管理西方行政学说
- react 的样式写法
- win10如何更改计算机的用户名称,win10账户名修改,详细教您win10怎么更改账户名称...
- Android实现弹出窗口(PopUpWindow)
- 对不起,我要去大厂了!
- 爬虫剑谱第十页(关于拼多多商品信息的爬取<修改版>)
- 微信商城系统开发具体流程
- 23种设计模式 - C++实现
热门文章
- mongo3.5 java cursor_pymongo for py2.7.py3.6版本-pymongo下载3.5.1 官方最新版-西西软件下载...
- RapidScada免费开源Scada组态软件系列教程4-各模块详细介绍
- php 合成图片 微信公众号合成海报
- IP-guard安全U盘操作手册
- 微信小程序系列3——页面跳转详解
- python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据
- 用计算机算cos1,cos1等于多少怎么算
- 升级版王者荣耀铭文多功能助手微信小程序源码下载
- 自动生成马斯克的推特几乎无破绽!MIT用GPT-2模型做了个名人发言模仿器
- 【笨木头Unity】入门之旅009:Demo之四处找死(四)_在代码里操作物体