# 我在前锋培训的日子 DAY02
今日总结
老师今天讲课内容,只是说内容,不是说有用的知识点。
1.第一个Java程序 就简单的跑了一个类似于Hello Word的程序。
2.简单讲了一下计算机byte\KB\MB\GB\TB\PB\EB
3.回想起来有用的也就是常量和变量的定义,以及常见的八个基本数据类型,其实还有一个数据类型是mull。
个人感悟
我是自学了一段时间来上培训班了,现在这14天是交了个200元的报名费来上的体验课。个人感觉可能没有真正付钱的原因,整体进度有点慢了,干货可能有点少,老师可能考虑到班级里面有基础比较差的同学。好多同学都是觉得这一行高薪,对这一行其实了解的不多,可能后几天进度会快一点。
老师课程附件
Java第一行代码,常量和变量
1. Java第一行代码
1.1 notepad++准备
notepad++ 可以提供必要的颜色提示和缩进提示。但是我们需要关闭自动补齐,同时修改新建文件模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03BIEGKV-1635340396786)(C:\千峰资料\day01\Day02\img\01-notepad++首选项.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ofginna6-1635340396794)(C:\千峰资料\day01\Day02\img\02-自动完成关闭.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLbmQmpx-1635340396797)(C:\千峰资料\day01\Day02\img\03-新建配置.png)]
1.2 Java代码实现
class FirstJava {
public static void main(String[] args) {
System.out.println("代码格式不规范,全部给你腿打断");
}
}
1.3 编译执行Java代码
编译工具:
javac.exe
编译 .java 文件 ==> 生成 ==> .class 字节码文件
格式:
javac FirstJava.java
在当前文件夹下也会有一个 FirstJava.class 文件出现
执行工具:
java.exe
执行 .class 字节码文件,运行对应 java 程序结果
格式:
java FirstJava 【注意】 不要后缀.class
执行结果
1.4 第一行代码的各种问题
1. 中文乱码问题
编码 --> 转为 ANSI
2. 什么什么符号不存在
string ==> String
Syatem ==> System
拼写错误都是小问题,注意细节,注意修改之后保存,保存之后重新编译
3. 标点符号不是英文
%ufdfd
; () [] {} "" ''
2. 计算机存储方式【仅了解】
2.1 计算机存储常见的单位
原则:
计算机中的最小存储单元是【字节】 byte
Windows规范下的存储单位进制关系
1024 Byte ==> 1 KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 PB
1024 PB ==> 1 EB
在存储设备中和macOS系统使用情况下,进制关系是1000
马云爸爸
得数据者得天下
2.2 常见进制
进制 | 基数范围 | 进制关系 |
---|---|---|
十进制 | 0 ~ 9 | 逢十进一 |
八进制 | 0 ~ 7 | 逢八进一 |
二进制 | 0,1 | 逢二进一 |
十六进制 | 0 ~ 9 A ~ F | 逢G进一 |
展示方式
八进制数
【要求】0开头,但是在特殊情况下,不需要0开头
0777 0755 0775
常用于 文件权限控制问题,拥有者,同组人,访客 Linux
十六进制数
【要求】0x开头 十六进制不区分英文字母大小写
0xabcd 0xABCD
常用于 内存地址编号使用,C语言的指针
转换方式
计算器·
2.3 原码,反码和补码【做好笔记,没事回来看看】
冯·诺依曼
【目的】为了降低计算机的运算逻辑复杂度,使用补码进行数据存储操作,提高计算机的运行和计算效率
例如:
118 + (-118) = 0
正整数原码,反码和补码
三码合一,都是当前正整数对应的二进制数据存储方式
118(10) ==> 0111 0110(2)
负整数原码,反码和补码
-118 原码
正整数原码,最高位改为 1 表示符号位,这是一个负数
0111 0110(2) ==> 1111 0110(2)
反码
除符号位之外,其他位按位取反
1111 0110(2) ==> 1000 1001(2)
补码
反码 + 1
1000 1001(2) + 1 ==> 1000 1010(2)
0111 0110(2)
1000 1010(2)
1 0000 0000(2) ==> 1 超出范围舍去,所有二进制位都是0 ==> 0
3. 常量【伪重点】
3.1 你认为什么是常量
数值
1 2 3
3.14
汉字
你我他
字母
a b c d A B C D
文本
"北国风光,千里冰封,万里雪飘..."
"先帝创业未半,而中道崩殂..."
相同之处,【不能变】
3.2 Java中针对于常量的分类和规则
整数
1 2 3 4 -1 -2 -3 -4
小数(浮点数)
3.1415926 6.18 11.11
真假关系(布尔类型)
T true F false
文字(字符)
【要求】使用英文单引号包含的单个元素
'A' 'B' '你' '我' '他' '1'
文本(字符串)
【要求】使用英文双引号包含的所有内容
"代码不规范,给你腿打断"
"老马烧烤,淼庄地锅鸡,新疆拉条烧烤城,周记羊杂汤,刘记全羊鲜汤,老北京炸酱面,苗岭啤酒鸭"
// 常量代码演示
class Demo1 {
public static void main(String[] args) {
// 整数
System.out.println(100);
System.out.println(1000);
System.out.println(10000);
// 小数(浮点数)
System.out.println(3.14);
System.out.println(6.18);
System.out.println(11.11);
// 真假关系(布尔类型 boolean)
System.out.println(true);
System.out.println(false);
// 文字(字符)
System.out.println('A');
System.out.println('B');
System.out.println('C');
// 文本(字符串)
System.out.println("老碗面 10");
System.out.println("黄焖鸡");
}
}
3.3 字符集
计算机中所有的文字,对于计算机而言都是【图片】。根据不同的规范,每一个文字对应的【图片】都有一个特殊的,特定的编码。编码对应字符的表格,我们认为是编码集。
常见编码集:
GB2312 老国标,只包含中文简体字和一部分少数民族文字
GBK 新国标,包含中文简体字和所有少数民族文字。目前windows操作系统,默认编码集就是GBK
UTF-8 万国码,后期项目使用的标准编码。
BIG5 中文繁体字编码集,主要流行于中国台湾省,中国香港市,中国澳门市,新加坡
ASCII 美国标准信息交互XXXX协会制定的编码,总计256个字符,是要求所有的编码集前256字符全部采用 ASCII
ASCII字符集中
1. 0 ~ 31 是不可见字符
2. 数字字符在 ASCII 中 0 ~ 9
3. ASCII中,大写字母对应的编码值小于小写字母
4. 大写字母和小写字母之间有其他标点符号隔开,非连续
5. 【重点】使用字符,不允许使用对应的编码值表示当前字符,有且只允许使用字符本身
'$' 不可以使用 36
【数据类型一致化思想】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pcPxPQcy-1635340396801)(C:\千峰资料\day01\Day02\img\标准十进制ASCII码表.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wOF12Wjr-1635340396803)(C:\千峰资料\day01\Day02\img\八进制ASCII码表.jpg)]
3.4 转义字符
\ 反斜杠,转义字符对应的操作必要标识
特殊含义的字符,转换为无含义字符
"" '' \
可以使用\转义以上字符,同时转义字符有且只可以处理之后的第一个字符
\" \' \\ \\\\
无含义字符,转换为带有特殊含义的字符
\n 回车
\t tab键,制表符
// 转义字符演示
class Demo2 {
public static void main(String[] args) {
System.out.println("\"");
System.out.println('\'');
System.out.println("\\");
System.out.println("\\\\");
System.out.println("测\n试");
System.out.println("测\t试");
}
}
3.5 面试题
1. 此面试题只允许在公司对暗号
2. 不允许使用该面试题面试其他人
3. 如果你在面试期间遇到了这道题,把面试官电话给我,我呼死他
请问:
\40是什么???
\40 是一个空格
WHY
a. \之后数字默认 八进制,并且可以省略0
b. \40 对应的是在ASCII码表中,十进制模式为32号编码的字符 sp ==> space
\110\145\154\154\157
4. 变量【伪重点】
4.1 你认为什么是变量
发量,钱包里面的money,饭量,电量,流量
根,元,盆,% G
变量的特征:
1. 单位概念,合理的描述方式。
2. 容器概念,体积概念
3. 存放概念,存储概念
4. 可变
4.2 Java中定义变量的格式
规范的格式
数据类型 变量名 = 初始化数据;
数据类型:
描述当前对应的变量是哪一个类型。考虑使用合理的数据类型,合理的存储方式,合理的体积大小
变量名:
一定范围以内唯一的名字,对于当前数据存储之后的一个名称,方便使用
=:
赋值号,将赋值号右侧的数据,赋值给左侧的变量
初始化数据:
对应当前数据类型,对应当前代码所需的一个初始值。
4.3 Java中八大基本数据类型【重点】
4.3.1 整型
整型 | 占用内存字节数 | 数值范围 |
---|---|---|
byte | 1(8bit) | -128 ~ 127 |
short | 2(16bit) | -32768 ~ 32767 |
int【常用】 | 4(32bit) | -2^31 ~ 2^31 - 1 |
long | 8(64bit) | -2^63 ~ 2^63 - 1 |
4.3.2 浮点型
浮点型(IEEE) | 占用内存字节数 | 数值范围 |
---|---|---|
float(单精度) | 4(32bit) | ±3.8*10^38 |
double(双精度) | 8(64bit) | 10^308 |
1. 浮点数精度不可信
10.02 - 10.01 = 0.01 计算机不是
0.0099999997
2. 浮点数大多数情况下,需要考虑两位小数问题。
4.3.3 字符型
字符型 | 占用内存字节数 | 数值范围 |
---|---|---|
char | 2(16bit) | 可以保存中文 |
要求
字符类型变量使用,在赋值字符常量的过程中,有且只允许使用【字符本身】
4.3.4 布尔类型
布尔类型 | 占用内存字节数 | 数值范围 |
---|---|---|
boolean | 视情况而定 | true false |