java基础(数据类型)

Java基础语法

注释

  • 单行注释
  • 多行注释
  • 文档注释

标识符

关键字

Java所有的组成部分都需要名字。类别、变量名以及方法名都被称为 标识符。

标识符注意点

字节

  • 位(bit): 是计算机内部数据储存的最小单位,11001100 是一个八位二进制数
  • 字节(byte) : 是计算机中 数据处理的基本单位,习惯上用大写 B 来表示
  • 1 B (byte,字节) = 8bit (位)
  • 字符:是指计算机中使用的字母、数字、字和符号

数据类型

强类型语言:要求变量使用严格规定,所有变量都必须先定义后才能使用
Java数据类型分为两大类

  • 基本类型
  • 引用类型

基本数据类型

public class demo01 {
    public static void main(String[] args) {
        // 八大基本数据类型
        // 整数
        int num1 = 10;   // 最常用
        byte num2 = 20;  // -128 -- 127
        short num3 = 30;
        long num4 = 30L; // Long类型要在数字后加个L

        // 小数:浮点数
        float num5 = 50.11111F; // float类型要在数字后面加个F
        double num6 = 3.1415926535897;

        // 字符
        char name = 'S';
        // 字符串,String不是关键字,是类
        String name1 = "aaaaa";

        // 布尔值
        boolean  flag = true;


    }
}

字符拓展

public class demo02 {
    public static void main(String[] args) {
        // 整数扩展 : 进制 二进制0b 十进制 八进制0 十六进制0x
        int i = 10;
        int i2 = 010; // 八进制0
        int i3 = 0X10; // 十六进制0x A ~ F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);

        // =========================================================================================
        // 浮点数扩展  银行业务如何表示
        //  BigDecimal 数学工具类
        // =========================================================================================
        // float  有限 离散 舍入误差  大约 接近但不等于
        // double
        // 最好完全避免使用浮点数进行比较 !!!
        float f = 0.1f; // 0.1
        double d = 1.0/10; //0.1
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);

        // =========================================================================================
        // 字符扩展
        // =========================================================================================

        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int)c1);   // 强制转换
        System.out.println(c2);
        System.out.println((int)c2);

        // 所有的字符本质还是数字
        // 编码 Unicode 2字节  0-65536  65 = A ....

        // U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3); // a
        // 转义字符
        // \t 制表符
        // \n 换行
        // .....
        // ==================================================================================
        // 布尔值扩展  -- 代码要精简易读
        boolean flag = true;
        if(flag){
        }
    }
}

转义字符

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

    低 ------------------------------------------> 高
    byte,short,char -> int -> long -> float -> double
    
  • 运算时,不同类型的数据先转化为同一类型,然后进行运算。

public class demo03 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i; // 内存溢出

        // 强制转换 (类型)变量名    高 -> 低
        // 自动转换    低 -> 高
        double c = i;
        System.out.println(i); // 128
        System.out.println(b); // -128

        /*
         注意点:
         1.不能对布尔值进行转换
         2.不能把对象类型转为不相关的类型
         3.在把高容量转换为低容量的时候,强制转换
         4.转换的时候可能存在内存溢出,或者精度问题
        */
        System.out.println((int)23.7); // 23 -- 精度问题

        // =========================================================================
        // 操作比较大的数的时候,注意溢出问题
        // JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;  // 20亿

        int year = 20;
        int total = money*year; // 计算时内存溢出
        long total2 = money*year; // 默认是int,转换之前已经存在问题

        long total3 = money*((long)year); // 先把一个数转化为long
        System.out.println(money);

        // 尽量都用大写 L --代码要规范
    }
}
posted @ 2022-04-24 16:24  小杨爱学习!  阅读(69)  评论(0编辑  收藏  举报