- 🔥二进制
- 🔥二进制和十进制的转化
- 🔥注释
- 🔥标识符
- 🔥关键字/保留字
- 🔥变量(variable)
🔥二进制
二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于 1679 年发明。二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”。
数字计算机只能识别和处理由‘0’ ‘1’符号串组成的代码。其运算模式正是二进制。
二进制对应两种状态,广泛应用于电子科学。比如:可以对应电子器件的开关状态、对应信号电压状态(+5V 等价于逻辑"1",0V 等价于逻辑"0")、对应卡带是否打孔状态、电磁存储(磁体状态:南为 0,北为 1)等等。
二进制广泛应用于我们生活的方方面面。比如,广泛使用的摩尔斯电码,它由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。然后,组成了 26 个字母,从而拼写出相应的单词。
当然,我们没有必要记住这些。如果一定想学,记住 SOS 就好了😀!!!
万物总有规律;有规律,就可量化;可量化,就能数字化;数字化,就能使用计算机化。
【脑机接口】未来最难、最有想象力的突破:
🔥二进制和十进制的转化
在线进制转化的工具推荐: https://tool.lu/hexconvert/
二进制和十进制数的对应
十进制 | 二进制 | 十六进制 |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | a |
11 | 1011 | b |
12 | 1100 | c |
13 | 1101 | d |
14 | 1110 | e |
15 | 1111 | f |
十进制数转二进制
十进制整数转换为二进制整数采用"除 2 取余,逆序排列"法。
十进制数 29 转成二进制就是:11101
二进制转十进制
二进制转十进制采用“权相加法”。
🔥注释
写注释的好处:
做一个人见人爱的程序员!
不写注释的好处:
做一个离职后,前公司还得求你的程序员!
注释不会出现在字节码文件中,即 Java 编译器编译时会跳过注释语句。
在 Java 中根据注释的功能不同,主要分为单行注释、多行注释和文档注释。
🐟 单行注释
单行注释使用“//”开头。
🐟 多行注释
多行注释以“/*”开头以“*/”结尾。注意,多行注释不能嵌套使用。
🐟 文档注释
文档注释以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc 标签(后期写项目时,可以生成项目的 API)
【eg】认识 Java 的三中注释类型
/**
* Welcome 类(我是文档注释)
* @author user
* @version java.18
*/
public class Welcome {
//我是单行注释
public static void main(String[ ] args/*我是行内注释 */) {
System.out.println("Hello China!");
}
/*
我是多行注释!
我是多行注释!
*/
}
🔥标识符
标识符是用来给变量、类、方法以及包进行命名的。
4 大规则:
⭐ 必须以字母、下划线_、美元符号$开头。
⭐ 其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
⭐ 大小写敏感,且长度无限制。
⭐ 不可以是 Java 的关键字。
标识符的使用规范
⭐ 表示类名的标识符:每个单词的首字母大写,如 OldMan,Woman, GoodMan
⭐ 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如 eat(), eatFood()
Java 不采用 ASCII 字符集,而是采用Unicode 字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!
【eg】合法的标识符
int a = 3;
int _123 = 3;
int $12bb = 3;
int 变量1 = 3; // 不建议使用中文命名的标识符
【eg】不合法的标识符
int 1a = 3; // 不能用数字开头
int a# = 3; // 不能包含#这样的特殊字符
int int = 3; // 不能使用关键字
🔥关键字/保留字
Java 关键字是 Java 语言保留供内部使用的,如 class 用于定义类。 我们不能使用关键字作为变量名或方法名。
abstract | assret | boolean | break | byte | case |
---|---|---|---|---|---|
catch | char | class | const | continue | default |
do | double | else | extends | final | finally |
float | for | goto | if | implements | import |
instance of | int | interface | long | native | new |
null | package | private | protected | public | return |
short | static | strictfp | super | switch | synchronized |
this | throw | throws | transient | try | void |
volatile | while |
注意:
出于应试教育的惯性思维,很多新手很可能去背上面的单词,从实战思维出发,我们不需要刻意去记!代码写多了,自然就非常熟悉了。
🔥变量(variable)
变量的本质
⭐ 变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。
⭐ 可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
⭐ Java 是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示 a 变量的空间大小为 4 个字节。
变量的声明
double salary;
long earthPopulation;
int age;
不同数据类型的常量会在内存中分配不同的空间,如下图所示。
【eg】声明变量和初始化
int age = 18;
double e = 2.718281828;
int i,j; // 两个变量的数据类型都是int
变量的分类和作用域
变量有三种类型:局部变量、成员变量(也称为实例变量)和静态变量。
⭐ 局部变量(local variable)
方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
【eg】局部变量的声明
public void test() {
int i;
int j = i+5 ; // 编译出错,变量 i 还未被初始化
}
public void test() {
int i;
i=10;
int j = i+5 ; // 编译正确
}
⭐ 成员变量(也叫实例变量 member variable)
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。
【eg】实例变量的声明
public class Test {
int i;
}
⭐ 静态变量(类变量 static variable)
使用 static 定义。 从属于类,生命周期伴随类始终,从类加载到卸载。 如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值,如上图所示。