标识符的命名规则和规范
![](https://img-home.csdnimg.cn/images/20240711042549.png)
目录
标识符的命名规则(必须遵守)
标识符命名规范[更加专业]
关键字
保留字
进制(程序员的基本功)
进制介绍
进制的转换(基本功)
二进制在运算中的说明
原码、反码、补码(重点 难点)
位运算符
本章作业
标识符的概念
- Java对各种变量,方法和类等命名时使用的字符序列称为标识符
- 凡是自己可以起名字的地方都叫标识符 int num1 = 99;
标识符的命名规则(必须遵守)
- 由26个英文字母大小写,0-9,_或 $ 组成
- 数字不可以开头。int 5abc = 1;//错误
- 不可以使用关键字和保留字,但是可以包含关键字和保留字
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。int a b = 99;//错误
标识符命名规范[更加专业]
(1)包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.xjs.com
(2)类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰] 比如: TankShotGame
(3)变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小 驼峰, 简称 驼峰法] 比如: tankShotGam
(4)常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
关键字
定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写。
保留字
Java 保留字:现有 Java 版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留 字 byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const
进制(程序员的基本功)
进制介绍
对于整数,有四种表示方式:
- 二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。
- 十进制:0-9 ,满 10 进 1。
- 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
- 十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。
//演示四种进制
//
public class BinaryTest {
//编写一个main方法
public static void main(String[] args) {
//n1 二进制
int n1 = 0b1010;
//n2 10进制
int n2 = 1010;
//n3 8进制
int n3 = 01010;
//n4 16进制
int n4 = 0X10101;
System.out.println("n1=" + n1);
System.out.println("n2=" + n2);
System.out.println("n3=" + n3);
System.out.println("n4=" + n4);
System.out.println(0x23A);
}
}
进制的转换(基本功)
二进制转换成十进制示例:
八进制转换成十进制示例:
十六进制转换成十进制:
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的(位数-1)次方,然后求和。
案例:请将 0x23A 转成十进制的数 0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16^2 = 10 + 48 + 512 = 570
十进制转换成二进制:
规则:将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的二进制。 案例:请将 34 转成二进制 = 0B00100010
十进制转换成八进制:
规则:将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的八进制。 案例:请将 131转成八进制 => 0203
十进制转换成十六进制:
规则:将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。
案例:请将 237 转成十六进制 => 0xED
二进制转换成八进制:
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
案例:请将 ob11010101 转成八进制 ob11(3)010(2)101(5) => 0325
二进制转换成十六进制:
规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
案例:请将 ob11010101 转成十六进制 ob1101(D)0101(5) = 0xD5
八进制转换成二进制:
规则:将八进制数每 1 位,转成对应的一个 3 位的二进制数即可。
案例:请将 0237 转成二进制 02(010)3(011)7(111) = 0b10011111
十六进制转换成二进制:
规则:将十六进制数每 1 位,转成对应的 4 位的一个二进制数即可。
案例:请将 0x23B 转成二进制 0x2(0010)3(0011)B(1011) = 0b001000111011
二进制在运算中的说明
点击观看学习视频
https://www.bilibili.com/video/BV1fh411y7R8?p=99
(1)二进制是逢2进位的进位制,0、1是基本运算符。
(2)现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符合,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(binary)数用0和1两个数字及其组合表示任何数。进位规则是“逢2进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
原码、反码、补码(重点 难点)
位运算符
java 中有 7 个位运算(&、|、 ^ 、~、>>、<< 和 >>>)
//位运算
public class BitOperator {
//编写一个main方法
public static void main(String[] args) {
//推导过程
//1. 要得到 2的补码 => 先得到2的原码 00000000 00000000 00000000 00000010
// 2的补码 00000000 00000000 00000000 00000010
//2. 3的补码 => 3的原码 00000000 00000000 00000000 00000011
// 3的补码 00000000 00000000 00000000 00000011
//3. 按位&
// 00000000 00000000 00000000 00000010
// 00000000 00000000 00000000 00000011
// 00000000 00000000 00000000 00000010 & 运算后的补码
// 运算后的结果看原码 也是 00000000 00000000 00000000 00000010
// 结果就是 2
System.out.println(2&3);//2
//推导
//1. 先得到 -2的原码 10000000 00000000 00000000 00000010
//2. -2的 反码 11111111 11111111 11111111 11111101
//3. -2的 补码 11111111 11111111 11111111 11111110
//4. ~-2操作 00000000 00000000 00000000 00000001运算后的补码
//5. 运算后的原码 就是 00000000 00000000 00000000 00000001 => 1
System.out.println(~-2);//1
//推导
//1. 得到2的补码 00000000 00000000 00000000 00000010
//2. ~2操作 11111111 11111111 11111111 11111101 运算后的补码
//3. 运算后的反码 11111111 11111111 11111111 11111100
//4. 运算后的原码 10000000 00000000 00000000 00000011=>-3
System.out.println(~2); //-3
}
}
还有 3 个位运算符 >>、>> , >>> 运算规则:
(1)算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位
(2) 算术左移 <<: 符号位不变,低位补 0
(3)>>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0
(4) 特别说明:没有 <<< 符号
public class BitOperator02 {
//编写一个main方法
public static void main(String[] args) {
System.out.println(1 >> 2); //0
System.out.println(1 << 2); //4
System.out.println(4 << 3); // 4 * 2 * 2 * 2 = 32
System.out.println(15 >> 2); // 15 / 2 / 2 = 3
System.out.println(-10.4%3); // -1.4近似值
int i=66;
System.out.println(++i+i); //134
}
}
polaris_coder: 3.代码块 ->3.4 代码块使用注意事项 ->7.这里面的普通方法应该改成普通代码块,
要学就学灰太狼: 谢谢
polaris_coder: 好兄弟,写的很好,点赞
polaris_coder: 好家伙,看你的博客温习温习
qyf8210380: 有个问题你说 [code=html] 系统的最大打开文件数>= worker_connections*worker_process [/code] 那你把系统的最大文件数只改成65535 那最后 60000*2 比还是比系统的 65535 大吗, 这样你的worker_connections 不是最大只能32767 吗?