Java day02

强类型语言(安全性高,速度慢,比如Java):

要求变量的使用要严格符合规定,所有变量必须先定义后再使用

弱类型语言(比如JavaScript):

要求变量比较随意


 

数据类型:

  整数类型:byte(1个字节范围)-128—127,short(2个字节范围)-32768—32767,int(4个字节范围)-2147483648—2147483647,long(8个字节范围)太长了==

      一般都用int

  浮点类型(小数):float(4个字节范围),double(8个字节范围)

          常用double

  字符类型:char(2个字节范围)例如 ‘中’

 

Boolean类型:占1位,其值只有true和false两个

        //八大基本数据类型
        //整数

        byte num0 = 20;
        int num1 = 30; //最常用
        short num2 = 30;
        long num3 = 30L; //Long类型要在数字后面加个L

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

        //字符
        char name = 'A'; // 字符只能写单独的字,例如’AB‘就无法写,能写’亲‘不能写 ‘亲吻’。
        //字符串,String和其他的不同不是关键字,是类
        String nameA = "AB";
        String nameB = "亲吻";

        //布尔值: 是非
        boolean flag = true;
        //boolean flag = false;

 

位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。

字节(byte):是计算机中数据处理的基本单位,习惯用大写B来表示,1B(byte,字节)= 8 bit(位)

字符:是指计算机中使用的字母,数字,字和符号

1bit表示1位

1byte表示一个字节,1B=8b

1024B=1KB

1024KB=1M

1024M=1G

1024G=1TB

电脑的32位等于4个字节,64位等于8个字节.

32位只有4GB


 

拓展

public class Demo3 {
    public static void main(String[] args) {
        //整数拓展  进制          二进制0b         十进制         八进制0         十六进制0x
        int i = 10;
        int i2 = 010;//八进制0
        int i3 = 0x10;//十六进制0x  0~9 A~F 16 (0x// 11的output是17,以此类推)

        System.out.println(i); //output是10
        System.out.println(i2); //output是8
        System.out.println(i3); //output是16

        //=========================================================================
        //浮点数拓展? 银行业务怎么表示?钱
        // BigDecimal 数学工具类(进行比较可以用这个)
        //=========================================================================

        //float     有限      离散      舍入误差        大约      接近但不等于
        //double
        //最好完全使用浮点数进行比较

        float f = 0.1F; //0.1
        double d = 1.0 / 10; //0.1

        System.out.println(f == d); // ==表示是否等于。 output:false   f:0.1 d:0.1
        System.out.println(f); // output: 0.1
        System.out.println(d); //output: 0.1

        float d1 = 23123212213213133123F;
        float d2 = d1 + 1;

        System.out.println(d1 == d2);//output:true

        //=========================================================================
        //字符拓展?
        //=========================================================================
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int) c1);//强制换行 output:97
        System.out.println(c2);
        System.out.println((int) c2);//强制换行 output:20013
        //所有字符本质还是数字
        //编码 Unicode 表:(97 = a  65 = A)    2字节     65536       Excel       2的16次方 = 65536

        //U0000 UFFFFF

        char c3 = '\u0061';

        System.out.println(c3); //output: a

        //转义字符
        // \t   制表符
        // \n   换行
        //......

        System.out.println("Hello\tWorld");// output: Hello World

        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa == sb); //output:false

        String sc = ("hello world");
        String sd = ("hello world");
        System.out.println(sc == sd); //output:true

        //对象    从内存分析

        //布尔值扩展
        boolean flag = true;
        if (flag == true) {} //新手
        if (flag) {} //老手
        //Less is More! 代码要精简易读
    }
}

 

posted @ 2020-11-24 02:12  爱java的luluxiu  阅读(56)  评论(0)    收藏  举报