Java入门的三个小工具:标识符、Scanner、进制
小伙伴们我又来更新博客了。今天不讲一个大主题而是三个小知识点——标识符、键盘输入和进制。变量起名能用数字开头吗怎么让程序接收用户从键盘输入的内容二进制、八进制、十六进制到底是什么和十进制怎么互相转换如果你对这些问题还不太清楚那这篇文章刚好适合你。本文将从标识符的命名规则与规范、键盘输入语句Scanner的基本使用以及进制的基础知识与转换三个方面帮你补上Java入门的这三块拼图。标识符概念1. Java 对各种变量、方法和类等命名时使用的字符序列称为标识符2. 凡是自己可以起名字的地方都叫标识符。int num 90; //num 是 number数字的缩写很适合做 90 的变量名标志符的命名规则1. 由 26 个英文字母大小写0-9或 $ 组成2. 数字不可以开头。int 3ab 1; //错误3. 不可以使用关键字和保留字但能包含关键字和保留字。如不能用关键字 class但可以用 abc_class4. Java 中严格区分大小写长度无限制5. 标志符不能包含空格//判断下面变量名是否正确 hsp //ok hspp12 //ok 1hsp //错误数字不能开头 h-s //错误不能有- x h //错误不能有空格 h$4 //ok class //错误class 是关键字 int //错误int 是关键字 double //错误double 是关键字 public //错误public 是关键字 static //错误static 是关键字 goto //错误goto 是保留字 stu_name //ok关键字和保留字关键字定义被Java语言赋予了特殊含义用作专门用途的字符串(单词)特点关键字中所有的字母都为小写以上关键字了解即可不用背后续的学习会慢慢掌握保留字介绍现有Java版本尚未使用但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字goto、const、var 等键盘输入语句介绍在编程中需要接收用户输入的数据就可以使用键盘输入语句来获取。键盘输入语句需要一个扫描器对象就是 Scanner键盘输入步骤1. 导入该类的所在包 java.util.*2. 创建该类对象声明变量3. 调用里面的功能进制介绍对于整数有四种表示方法1. 二进制01满 2 进 1以 0b 或 0B 开头int n1 0b1010; //102. 十进制0-9满 10 进 1int n2 1010; //10103. 八进制0-7满 8 进 1以数字 0 开头int n3 01010; //5204. 十六进制0-9 及 A(10)-F(15)满 16 进 1以 0x 或 0X 表示此处的 A-F 不区分大小写int n4 0X10101; //65793进制图示进制的转换二进制转十进制规则从最低位右边开始将每个位上的数提取出来乘以 2 的位数 - 1次方然后求和。如将 0b1011 转成十进制的数1 × 2⁰ 1 × 2¹ 0 × 2² 1 × 2³ 1 2 0 8 11八进制转十进制规则从最低位右边开始将每个位上的数提取出来乘以 8 的位数 - 1次方然后求和。如将 0234 转成十进制的数4 × 8⁰ 3 × 8¹ 2 × 8² 4 24 128 156十六进制转十进制规则从最低位右边开始将每个位上的数提取出来乘以 16 的位数 - 1次方然后求和。如将 0X23A 转成十六进制的数A × 16⁰ 3 × 16¹ 2 × 16²其中 A 10 10 48 512 570十进制转二进制规则将该数不断除以 2直到商为 0 为止然后将每部得到的余数倒过来就是对应的二进制。如将 34 转成二进制的数步骤除法商余数134 ÷ 2170217 ÷ 28138 ÷ 24044 ÷ 22052 ÷ 21061 ÷ 201所得余数倒过来拼接得到答案0b100010前导 0b 表示二进制十进制转八进制规则将该数不断除以 8直到商为 0 为止然后将每部得到的余数倒过来就是对应的二进制。如将 131 转成八进制的数步骤除法商余数1131 ÷ 8163216 ÷ 82032 ÷ 802所得余数倒过来拼接得到答案0203前导 0 表示八进制十进制转十六进制规则将该数不断除以 16直到商为 0 为止然后将每部得到的余数倒过来就是对应的二进制。如将 237 转成十六进制的数步骤除法商余数1237 ÷ 161413214 ÷ 16014所得余数倒过来拼接得到答案0XED前导 0X 表示十六进制E 14D 13二进制转八进制规则从低位开始将二进制每三位一组转成对应的八进制数即可。如将 0b11010101 转成八进制的数去掉前缀得到 11010101从右往左每三位一组最左边一组只有两位前面补个 0得到三个组011 010 101二进制计算八进制0110×4 1×2 1×1 330100×4 1×2 0×1 221011×4 0×2 1×1 55按顺序拼接得到答案0325前导 0 表示八进制二进制转十六进制规则从低位开始将二进制每四位一组转成对应的十六进制数即可。如将 0b11010101 转成十六进制的数去掉前缀得到 11010101从右往左每四位一组得到两个组1101 0101二进制计算十六进制11011×8 1×4 0×2 1×1 13D01010×8 1×4 0×2 1×1 55按顺序拼接得到答案0XD5前导 0X 表示十六进制D 13八进制转二进制规则将八进制数每一位转成对应的一个3位的二进制数即可。如将 0237 转成二进制的数去掉前缀得到 237每一位八进制数字分别转换为3位二进制八进制二进制201030117111按顺序拼接得到答案0b010011111前导 0b 表示二进制十六进制转二进制规则将十六进制数每一位转成对应的一个4位的二进制数即可。如将 0X23B 转成二进制的数去掉前缀得到 23B每一位十六进制数字分别转换为4位二进制十六进制十进制值二进制220010330011B111011按顺序拼接得到答案0b001000111011前导 0b 表示二进制原码、反码、补码学习了进制位运算符相关的知识就能够进行讲解但在学习位运算符之前还需要掌握原码、反码和补码的相关知识它们是由二进制数字构成的数码现代的电子计算机技术全部采用的是二进制知识点整理1. 二进制的最高位是符号位0表示正数1表示负数口诀0-0 1- -)2. 正数的原码反码补码都一样三码合一3. 负数的反码它的原码符号位不变其它位取反0-1,1-0)4. 负数的补码它的反码1负数的反码负数的补码15. 0的反码补码都是06. Java 没有无符号数换言之Java 中的数都是有符号的7. 在计算机运算的时候都是以补码的方式来运算的8. 当我们看运算结果的时候要看他的原码后续根据位运算符的详解对原码、反码、补码进行进一步学习位运算符Java 中有 7 个位运算符、|、^、~、、 和 按位与 | 按位或 ^ 按位异或 ~ 按位取反 算术右移 算术左移 逻辑右移运算规则按位与 两位全为1结果为1否则为01010 (10) 1100 (12) ------------ 1000 (8)按位或 | 两位有一个为1结果为1否则为01010 (10) | 1100 (12) ------------ 1110 (14)按位异或 ^两位一个为0一个为1结果为1否则为01010 (10) ^ 1100 (12) ------------ 0110 (6)按位取反 ~0 - 11 - 0~ 1010 (10) ------------ 0101 (5)算术右移 低位溢出符号位不变并用符号位补溢出的高位算术技巧x n可理解为 x / 2ⁿ 向下取整得到的结果)注意1010 和 1101 分别是 -6 和 -3 的补码需将补码转换成原码才能判断十进制数1010 (-6在4位表示中) 1 //向右移动1位 --------- 1101 (-3) // 补符号位1算术左移 符号位不变低位补0算术技巧x n可理解为 x * 2ⁿ 得到的结果但注意不能溢出text 1010 (10) 2 //向左移动2位 ------------------ 101000 (40)逻辑右移 也叫无符号右移运算规则低位溢出高位补01010 (10) 2 //向右移动2位 ----------------- 0010 (2)特殊说明没有 符号练习与详解以下练习题需要留意在解题时原码、反码、补码的使用方法学习相应的解题步骤按部就班地去练习才能很好地掌握相关知识以上就是白弟对 “Java 三拼图” 的详细介绍了由于期末复习导致断更一个多月在这里对小伙伴们说声抱歉。后续白弟会继续努力分享出更多、更优质的内容感谢小伙伴们的支持我们下期见