第一章 计算机基础知识
1. 二进制
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
- **十进制数据转成二进制数据:**使用除以2获取余数的方式
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
例如:把十进制数 150 转换为 二进制数:如下:
- 二进制数据转成十进制数据使用8421编码的方式
方法为:把二进制数按权展开、相加即得十进制数。
2. 字节
-
位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。
-
字节:8个二进制位构成1个“字节(Byte)”,<>它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说:1个汉字占据2个字节的存储空间。
-
字:“字”由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。
-
KB:K表示1024,也就是2的10次方。1KB表示1K个Byte,也就是1024个字节。
-
MB:1MB = 220 Bytes = 1048576Bytes
-
计算机存储单元数值转换
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
3. Doc命令
打开cmd方式
- 开始>系统>命令提示符
- 快捷键win+R(推荐使用)
常用dos命令
注意:所有命令键盘都必须在英文状态下
-
切换盘符目录
E/D: # 从C盘切换到E盘或者D盘 -
切换到指定文件夹下
cd folder_name(指定文件夹名–相对/绝对路径)
cd … # 返回上一级目录
cd / # 返回当前盘符根目录
-
清空当前电脑屏幕
cls -
查看当前目录,相当于linux的 pwd 命令
echo %cd% -
创建文件夹 mkdir
mkdir folder_name(文件夹名)
或
mkdir 文件夹名\子文件夹 # 注意分隔符是\,而不是/ -
创建任意后缀的空文件
type nul> file.postfix(文件名.后缀 -
创建有内容的文件
echo ‘content’(内容) > file.postfix(文件名.后缀) -
查看文件内容
type file.postfix(文件名.后缀)# 使用notepad++ 打开文件编辑内容start notepad++ C:\Windows\System32\drivers\etc\hosts -
查看目录及子文件
dir 或 ls -
删除空文件夹
rd folder_name(空文件夹名) -
删除文件及所有子文件
rd /s/q folder_name(文件夹名) -
删除文件
del file.postfix(文件名.后缀) -
查找某个任务进程
tasklist | findstr “vmware”
- 强杀某个任务进程,先根据上述命令找到PID,然后
taskkill -PID 进程id -F
- 退出: exit
第二章 环境搭建
1. java虚拟机(JVM)
-
JVM是Java Virtual Machine(Java虚拟机)的缩写:是运行所有java程序的假想机,是java程序的运行环境,是java最具吸引力的特性之一。
-
跨平台:JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。
而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。
JVM是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。
2. JRE和JDK
-
JRE(Java Runtime Enviroment)是Java的运行环境**。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
-
JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。
JDK包含JRE,JRE又包含JVM的关系。
3. 安装JDK
JDK下载步骤:
1.自行百度jdk下载,找到oracle官网;进入网站后,点击 Accept License Agreement 后,选择与自己电脑操作系统匹配的型号,我的操作系统为Windows 64位,所以选择“jdk-8u191-windows-x64.exe”,如图所示;
下载成功然后进行安装
JDK安装步骤:
- 双击进行安装,如果不更改任何配置,直接下一步傻瓜式安装到结束。
(本人使用时更改了安装位置)
2.安装后,查看是否安装成功;进入cmd窗口,输入java -version
JDK环境变量配置:
步骤:计算机→属性→高级系统设置→高级→环境变量
1.新建系统变量JAVA_HOME
变量名:JAVA_HOME;变量值:D:\Program Files\Java\jdk1.8.0_191(我的)
2.编辑系统变量Path
Windows10 电脑,新建变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Windows7 电脑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;注意用;号分隔
3.新建系统变量CLASSPATH变量
变量名:CLASSPATH 变量值:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
第三章 Heool Word入门程序
1. 程序开发步骤
编写–>编译–>运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X4pF7jR0-1598850117325)(C:\Users\22823\AppData\Roaming\Typora\typora-user-images\image-20200809151205050.png)]
2. 编写java源程序
2.1 新建文本文档,名称为heool word后缀名为.java
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMatfo4e-1598850117328)(C:\Users\22823\AppData\Roaming\Typora\typora-user-images\image-20200809151555490.png)]
2.2 使用记事本打开进行编辑
2.3在文件中输入以下代码并保存(全部使用英文输入)
public class heool word{
public static void main(String[] args){
System.out.print("heool word");
}
}
3. 编译运行
3.1 win+R输入cmd打开命令窗口,切换到heoolword.java文件目录
3.2 命令行输入javac heollworda.java进行编译,回车后文件夹中多出一个heoolword.class 文件
3.3 命令行输入java heoolword.class 运行。
4. 注释
// 单行注释
/*
多行
注释
*/
5. 关键字
Java关键字是预先定义的具有特别意义的标识符,也可以叫Java保留字,Java关键字不能用作变量名、方法名、类名、包名和参数
6.标识符
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。
命名规则:(硬性要求)
-
标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
-
标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
-
标识符不能是关键字
命名规范:(非硬性要求)
- 类名规范:首字符大写,后面每个单词首字母大写(大驼峰式)
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。
- 方法名规范:同变量名。
第四章 常量
程序运行时固定不变的量
1、整型常量
整型常量是整数类型的数据
2、浮点数常量
浮点数常量就是在数学中用到的小数,分为foat单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为double双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:
2e3f 3.6d 0f 3.84d 5.022e+23f
3、字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引’’号引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。具体示例如下:
‘a’ ‘1’ ‘&’ ‘\r’ ‘\u0000’
上面的示例中,’\u00’表示一个空白字符,即在单引号之间没有任何字符。之所以能这样表示,是因为Java采用的是Unicode字符集,Unicode字符以\u开头,空白字符在Unicode码表中对应的值为’\u0000’。
4、字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号””引起来,具体示例如下:
“HelloWorld``" “123"` `"We come \n XXX"` `"”
一个字符串可以包含一个字符或者多个字符,也可以不包括任何字符,即长度为零。
5、布尔常量
布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假。
6、null常量
null常量只有一个值null,表示对象的引用为空。
7,使用常量
public class Constant {
public static void main(String[] args) {
//1、整型常量
System.out.println(10);
System.out.println(-10);
//2、浮点数常量
System.out.println(0.5);
System.out.println(-0.5);
//3、字符常量
System.out.println('a');
System.out.println('A');
//4、字符串常量
System.out.println("abc");
System.out.println("ABC");
//5、布尔常量
System.out.println(true);
System.out.println(false);
//6、null常量 不能直接打印输出
System.out.println(null);//报错
}
}
结果;
10
-10
0.5
-0.5
a
A
abc
ABC
true
false
第五章 变量和数据类型
1. 数据类型
1.1 数据类型分类
数据类型分为两大类:
-
基本数据类型:包括,整数,浮点数,字符,布尔
-
引用数据类型:包括类,数组,接口。
1.2 基本数据类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uCD1KQ0x-1598850117328)(C:\Users\22823\AppData\Roaming\Typora\typora-user-images\image-20200809170529446.png)]
JAVA默认类型:整数int,小数double。
1.3 数据类型转换
1.3.1 自动数据类型转换(隐式转换)
必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
数据类型转换必须满足如下规则:
-
不能对boolean类型进行类型转换。
-
不能把对象类型转换成不相关类的对象。
-
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
-
转换过程中可能导致溢出或损失精度,例如:
int i =128;
byte b = (byte)i;
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45
1.3.2 强制数据类型转换
2. 变量
程序运行期间内容可以改变的量。
2.1 定义变量
java是强类型语言,所有的变量都必须先声明才能使用,声明变量时必须指定变量存储信息的类型。变量的声明一般使用名值对的方式,包含变量名和变量值,通过变量名可以引用变量值,也可以修改变量名的值。
首先,声明一个变量的基本格式是:
数据类型 变量名;
int type;
boolean flag;
float score;
上面提到变量的声明一般使用名值对的格式,具体格式如下:
数据类型 变量名 = 数值;
int box=100;
int a=300;
boolean f=true;
可以在同一行同时声明多个同一类型的变量,这样可以简化我们的代码,提高可阅读性,具体格式如下:
int a,b,c;
上面例子中,同时声明了三个整型变量(a,b,c),变量和变量之间使用英文逗号(,)隔开。当然我们也是可以想上面介绍的,为变量赋予初始值。如下面这个例子:
//变量a和变量c分别赋予了初始值。
int a=100,b,c=20;
变量声明后,我们就可以通过变量名引用变量值或者修改变量名所存储的值了。在同一作用域下,变量只能声明一次,但是可以多次的赋值,不断根据程序的需要修改变量原来存储的变量值。具体格式如下:
变量名 = 新的数值;
引用该变量名的值就更简单了,直接使用变量名即可。如下面这个例子:
//声明变量a,并同时赋初始化值是100;
int a=100;
//引用变量a,这时候输出的是变量所存储的值,应该是100
System.out.println(a);
//为赋值200
a=200;
//再次引用变量a,输出的也是变量所存储的值,但这时候应该是200了
System.out.println(a);
2.2 使用变量时的一些注意事项。
- 创建多个变量时,变量的名字不可以重复。
- 对于float和long的数据类型来说,F和L的后缀不要丢掉。
- 如果使用byte和short类型的变量,右侧的数据值不可以超过左侧的范围。
- 变量赋值后才可以直接使用。
- 变量不能操过作用域的范围。那么什么是作用域呢?从定义变量的那一行开始,一直到直接所属的大括号结束。
引用该变量名的值就更简单了,直接使用变量名即可。如下面这个例子:
//声明变量a,并同时赋初始化值是100;
int a=100;
//引用变量a,这时候输出的是变量所存储的值,应该是100
System.out.println(a);
//为赋值200
a=200;
//再次引用变量a,输出的也是变量所存储的值,但这时候应该是200了
System.out.println(a);
2.2 使用变量时的一些注意事项。
- 创建多个变量时,变量的名字不可以重复。
- 对于float和long的数据类型来说,F和L的后缀不要丢掉。
- 如果使用byte和short类型的变量,右侧的数据值不可以超过左侧的范围。
- 变量赋值后才可以直接使用。
- 变量不能操过作用域的范围。那么什么是作用域呢?从定义变量的那一行开始,一直到直接所属的大括号结束。