复习
计算机
硬件和程序员相关的核心内存
cpu 内存 硬盘 带宽(服务器考虑的带宽是上行带宽)
软件相关
操作系统
平台,对硬件环境进行初始化操作,满足应用程序的使用场景和对应环境
windows ,mcaos , linux unix 鸿蒙os ios
Android 不是一个严格意义的操作系统
应用程序
针对于用户使用的应用程序,手机app,pc端软件,网站(web Application)
操作
图形化界面操作
简单,易学,对应普通用户友好
命令指令操作
效率高,适用于服务器管理,程序员使用
了解DOC命令
dir,mkdir,rd, echo, del, cls,exit
Java
历史:
96年 JDK 1.0
04年 JDK 1.5
流行版本:
JDK 8 11 17
Java专用名词
JVM
Java虚拟机,在不同的操作系统中,安装对应操作系统的Java运行环境,相当于给予当前平台 对应的JVM可以保证Java程序一处编译,处处执行,JVM的作用是解释Java代码给予CPU执行 指令。
JDK
Java开发工具集,里面包含Java相关工具(运行工具 java翻译工具 javac反编译工具)
java开发工具集运行需要JRE支持
JDK包含 JRE
JRE
JRE运行环境,里面包含JVM和JVM所需相关资源,提供java程序的运行环境
|代码文件名称要与class之后的名称一致
|当前文件的保存名称为:FirstJava.java
public class FirstJava {
public static void main(String[] args) {
System.out.println("Java 第一行代码");
}
}
编一格式
javac 文件名.java
将Java文件编译得到对应的.class字节码文件/二进制文件。
运行格式:
java .class字节码文件名
直接利用.class字节码文件文件名称通过该java执行
第二天
计算机存储 ,数据类型,常量和变量
1.计算机存储
1.1计算存储常用数据单位
计算机当中最小的存储单位
字节Byte
bit 比特 一个字节是8个比特位(二进制)
100M 带宽 == > 100M 比特率 bit/s == > 12.5MB/s
常见的存储单位:
windows 操作系统存储单位之间的进制关系
1024 ==> 2^10
1024Byte ==> 1 KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 EB
104 EB ==> 1 PB
2014 年淘宝 ==> 《淘宝这十年》 2014年淘宝每天的数据量 50PB
硬件设备生产/macos 操作系统,数据进制单位是1000.Windows读取U盘/硬盘数据。没有对应表明容量windows 数据内容刀macos 系统变大
得数据者得天下!!!
1.2计算机常见进制【仅了解】
生活中使用最多的进制是十进制!!在实际的开发,产品设计中需要考虑的也是十进制,
做开发考虑的是实际价值/生活价值!!
涉及到开发中使用较多的进制
进制 | 基数范围 | 进制关系 |
---|---|---|
十进制 | 0-9 | 逢十进一 |
二进制 | 0,1 | 逢二进一 |
八进制 | 0-7 | 逢八进一 |
十六进制 | 0-9,A-F | 逢G(16)进一 |
数据显示效果
八进制
程序员看着方便的要求 : 数据 0开头
0777 0775 0755 0555
【注意】在特殊情况下,省略开头0的情况!!
40 ==> 040
【适用场景】
Linux权限管理
十六进制
程序员看着方便要求:数据0x开头
0x123 0xabcd 0xABCD
【注意】十六进制不区分大小写!!
【适用场景】
计算机内存地址
涉及到进制转换问题
一律采用计算器windows or macos 计算器
程序员/编程型
2.常量【重点】
2.1生活中的常用的常量
数值:
光速,Π,重力加速度
文字:
你 我 他
A B C D
1 2 3 4
文本:
诗词,歌赋
"北国风光,万里雪飘。。。。。"
2.2针对开发需求常量进行分类
整数:
10 100 60
-10 -50 -100
小数/浮点数
3.14 0.61 11.11 12.12
文字/字符:
Java 代码规定
Java字符常量是单引号包含的单个元素
'A' 'B' 'C' '你'
真假关系/布尔类型:
true 真
false 错
字符串:
Java 代码规范:
字符串常量是引文双引号包含的所用内容
"北国风光,万里雪飘。。。"
小点子:
1.数字字符常量和数值的区别
1 2 3 ==> 数值
'1' '2' '3' ==> 数字字符
2.常量是在Java代码运行过程不会发生改变的量
2.3常量代码演示
//Java中常量演示
public class Demo1{
public static void main(String [] args){
/*整数常量*/
System.out.println(10);
System.out.println(100);
System.out.println();
/*浮点常量*/
System.out.println(3.12);
System.out.println(5.5);
System.out.println();
/* 字符常量 */
System.out.println('A');
System.out.println('1');
System.out.println();
/*字符串常量*/
System.out.println("你好啊,java");
System.out.println("注意代码规范!!!");
System.out.println(" * ");
System.out.println(" *** ");
System.out.println(" ***** ");
System.out.println("******* ");
System.out.println();
/* 真假关系/布尔类型*/
System.out.println(true);
System.out.println(false);
System.out.println();
}
}
2.4字符串常见补充说明
2.4.1编码集问题
编码集:
每一个文字都有一个对应的托i按,每一个图片进行编号,计算机会根据编码集来处理当前信息中的编号,从而找到对应的文字图片,
开发中常用编码集:
utf-8 国际编码,支持多国文字(中文,英语,阿拉伯,日语,朝鲜语。。。)后期开发使用最多。
GBK 新国标支持中文简体字,以及中国所有少数民族文字。【windows中文系统默认编码集】。
BIG5 中文繁体字编码集,主要流行于中国台湾,中国香港,中国澳门,新加坡
ASCII 编码,美国信息交互标准协会指定的规范编码,主要包含英文,数字,标点符号,
要求所有的编码必须首先支持ASCII
要求:
1.使用字符有且只允许使用字符本身,采用英文单引号包含【单个元素】的方式处理字符内容,
例如:'你' '我' '他'
2.绝对不允许使用编码值来表示字符信息,可视化极差,同时类型不一致!!
3.编码集问题主要出现在中文乱码中,保证在开发中使用编码集一致!!
后期前端utf-8 后台utf-8 数据库utf-8
ASCII编码集补充说明:
1. 0-31 是不可见字符,没有视觉效果
2. 数字字符0-9顺序和键盘不同
3. 大写字母顺序是A-Z,小写字母是a-z
4. 大写字母的编码值小于小写字母
5. 大学字母和小写字母之间有其他标点符号内容
后期功能:
验证码比对全部转换位大写字母比较,因为大小字母编码值小于小写字母,节省一定的空间。
The decimal set:
十进制:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ExDJc2D3-1666174444507)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221019141218842.png)]
八进制:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V1q5keD6-1666174444509)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221019142545198.png)]
2.4.2转义字符【仅了解】
开发中有些字母因为开发需求已经被赋予了特定的含义,
例如:""字符串标记''字符标记
\' \" 可以将根本特定含义在字符转换字符本身,不具备任何意义!!
两个较为常用的转义字符
\n 换行 回车
\t tab 键 制表符
\ 算不算特定含义字符???
需要在字符串中展示1个\怎么办?
\\
需要在字符串中展示1个\\怎么办??
\\\\
[注意]
转义字符有且只能处理\转义符号之后的第一个字符
2.4.3只可学会,不得使用
2015
请问:
\40是什么???
结果是空格!!
1.\转义字符标记之后的数值默认为8进制
2.8 进制数据标记 0 可以省略
3.\40 ==> 十进制编号为 32 的字符 ==> space空格
要求:
1.不能用来面试其他人!!
2.如果对方不讲道德,电话号给你!!
3.可以用于对暗号!!
3.变量【重点】
3.1生活中哪些是变量
生活中常见的变量:
体重 温度 发量 余额 时间 工资 油价 电量
关注点:
1.约定俗成,见名知意
2.单位,数据范围,合理的数据单位
3.容器的概念
变量需要在开发中提供
数据,信息,内容
3.2 Java 中定义变量的格式
格式:
数据类型 变量名 = 初始化数据;
解释:
数据类型:
表示当前变量数据存储对应的数据类型,数据容量范围,数据的描述形式。
温度 == > 摄氏度
水杯 == > 小(ml) 大(L)
重量 == > 人(kg) 卡车载重(吨) 货轮(万吨)
变量名:
约定俗成,见名知意,通俗易懂
=:
赋值,赋值号,
将赋值号右侧的数据,赋值给左侧的【变量】
初始化数据:
相当于当前数据类型情况,以及目前的代码运行需求,给予变量在定义阶段的初始化数值。
举例:
魂斗罗,超级玛丽 冒险岛
PUBG CF CSGO 人物出生血量 100%
雪碧 可乐3.5RMB 500ML
3.3 基本数据类型【重点重点】
3.3.1整数类型/整型
|根据不同的数据存储范围,数据存储需求,整型在Java中分为4个情况
|byte short int long
数据类型 | 占用空间大小 | 数据存储范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -32768~32767 |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
3.3.2小数/浮点数
|针对于小数/浮点数情况,同时考虑精度范围和数据存储范围,浮点数分为两种情况
|单精度浮点型float
|双精度浮点型double
|要求明确float占用空间小于double同时float数据范围小于double
数据类型 | 占用空间大小 | 数据存储范围 |
---|---|---|
float | 4字节 | 10^38 |
double | 8字节 | 10^308 |
3.3.3字符类型
|用于描述代码中使用的字符常量存储变量内容
|明确字符类型char可以存储中文
数据类型 | 占用内存空间大小 | 数据存储范围 |
---|---|---|
char | 2字节 | 可以存储中文 |
3.3.4布尔类型
|真假关系 true or false
|明确布尔类型boolean 数据范围有且只有 true false
数据类型 | 占用内存空间大小 | 数据存储范围 |
---|---|---|
boolean | 2字节 | ture false |
3.4变量定义演示
3.4.1整数型变量操作
//整型变量定义演示
public class Demo3{
public static void main(String [] args){
/*
变量定义格式:
数据类型 变量名 = 初始化数据;
数据类型
byte short int long
数值变量一般会使用
number = 简拼 num
*/
byte num1 = 10;//定义一个变量 num1 数据类型为 byte 类型,初始化数据存储 10
short num2 = 20;
int num3 = 30;
long num4 = 100;
System.out.println(num1);//展示 num1 变量存储的数据类型
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println("-------------------------------------");
//定义之后的变量可以通过变量名直接使用
//变量存储数据内容是可以修改的!!
num1 = 50;//给予byte 类型变量 num1 赋值新的数据 50
num2 = 100;
num3 = 200;
num4 = 500;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
3.4.2浮点型变量操作
//浮点型变量操作演示
public class Demo4 {
public static void main(String []args) {
/*
变量定义格式:
数据类型 变量名 = 初始化数据;
数据类型
float double
浮点型变量一般会使用
number = 简拼 num
*/
float num1 = 3.5F;
double num2 = 9.9;
System.out.println(num1);
System.out.println(num2);
System.out.println();
System.out.println();
num1 = 20.8F;
num2 = 55.9;
System.out.println(num1);
System.out.println(num2);
}
}
3.4.3字符类型变量操作
//字符类型变量操作
public class Demo5 {
public static void mian(String []args) {
/*
变量定义格式:
数据类型 变量名 = 初始化数据;
数据类型
char
字符变量一般会使用
ch
【重点强调】
字符类型数据操作有且只能使用字符本身,绝对不允许使用编码值
严格遵从【数据类型一致化要求】
*/
char ch1 = 'A';
char ch2 = '中';
System.out.println(ch1);
System.out.println(ch2);
System.out.println();
char ch1 = '豫';
char ch2 = '国';
System.out.println(ch1);
System.out.println(ch2);
System.out.println();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3B3pYdZ0-1666174444511)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221019173717864.png)]
3.4.4布尔类型变量操作
//布尔类型变量操作演示
public class Demo6 {
public static void main(String []args) {
/*
变量定义格式:
数据类型 变量名 = 初始化数据;
布尔类型
boolean
布尔变量一般会使用
ret 结果 result 简拼
flag 标记
*/
boolean ret1 = true;
System.out.println(ret1);
System.out.println();
ret1 = false;
System.out.println(ret1);
}
}
3.5变量定义常见问题
3.5.1 float类型变量常量赋值问题
|Demo4.java
Demo4.java:12: 错误: 不兼容的类型: 从double转换到float可能会有损失
float num1 = 3.5;
^
1 个错误
计算机数据存储原则:
计算机存储数据优先考虑的是数据的精度和完整型。3.5作为浮点型数据,计算机考虑到数据的精度和完整性情况,常量3.5 会采用double 类型作为数据类型。double 占用数据空间8字节。
相当于使用一个double 类型的数据3.5 占用8字节内存数据空间,赋值给一个float 类型变量,而float类型只能用内存空间为4字节,并且float浮点类型数据精度不如double。
计算机在赋值操作中会给予错误提示,double 类型数据赋值给float类型数据会导致数据精度丢失,不允许!!!
【解决方案】
明确告知计算机,当前数据为float类型数据
float num1 = 3.5F;
注意F必须大写,告知编译器当前3.5是float类型,保证【数据类型一致化】
3.5.2 java中的变量未赋值不能使用
|变量定义之后,没有进行赋值操作,不可以参与赋值操作之外的其他内容
//错误变量操作演示
public class Demo6 {
public static void main(String []args) {
int num;
System.out.println(num);
/*
Demo6.java:7: 错误: 可能尚未初始化变量num
System.out.println(num);
^
1 个错误
*/
}
}
3.5.3Java中未定义的不能使用
|Java中规定如果变量没有声明,没有定义,无法使用。
|主要原因:
1.未定义
2.定义了,用的时候拼写错误
3.5.4【提示】字符类型常量有且只允许使用字符本身
3.5.6 long类型赋值常量建议
|严格遵守数据类型一致化原则
|在给予long 类型变量赋值操作时,对应的常量建议使用L明确告知编译器,当前变量数据类型为long类型
|保证数据类型一致化操作,提高代码效率
|要求必须大写L,小写l 容易导致阅读不便
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKmhskmC-1666174444512)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221019180148757.png)]
4.作业
1.作业笔记
2.所有案例联系三次
d main(String []args) {
int num;
System.out.println(num);
/*
Demo6.java:7: 错误: 可能尚未初始化变量num
System.out.println(num);
^
1 个错误
*/
}
}
###### 3.5.3Java中未定义的不能使用
###### |Java中规定如果变量没有声明,没有定义,无法使用。
###### |主要原因:
1.未定义
2.定义了,用的时候拼写错误
###### 3.5.4【提示】字符类型常量有且只允许使用字符本身
###### 3.5.6 long类型赋值常量建议
###### |严格遵守数据类型一致化原则
|在给予long 类型变量赋值操作时,对应的常量建议使用L明确告知编译器,当前变量数据类型为long类型
|保证数据类型一致化操作,提高代码效率
|要求必须大写L,小写l 容易导致阅读不便
[外链图片转存中...(img-DKmhskmC-1666174444512)]