简单的dos命令
基础命令:
1. dir : 查看当前所在目录的 文件与文件夹列表
- 在dir后 可以通过/ 携带一些指令 来打到特殊的查看目录结构的效果
/s: 查看当前目录所有的子目录和文件夹
/a: 查看包含隐藏文件的所有文件
/ah: 只显示隐藏文件
/w : 以紧凑方式显示
/p : 以分页方式显示
2. cd 文件夹名: 进入指定文件夹中
- cd.. 回到上层目录
- cd\ 回退到根目录
3. cls:清屏
4. md 文件夹名: 创建一个文件夹
5. rd 文件夹名: 删除一个文件夹
6. 切换盘符:
- 盘符名称:
- 例如: d:
Java的两种核心机制 – 重点
Java虚拟机 JVM
JVM可以理解成一个可运行Java字节码的虚拟计算机系统 !- 它有一个解释器 , 可以实现Java字节码和计算机操作系统之间的通信 ! - 对于不同的平台 , 存在不同的jvm
JVM屏蔽了底层运行平台的差别 ! 从而实现了”一次编译, 随处运行”;
垃圾回收器 GC
程序在执行时, 是需要占用内存的 , 程序不再使用的内存, 应当进行回收 !
在C/C++等语言中, 由程序员自己, 进行垃圾内存的回收 !
Java语言消除了程序员回收无用内存空间的责任:
JVM提供了一种系统线程跟踪存储空间的分配情况, 并在JVM空闲时, 自动检查并释放垃圾内存 ! 垃圾回收器, 在Java程序中自动运行, 程序员无法精确控制和干预 !
jdk目录
bin目录: 存储可执行文件 , 存放java编译机, 解释器等等工具
demo目录: 存放演示程序
include目录: 存放用户本地方法的文件
jre目录: 存放的是运行环境
lib目录: 存放的是Java类库文件
src.zip文件: jdk提供的类库的源代码
数据类型 – 重点
分为两类:
1. 基本数据类型
2. 引用数据类型
或者分为如下两类: (后期了解)
1. 局部变量
2. 成员变量
基本数据类型 – 重点
| | |byte 字节
| | |short 短整型
| | |int 整型
| | 整数类型
| | |long 长整型
| 数值型
| | |float 单精度浮点型
| | 浮点类型
| | |double 双精度浮点型
8种基本数据类型
|
| 字符型 char
|
| 逻辑类型 boolean(布尔类型)
|
类型 大小 存储范围 默认值
int 4字节 -2147483648 ~ 2147483647 0
short 2字节 -32768 ~ 32767 0
long 8字节 -9223372036854775808L~9223372036854775807L 0
byte 1字节 -128 ~ 127 0
float 4字节 -3.40292347E38-3.40292347E38 0.0f
double 8字节 -1.79769E308 - -1.79769E308 0.0d
boolean 1字节 true真/false假 false
char 2字节 \u0000 ~ -\uffff \u0000
计算机中数据存储的单位:
bit(位): 表示二进制中一个数字码0或1
byte(字节): 一个字节由8个bit组成
二进制
生活中数字使用十进制.
逢十进一
0123456789
十进制中10 表示十
计算机中的数据 都以二进制数字进行保存 !
逢二进一
01
二进制中10 表示二
八进制
逢八进1️一
01234567
八进制中10表示八
在程序中使用0开头表示数字 例如:
0123
十六进制
逢十六进一
0123456789abcdef
十六进制中10表示十六
一般使用0x开头
0xfff
十进制 二进制互相转换 – 熟练掌握
正整数转换
十进制转换二进制
快速的算法:
“除二取余 倒序排列 高位补零”
案例:
我们通过上述口诀, 计算一个数字:
我们拿50这个数字计算:
2 | 50 ......余数:0
--------
2 | 25 ......余数:1
--------
2 | 12 ......余数:0
--------
2 | 6 ......余数:0
--------
2 | 3 ......余数:1
--------
2 | 1 ......余数:1
--------
0
得到的余数的倒序结果是:00110010
练习:
通过上述口诀, 计算数字10的二进制表示
结果为: 1010
二进制转换十进制
首先将二进制数 补齐位数, 如果首位是0 表示正整数, 首位为1表示负整数
正正数: 将二进制中的位数对应的数字分别乘以 2的位数-1次方 , 然后相加得到十进制
例如: 00001010
0 0 0 0 1 0 1 0
0 0 0 0 1*2^3 0 1*2^1 0*2^0
0 0 0 0 8 0 2 0
数字相加后 结果为10
个位是0次方!
位数上如果为0 则此位数字为0
如果位数上的数字为1 ,则值分别为:
1 2 4 8 16 32 64 128 256 512 1024 2048
练习: 将00111101 转换为10进制
结果为 61
负整数转换
十进制转换二进制
方法:
绝对值转换为二进制后, 按位取反 ,再加一!
我们拿-50这个数字计算:
得到-50的绝对值为50 , 先对50进行二进制的转换
2 | 50 ......余数:0
--------
2 | 25 ......余数:1
--------
2 | 12 ......余数:0
--------
2 | 6 ......余数:0
--------
2 | 3 ......余数:1
--------
2 | 1 ......余数:1
--------
0
得到的余数的倒序结果是:00110010
按位取反(0变成1 , 1变成0): 11001101
再加一: 11001110
练习:
通过上述口诀, 计算数字-10的二进制表示
结果为: 11110110
二进制转换十进制
首先将二进制数 补齐位数, 如果首位是0 表示正整数, 首位为1表示负整数 !
先减一 , 再按位取反 !
举例: 11001110转换为10进制的过程:
1. 先减一
11001101
2. 再取反
00110010
0+0+32+16+0+0+2+0 = 50
练习: 将11111011 转换为10进制
结果为 -5
小数转换
十进制转换二进制
整数部分按照上述的方法计算
小数部分 乘二取整数部分 ! 直到小数部分为0 , 或长度足够为止
例如: 10.125 计算:
10: 计算后: 00001010
小数部分乘二取整:
0.125 × 2 = 0.25 整数部分: 0
0.25 × 2 = 0.5 整数部分: 0
0.5 × 2 = 1.0 正数部分: 1
得出的二进制小数为:
0.001
整数部分+小数部分: 00001010.001
练习: 计算 6.25的 二进制:
二进制转换十进制
二进制: 0 0 0 0 1 0 1 0 . 0 0 1
十进制: 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 . 2^-1 2^-2 2^-3
小数点后 是位数的 负数次方
例如:
二进制 0.001 转换为 10进制
0 . 0 0 1
0*2^0 . 0*2^-1 0*2^-2 1*2^-3
0 . 0 0 0.125
-------------------------------------------
0+ 0.0+0.00+0.125 = 0.125
转换二进制0.01 转换结果为 0.25
变量
介绍
变量就是系统为程序分配的一块内存单元 , 用来存储各种不同类型的数据 !
标识符 规则 – 重点
java中包,类,方法,参数,变量等等 命名时使用的字符序列, 称其为标识符 !
命名规则:
- 由字母,数字,下划线_和美元符号$组成
- 不能以数字开头
- 明确区分大小写
- 长度无限制
- 不能是Java中的关键字或保留关键字
规范:
见名知意 ~
声明并初始化变量:
数据类型 变量名 = 变量初始值;
例如:
int number = 10;
特别注意: 类的外面不能有变量的声明 !
变量也可以在声明时, 不给其进行初始化赋值 !
格式:
数据类型 变量名;
案例:
int number;
number = 1;
number = 2;
注意: 变量尚未初始化时, 不可以对其进行操作
注释
董飞
旭东(刷锅的) 晓阳(洗碗的) 长明(挣钱的)
注释再.java文件转换为.class文件的过程中 会被忽略 !
三种注释:
单行注释
语法: //
注释范围为一行 , 从//开始到当前行的结束, 属于注释的范围
多行注释
语法 /* */
注释范围从/开始 到 /结束
文档注释
语法: /* /
注释 范围从/*开始 到/结束
概念上文档注释 与 多行注释基本一致, 但是文档注释存在一些特点:
- 文档注释是Java特有的
- 文档注释 可以被提取出来生成一个类的文档 !
八种基本数据类型变量的演示
int类型 整型
- 使用int类型定义一个变量 (10进制)
int a = 1000; - 使用int类型定义一个变量 (8进制)
int b = 01234; 使用int类型定义一个变量 (16进制)
int c = 0xfff;使用int类型定义一个不匹配类型的变量, 观察报错
int d = 10000000000;//过长
int e = 1.11111;//类型不匹配, 需要int 找到double,可能损失精度!
long 类型 长整型定义一个长整型变量
long a = 10;定义了一个变量
long b = 10000000000;
//上述的变量声明报错了, 原因在于, Java中的整数默认类型为int
我们可以通过特殊的声明方式 得到一个long类型的值(在数字后面加l)
long b2 = 10000000000l;
注意:在Java中 编写一个整型的数字, 默认类型为int
在Java中 编写一个浮点类型的数字, 默认类型为double
byte 类型 字节- 定义一个byte类型的变量
byte a = 10; - 定义一个过大的byte类型的变量
byte a = 128;
short 类型 短整型
- 定义一个byte类型的变量
定义一个变量
short a = 10;
System.out.println(a);
float单精度浮点型定义变量
float a = 10.1234f;
System.out.println(a);
double双精度浮点型double b = 10.12345;
字符类型字符类型的变量值, 需要使用英文单引号引住 !
字符类型其实是一个16位无符号二进制整数因为java使用的是unicode编码表, 所以定义时可以通过两种方式定义 :
- 单引号直接定义一个字符 例如: char a = ‘你’;
通过数字定义一个字符 例如: char a = ‘\u0000’;
- 定义字符类型的变量
char a = ‘你’;
char b = ‘好’;
System.out.println(a);
System.out.println(b);前面提过, char类型其实是二进制数字表示的文字 !
我们尝试对char类型的变量 进行加减算法 :
char a1 = ‘a’;
System.out.println(a1+1);
char a2 = ‘A’;
System.out.println(a2+1);
特定的编码:
数字: ‘0’ 对应的数字为 48 , ‘1’ 对应的数字为49 ,’2’ 对应的数字为50…
大写字母: ‘A’对应的数字为65 ‘B’对应的数字为66 …
小写字母: ‘a’对应的数字为97 ‘b’对应的数字为98 …
boolean 类型 逻辑类型变量定义一个变量
boolean a = true;
System.out.println(a);
基本数据类型的转换自动类型转换 (隐式类型转换)
从小类型转换到大类型 ,可以自动完成 !
byte–>short–>int–>long
float–>double
例如:
byte a = 10 ; long b; b=a; System.out.println(b); 上述转换自动完成, 没有报错
例如:
long a1 = 10 ;
byte b1;
b1=a1;
System.out.println(b1);上述转换报错, 提示可能损失精度, 需要byte 找到long 从大到小转换 无法自动完成, 我们需要通过下述的强制类型转换完成 !
强制类型转换
从大类型 到 小类型转换 需要强制转换, 可能会损失精度 !
小变量类型 变量名 = (小变量类型) 大类型的值;
例如:
long a = 100;
byte b = (byte)a;例如:
long a1 = 10 ; byte b1; b1=(byte)a1; System.out.println(b1);
明天早测内容:
Java的两种核心机制
描述8种基本数据类型,占用内存大小以及默认值
标识符的规则
计算十进制与二进制的互相转换 (整数) ,要求保留运算过程
定义变量并输出