〔002〕Java 基础之语法、数据类型、进制转换、运算符

小明 2025-04-30 01:49:52 4

✨ 目录

    • ▷ 语法之注释
    • ▷ 语法之字面量
    • ▷ 语法之变量
    • ▷ 语法之变量注意事项
    • ▷ 语法之关键字和标识符
    • ▷ 数据存储的原理
    • ▷ 特殊数据存储的原理
    • ▷ 进制之间的转换
    • ▷ 程序中不同进制的写法
    • ▷ 基本数据类型
    • ▷ 强制类型转换
    • ▷ 算术运算符
    • ▷ 自增自减
    • ▷ 赋值运算符
    • ▷ 关系运算符
    • ▷ 逻辑运算符
    • ▷ 三元运算符
    • ▷ 下载官方API文档
    • ▷ 使���内置 Scanner 扫描包接收用户输入信息

      ▷ 语法之注释

      • 注释: 是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的
      • 注释分为 单行注释 和 多行注释,注释的内容并不会被编译,所以 不会影响 代码的运行
      • 单行注释通过 // 进行标注,只能注释一行
      • 多行注释通过 /* 注释内容 */ 进行标注,可以注释多行
        package tiny.geeker;
        /**
         * 文档注释:学习注释的语法
         */
        public class Test {
            public static void main(String[] args) {
                // 单行注释:输出Hello World
                System.out.println("Hello World");
                /*
                    Author: tinygeeker
                    Date: 2023/11/10
                    Desc: 多行注释:计算 1+2 的值
                */
                System.out.println(1 + 2);
            }
        }
        

        ▷ 语法之字面量

        • 计算机是用来处理数据的,字面量就是告诉程序员,数据在程序中的书写格式
        • 分别有 整数、小数、字符、字符串、布尔值、空值
        • 其中 整数 和 小数 与数学中写法一致
        • 字符 需要用 单引号 包裹,必须有且仅能有一个字符
        • 字符串 需要用 双引号 包裹,内容可有可无
        • 布尔值 也就是真(true) 或 假(false),只有两个值
        • 空值 是一个特殊的值,为 null,后面再讲
          package tiny.geeker;
          public class Test {
              public static void main(String[] args) {
                  // 整数
                  System.out.println(520);
                  // 小数
                  System.out.println(13.14);
                  // 字符
                  System.out.println('爱');
                  // 字符串
                  System.out.println("飞兔小哥");
                  // 布尔值
                  System.out.println(true);
                  System.out.println(false);
              }
          }
          

          ▷ 语法之变量

          • 变量 是用来记住程序要处理的数据的
          • 变量的定义格式:数据类型 变量名称 = 数据,例如 int age = 20
          • 其中 数据类型 是用来限制数据的形式,比如:int(整数类型)、double(小数类型)
          • 变量名称 建议首字母小写
          • 数据 是用来给变量赋值用的
            package tiny.geeker;
            public class Test {
                public static void main(String[] args) {
                    // 定义一个年龄的整数变量
                    int age = 20;
                    System.out.println(age);
                    // 定义一个分数的小数变量
                    double score = 59.5;
                    System.out.println(score);
                }
            }
            

            ▷ 语法之变量注意事项

            • 第一: 变量要先声明才能使用
            • 第二: 变量是什么类型,就应该用什么类型的数据,否则会报错
            • 第三: 变量是从定义开始到 } 截止的范围内有效,且同一个范围内,多个变量名不能重复
            • 第四: 变量定义的时候可以不赋值,但是在使用的时候必须有值,否则报错

              ▷ 语法之关键字和标识符

              • 定义变量的时候,例如 int age = 20;其中 age 不能使用一些关键字,也就是 Java 语言自己用过的词,因为有特殊作用
              • 因此 关键字 是 Java 用了的,不能用来做 类名 和 变量名,否则会报错
              • 常见的关键词有很多,比如 public、abstract、catch、case、int、double、break、byte 等等,虽然关键字很多,但是不用刻意去记住,因为编辑器中会报错的,如果报错要考虑到使用了这些关键词就行
              • 标识符就是写程序起的一些名字,比如变量名,需要注意的是,变量名 不能以数字开头,也不能用关键字,且 区分大小写

                ▷ 数据存储的原理

                • 计算机中的数据是以 二进制 进行存储的,不管是字符、图片还是音频,都是以二进制进行存储的
                • 而存储的最小单元称为 字节(byte),一个字节是使用8个二进制位组成的,也就是 1B = 8b
                • 十进制是逢十进一,因此二进制是逢二进一,因此 十进制的中的2 = 二进制中的10
                • 比如在计算器选择程序员专用,输入 2,将类型调整为 byte,可以看到总共占据了 8个二进制位,值为 0000 0010
                • 虽然上面说 十进制的中的2 = 二进制中的10,但是一个字节占 8 个位,所以不足的会默认补上 0,因为最终值为 0000 0010

                  ▷ 特殊数据存储的原理

                  • 其实字符、图片、音频都是存储的二进制数据
                  • 其中字符存储的是 ASCII 码表的数值
                  • 图片存储的是三原色的值,因为三原色可以用 0-255 的数值进行标识
                  • 音频可以存储波形图,也就数值而已
                  • 例:计算 'a' + 1 = 98,那是因为 a 在 ASCII 码表中的值为 97,就可以很好理解了

                    ▷ 进制之间的转换

                    • 虽然知道了存储数据用的是二进制,但是二进制非常不便于观察,因此平时用的都是十进制
                    • 当然程序中,还发明了 八进制 和 十六进制 来更好的观察和表示二进制
                    • 八进制: 是每3位二进制作为一个单元,00、000、000,其中最小值为0,最大值为8,总共8个数字,成为 八进制
                    • 十六进制: 是每4位二进制作为一个单元,0000、0000,其中最小值为0,最大值为15,依次用 0-9、A、B、C、D、E、F 来标识这16个数,称为 十六进制
                    • 当然这些进制之间都是可以进行相互转换的
                    • 十进制转二进制: 使用的是 除二取余法

                      ▷ 程序中不同进制的写法

                      • 二进制需要用 0B 或者 0b 打头
                      • 八进制需要用 0 打头
                      • 十六进制需要用 0X 打头

                        ▷ 基本数据类型

                        • 基本数据类型分为 4大类八种
                        • 每种类型对应的数据范围是不同的,其中类型范围小的,可以直接赋值给类型范围大的

                          ▷ 强制类型转换

                          • 正常来说,将一个大类型的值赋值给小类型会报错,但是可以通过强制类型转换解决

                            ▷ 算术运算符

                            • 算术运算符包括 +(加)、-(减)、*(乘)、/(除)、%(取余数)
                            • 需要注意的是:两个整数相除的结果还是整数、加号也可以用来链接数字和字符串

                              ▷ 自增自减

                              • 可以通过 ++a 或者 a++ 实现变量自增 1
                              • 可以通过 --a 或者 a-- 实现变量自减 1
                              • 符号如果在前,是先运算再赋值,如果符号在后,是先赋值再运算

                                ▷ 赋值运算符

                                • 赋值运算符包括 +=(加等)、-=(减等)、*=(乘等)、/=(除等)、%=(余等)
                                • 比如 b += a 就等于 b = b + a,其他的以此类推

                                  ▷ 关系运算符

                                  • 关系运算符包括 >(大于)、>=(大于等于)、2 多个条件必须都是 true,结果才是 true;有一个是 false,结果就是 false
                                  • |(逻辑或): 多个条件中只要有一个为 true,结果就是 true
                                  • !(逻辑非): 取反,你真我假,你假我真。!true == false、!false == true
                                  • ^(逻辑异或): 比如 2>1 ^ 3>1 前后条件的结果相同,就直接返回false,前后条件的结果不同,才返回 true

                                    ▷ 三元运算符

                                    • 三元运算符的格式:条件表达式 ? 值1 : 值2
                                    • 先执行条件表达式,如果条件成立,则返回值1,否则返回值2

                                      ▷ 下载官方API文档

                                      • 由于 java 中内置了很多的 API,可以直接拿来用,所以需要参考一下官方的 API 文档
                                      • 文档的下载地址,一般在下载 JDK 文件的下方,当然也可以直接在搜索引擎中检索 JDK API 即可

                                        ▷ 使用内置 Scanner 扫描包接收用户输入信息

                                        • 要使用内置 API,需要先通过 import 导入所需要的包
                                        • 然后通过 new 实例化后,即可使用该包中的功能了
                                          package tiny.geeker;
                                          import java.util.Scanner;
                                          public class Test {
                                              public static void main(String[] args) {
                                                  // 实例化
                                                  Scanner sc = new Scanner(System.in);
                                                  // 接受用户输入指令
                                                  System.out.println("请输入你的名字:");
                                                  String name = sc.next();
                                                  System.out.println("名字是:" + name);
                                                  System.out.println("请输入你的年龄:");
                                                  int age = sc.nextInt();
                                                  System.out.println("年龄是:" + age);
                                              }
                                          }
                                          

The End
微信