Java基础03:数据类型

数据类型

强类型语言
  • 要求变量的使用严格符合规定,所有变量都必须先定义才能使用
弱类型语言

Java属于强类型语言

Java的数据类型分为两大类
  • 基本类型(primitive type)
  • 引用类型(reference type)
    Java基本数据类型
    Java引用数据类型
变量
  • 变量是什么:就是可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  2. 变量名必须是合法的标识符
  3. 变量声明是一条完整的语句,因此每一个声明必须以分号结束
public class Demo {
    public static void main(String[] args) {
        //八大数据类型

        //整数
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30l;//long类型要在数字后面加个L或l

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

        //字符
        char name = 'A';
        //字符串,String不是关键字,是类
        String namea = "pan pan";

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

    }
}

什么是字节

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

1024B = 1KB
1024KB = 1M
1024M = 1G
1024G = 1T

数据类型扩展

  1. 整数拓展
  • 进制:二进制、八进制、十进制、十六进制
    -八进制必须以0开头
    -十六进制必须以0x或0X开头
public class Demo {
    public static void main(String[] args) {
        //整数拓展: 进制     二进制0b    十进制     八进制0    十六进制0x
        System.out.println("------------整数拓展-------------");
        int i = 10;
        int i1 = 0b10;  //二进制0b
        int i2 = 010;   //八进制0
        int i3 = 0x10;  //十六进制0x  0~9 A~F

        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
  1. 浮点数拓展
  • 单精度浮点类型:float,由于很多数字无法精确的表示结果之恩那个是一个大约数,故会出现下面不一样的值相等的情况(???)
  • 双精度浮点类型:double
        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

        float d1 = 2331323232422f;
        float d2 = d1 + 1;
		
		double d3 = 123323111.0;
		double d4 = d3+1;

        System.out.println(d1==d2);//true
        System.out.println(d3==d4);//false
  1. 字符拓展
  • 转义字符
    在这里插入图片描述
        System.out.println("--------------字符拓展-----------------");
        //字符拓展?
        char c1 = 'a';
        char c2 = '中';

        //所有的字符类型本质还是数字
        //编码    Unicode表    2字节   0~65536
        System.out.println(c1);
        System.out.println((int)c1);    //强制转换类型
        System.out.println(c2);
        System.out.println((int)c2);    //强制转换类型

        //U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);//a

        //转义字符
        //\t    制表符
        //\n    换行
        //     ......
        System.out.println("Good\nmorning@~@");

问题:对象与变量的区别???

        System.out.println("----------------------------");
        //对象  从内存的角度分析
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//false

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);//true
  1. 布尔值拓展
        System.out.println("------布尔值扩展-------");

        boolean flag = true;
        if(flag==true){}    //新手
        if(flag){}     //老手
        System.out.println("Less is More!!!");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值