Day02_java基础 数据类型

数据类型

强类型语言

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

弱类型语言

java的数据类型分为两大类

  • 基本类型(primitive type)
  • 引用类型(reference type)
public class Demo {
    public static void main(String[] args) {
        //八大数据类型
        //整数
        int num1=10;    //最常用   4字节
        byte num2=20;   //-128~127  1字节
        short num3=30;  //2字节
        long num4=40L;   //long类型后面要在数字后面加个L    8字节

        //小数
        float num5=50.1F;   //float类型要在数字后面加个F
        double num6=3.1415926;

        //字符
        char num7='A';

        //字符串,String不是关键字,类
        String num8="哈哈哈哈";

        //布尔值:是非
        boolean flag=true;
        //boolean flag=false;
       //字符拓展
        char c1='a';
        char c2='中';

        System.out.println(c1);
        System.out.println((int)c1);      //强制转换
        System.out.println(c2);
        System.out.println((int)c2);      //强制转换
        //所有字符的本质还是数字
        //编码      Unicode 表:(97=a 65=A)2字节 0~65526 Excel 2^16=65536

        //U0000  UFFFF
        char c3='u0061';
        System.out.println(c3);  //a
        //转义字符
        // 	  制表符
        // 
  换行
        //......
        System.out.println("Hello
World");
       //所有的字符本质还是数字
        //编码   Unicode 表:(97=a  65=A)   2字节 0~65536     Excel       2 16=65536
        //u0000  UFFFF
        char c3='u0061';
        System.out.println(c3);

        //转义字符
        // 	
        System.out.println("hello	World!");
        System.out.println("======================================");

        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);
        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);
        //对象    从内存分析
        //布尔值拓展
        boolean flag=true;
        if (flag==true){}       //新手
        if(flag){}      //老手
        //Less is More!     代码要精简易读  
    }
}


什么是字节

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

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

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

  • 1bit表示1位

  • 1Byte表示一个字节1B=8b

  • 1024B=1KB

  • 1024KB=1M

  • 1024M=1G

  • 1024G=1TB

数据类型拓展及面试题

public class Demo02 {
    public static void main(String[] args) {
        //整数拓展:         进制          二进制0b       十进制     八进制0    十六进制0x
        int i = 10;
        int i2 = 010;    //二进制
        int i3 = 0x10;    //十六进制


        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("===================================");

        //浮点数拓展     银行业务怎么表示?钱
        //BigDecimal     数学工具类
        //float     有限      离散      舍入误差    大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f =0.1f;  //0.1
        double d =1.0/10;   //0.1
        System.out.println(f==d);   //false
        /*System.out.println(f);
        System.out.println(d);*/
        float d1 = 211212312;
        float d2 = d1+1;
        System.out.println(d1==d2);     //true
    }
}

原文地址:https://www.cnblogs.com/lemonlover/p/13973695.html