文章目录
第一阶段Java基础
大约20天的时间
第一天Java基础
- Java开发环境搭建
- HelloWorld案例
- 注释、标识符、关键字
- 数据(数据类型、常量、变量)
计算机基础知识
计算机
能够进行运算的机器
硬件:
- 运算器、控制器、存储器、输入设备及输出设备
- 运算器+控制器:cpu(中央处理器)
- 存储器:内存和磁盘
- 输入设备:键盘、鼠标
- 输出设备:显示器
软件:
- 系统、日常使用软件
- 系统:windows、linux、macos
- 日常使用软件:qq、微信、chrome
计算机语言
- 机器语言、汇编语言、高级语言
- 高级语言:C、C++、C#、Java
Java开发环境搭建
命令行操作方式
人机交互方式
-
命令行:人打代码,计算机执行指令
需要记忆很多的命令
-
图形化界面:人可以通过移动和点击鼠标
使用简单但是效率低等
-
其他方式:语音识别、接触式、人脸识别、生物芯片
命令行的打开方式
- 开始——所有程序——附件——命令提示符
- win键+R键——cmd——确定
- 在访问的目录中,按住shift——鼠标右键——在此处打开命令行
常用命令
-
可执行程序:
直接在命令行输入可执行程序的程序名称
.exe可以省略;不区分大小写
-
可执行程序+要操作的文件:
使用需要的程序,打开要访问的文件
notepad a.txt javac Helloworld.java
-
Dos常用命令:
d: 回车
盘符切换
dir (directory)
列出当前目录下的文件及文件夹
cd (change directory)
改变指定目录(进入指定目录)
cd…
回退,上一级
cd.
当前目录
cd d:\devlop\code
进入d盘devlop文件夹的code文件夹
cls (clear screen)
清屏
exit
退出dos命令窗口
mkdir+要创建的目录(make directory)
创建目录
rd /s /q 要删除的目录(remove directory)
强制删除目录
del+文件名称(delete)
删除文件
del *.txt
指删除所有后缀为txt的文件
echo Helloworld >>a.txt
要打印的内容添加到a.txt并创建
calc
打开计算器
Java环境
-
JDK : Java Development ToolKit
-
JRE:Java Runtime Environment
-
JVM:Java Virtual Machine
- JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器。
- JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台,所有的Java程序都要在JRE下才能运行。
- JVM是JRE的一部分,Java虚拟机的主要工作是将Java字节码(通过Java程序编译得到)映射到本地的 CPU 的指令集或 OS 的系统调用。JVM会根据不同的操作系统使用不同的JVM映射规则,从而使得Java平台与操作系统无关,实现了跨平台的特性性。
数据类型
基本数据类型
数据类型是一门程序语言的基本构成元素,Java语言提供了八种基本类型,其中包括六种数字类型(四种整数型,两种浮点型),一种字符类型,还有一种布尔型。
byte
byte
数据类型是8位、有符号整数;有符号指的是有正数和负数之分- 最小值是
-128(-2^7)
- 最大值是
127(2^7-1)
- 默认值是
0
byte
类型用在大型数组中节约空间,主要代替整数,因为byte
变量占用的空间只有int
类型的四分之一
示例:
byte foo = 100;
byte bar = -50;
short
short
数据类型是16位、有符号整数- 最小值是
-32768(-2^15)
- 最大值是
32767(2^15 - 1)
- 默认值是
0
short
数据类型也可以像byte
那样节省空间,一个short
变量是int
变量所占空间的二分之一
示例:
short number1 = 100;
short number2 = -2000。
int
int
数据类型是32位、有符号整数- 最小值是
-2,147,483,648(-2^31)
- 最大值是
2,147,485,647(2^31 - 1)
- 默认值是
0
示例:
int number1 = 50000;
int number2 = -60000。
整型变量默认为int
类型。
long
long
数据类型是64位、有符号整数- 最小值是
-9,223,372,036,854,775,808(-2^63)
- 最大值是
9,223,372,036,854,775,807(2^63 -1)
- 默认值是
0L
- 这种类型主要使用在需要比较大整数的系统上
示例:
long number1 = 50000L;
long number2 = -60000L。
float
float
数据类型是单精度、32位的浮点数float
在储存大型浮点数组的时候可节省内存空间- 默认值是
0.0f
- 浮点数不能用来表示精确的值,如货币
float f1 = 123.f;
float f2 = 456.f;
double
double
数据类型是双精度、64位的浮点数- 浮点数的默认类型为
double
类型 - 默认值是
0.0d
- double类型同样不能表示精确的值,如货币
示例:
double number1 = 3333.4;
boolean
boolean
数据类型表示一位的信息- 只有两个取值:
true
和false
- 默认值是
false
- 这种类型只作为一种标志来记录
true
/false
情况
示例:
boolean flag = true;
boolean active = false;
char
char
类型是一个单一的16位Unicode字符- 最小值是
'\u0000'
(即为0) - 最大值是
'\uffff'
(即为65,535) - 默认值是
'\u0000'
(即为0) char
数据类型可以储存任何字符
示例:
char letter = 'A';
引用数据类型
┏类(class)
引用数据类型━━╋ 接口(interface)
┗数组(array)
引用类型(reference type)指向一个对象,不是原始值,指向对象的变量是引用变量。
在java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类都是引用类型,可以像基本类型一样使用。
引用类型常见的有:String,StringBuffer,ArrayList,HashSet,HashMap等。
注释、关键字、标识符、常量
注释
- 对程序代码进行解释说明的内容,就是注释
- 1.编译阶段,不会检查注释中的语法
- 2.在运行阶段,不会运行注释中的内容
- 3.编译完成之后,形成的.class文件中,没有包含注释的内容
- 分类:单行注释、多行注释
- 单行注释:
- 使用符号://
- //后面的内容就是被注释的内容
- 单行注释并不能换行
- 单行注释可以嵌套
- 多行注释:
- 使用符号:/* */
- /* 这些内容就是注释内容*/
- 多行注释可以换行
- 多行注释并不能嵌套
- 文档注释:
- 使用符号:/** */
- 就是JavaDoc
- 对于类进行注释
- 注释的作用:
- 对某些代码进行解释说明
- 对代码进行调试,发现问题在哪里
关键字
- 在Java语言中,被赋予了特殊含义和功能的单词
- Java的关键字不能成为变量名、常量名、函数名、类名,否则程序将无法编译通过
- 关键字特点:
- 所有的都是小写
标识符
- 标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
- Java标识符由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的,而且还要求第一个字符不能是数字。最重要的是,Java关键字不能当作Java标识符。
命名规则:
A:包名——全部小写,由“.”隔开
- 单级包:小写
例如:zhou
- 多级包:小写,用 ”." 隔开
例如:com.baidu
B:类或者接口——所有单词首字母大写
一个单词:首字母大写
例如:Student;Demo
多个单词:每个单词首字母大写
例如:HelloWord;StudentName
C:方法或者变量——首字母小写,第二个单词开始每个单词首字母大写
一个单词:首字母小写
例如:name,student
多个单词:从第二个单词开始,每个单词首字母大写 例如:studentName;showAllNames()
D:常量——全部大写,单词间 “_” 隔开
一个单词:大写
例如:PI
多个单词:大写,并用 ”_“ 隔开 例如:STUDENT_MAX_AGE ; HELLO_WORD
常量
- 在程序运行过程中不能发生改变的数据。
- 根据表示形式分为:字面值常量、符号常量
- 根据数据类型可以分为:
- 整数常量:所有的整数
- 小数常量:所有的小数
- 字符常量:使用单引号引起来的单个字符
- 布尔常量:true、false
- 字符串常量:所有双引号引起来的字符序列
- 空常量:null
变量
-
在程序运行过程中会发生改变的数据。
-
本质:就是一个用于存储数据的容器,容器中的内容可以不断发生变化,程序的作用就是对于变量进行各种运算。
-
Java要求在使用一个变量前要求必须声明它的类型
-
使用一个不变的名称,使用一个不变的符号,使用不停变换的数据,不停变化的数据始终表示相同的含义
-
变量的声明:
-
数据类型 变量名称 = 变量值
数据类型:表示要为变量申请多大的空间
变量名称:使用这个名称表示不断变化的数字
= : 讲右边的数据存储到左边的变量中
变量值:可以是一个常量,也可以是一个变量
-
计算机中表示数据的方式
- 由于硬件的灵敏度受限,要表示的状态越多,出错的概率就越大
- 使用二进制的方式表示数据:
- 使用低电平表示数字0,使用高电平表示数字1
- 使用电流不通表示数字0,使用电流通表示数字1
- 计算机中存储和计算数据的基本单位:
- 字节:无论数据多大多效,至少要分配一个字节的空间存储和计算数据
- 单位换算:
- 1024Byte = 1KB
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB= 1PB
计算机表示有符号数
-
补码的方式
-
原码:
-
最高位是符号位,其余位是数值位
-
最高位通过0和1表示数字的正负,0正1负
-
其余位,可以通过01表示数字的绝对值
一旦要在计算机中表示数据,首先分配字节然后知道最高位
使用一个字节表示的60的原码:00111100
使用一个字节表示的-60的原码:10111100
-
-
反码:
-
正数的反码和原码一样
-
负数的反码在原码的基础上,最高位不变,其余位按位取反
使用一个字节表示60的反码:00111100
使用一个字节表示的-60的原码:11000011
-
-
补码:
-
正数的补码:和原码一样
-
负数的补码:在反码的基础上+1
使用一个字节表示60的补码:00111100
使用一个字节表示-60的补码:11000100
-
int类型的数字是4个字节,这样写应该是错的,但是大概意思是这个就行。
计算机中加减法的操作
-
题目40 - 60
-
40 - 60 = 40 + (-60)
计算40和-60的补码
-
40补码,原码相同
00000000 00000000 00000000 00101000 -
-60补码
11111111 11111111 11111111 11000100 -
计算两个补码相加:
00000000 00000000 00000000 00101000+
11111111 11111111 11111111 11000100
=11111111 11111111 11111111 11101100
结果的补码
-
计算结果的原码
11111111 11111111 11111111 11101011结果的反码
10000000 00000000 00000000 00010100
结果的原码
-
结果:-20