注释与数据结构(三)

注释与数据类型

注释

  1. 单行注释 //
  2. 多行注释 /*
  3. 文档注释 /**

八大数据类型

public class Hello {
    public static void main(String[] args) {
        //单行注释 //
        /*
        多行注释 /*
        多行注释
         */
        /**
         * 文档注释 /**
         */
        //八大数据类型
        //整型
        Byte num1 = 10;
        int num2 = 20;
        short num3 = 30;
        long num4 = 40L; //long型需要在后面加一个L表明
        //浮点型
        float num5 = 10.1F; //float型需要在后面加一个F表明
        double num6 = 3.1415;
        //字符
        char c = 'A';
        //布尔型
        boolean flag = true;
        boolean flag2 = false;
    }
}

位与字节

位bit:即二进制中的0和1

字节byte:1字节 = 8位

1024B = 1KB

1024KB = 1M

1024M = 1GB

拓展

import java.math.BigDecimal;


public class Demo1 {
    public static void main(String[] args) {
        //整型拓展
        int a = 10;
        int b = 010;  //8进制0
        int c = 0x10;  //16进制0x

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println("====================");
        //浮点数拓展
        float f = 1.01f; //float是有精度损失的
        double d = 1.01;

        System.out.println(f);
        System.out.println(d);
        System.out.println(f==d); //为false

        float f2 = 11111111111111111f;
        float f3 = f2 + 1;

        System.out.println(f2==f3); //为true
        //最好完全避免使用浮点数进行比较,可以使用BigDecimal,例子如下
        BigDecimal b1 = new BigDecimal(f2);
        BigDecimal b2 = new BigDecimal(f3);
        System.out.printf("b1==b2的结果是%b\n", b1==b2);
        System.out.println("====================");
        char c1 = 'A';
        char c2 = '中';
        System.out.println((int)c1);
        System.out.println((int)c2); //字符的本质其实还是数字
        System.out.println((char)65); //将数字转换为字符
        System.out.println("====================");

        //字符拓展
        System.out.println("Hello\nWorld"); //换行
        System.out.println("Hello\tWorld"); //空格
        System.out.println("====================");

        //布尔拓展
        boolean f1 = true;
        if (f1==true) {} //等价于下面的简写
        if (f1) {}
    }
}

类型转换

Byte, short,char --> int --> long --> float --> double

低--------------容量--------------->高

从低到高转换会自动转换,从高到低需要强制转换

public class Demo3 {
    public static void main(String[] args) {
        int i = 128;
        float f = i; //容量从低到高会自动转换-->128.0
        System.out.println(f);

        double d = 3.1415926;
        int i2 = (int) d; //容量从高的切换到低的需要强制转换-->3
        System.out.println(i2);

        double c = -99999.9999;
        short i3 = (short) c; //内存溢出情况-->31073
        System.out.println(i3);
        /*
        注意点:
        1. 不能对布尔型进行转换
        2. 不能把对象类型转换为不相关的类型
        3. 高容量类型转换为低容量类型,需要强制转换
        4. 转换的时候可能存在内存溢出或精度问题
         */
    }
}
posted @ 2021-02-06 15:58  LucaZ  阅读(69)  评论(0编辑  收藏  举报