数据类型(基本)加拓展

数据类型

  • 强类型语言

    • 要求变量的使用要严格
  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本数据类型(primitive type)

      整数类型:byte ,short ,int ,long ;浮点类型:folat ,duoble ;字符类型:char ;布尔类型:boolean

    在这里插入图片描述

    • 引用数据类型(reference type)

    ===========================================

    一个二进制=1位(bit)【负数的二进制是原正数的取反加一】

一个字节(byte)=8位(0011-1000)

  • 变量值取值范围(超出会损失精度)
    byte :范围=——负2的7次幂~~2的7次幂 -1
    short:范围=负2的15次幂~2的15次幂-1
    int:范围=负2的31次幂~2的31次幂-1
    long:范围=负2的63次幂~2的63次幂-1

进制转换

进制转换细节

进制:二机制0b 十进制 八进制0 十六进制0x

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
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
    }
}

结果i=10(十进制)

i2=8(八进制10》二进制001000》十进制》8)

i3=16(十六进制10》二进制00010000》16)

三个二进制=一个八进制 四个二进制等于一个十六进制

基本数据拓展及面试题

  • 整型
public class Demo03 {
    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
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
    }
  • 浮点类型(做比较会有 误差)
public class Demo03 {
    public static void main(String[] args){
        //==============================================================================
        //浮点数扩展!!  银行业务怎么表示?钱
        //BigDecimal  教学工具类
        //浮点数    有限  离散 舍入误差 大约 接近但等于
        //最好不要使用浮点数进行比较
        //最好不要使用浮点数进行比较
        //最好不要使用浮点数进行比较
        //=============================================================================

        float f=0.1f;
        float  f1=1.0f/10f;

        System.out.println(f==f1);//ture

        float f3=0.1f;
        double d=1.0/10;
        System.out.println(f3==d);//false

        float f4=73284328964f;
        double d1=f4+1;
        System.out.println(f4==d1);//ture
    }

  • 字符(本质数字)和转义字符(作用)
public class Demo03 {
    public static void main(String[] args){
        //字符拓展?
        //==============================================================================
        System.out.println("============================================");
        char c='a';
        char c1='学';
        System.out.println(c);
        System.out.println((int)c);//强制转换
        System.out.println(c1);
        System.out.println((int)c1);//强制转换

        //所有字符本质还是数字
        //编码 (表)Unicode表 2字节  97=a
        //其表示为U0000~UFFFF例:
        char c3='\u0062';
        System.out.println(c3);//b

        //转义字符\t(制表符TAB)   \n(换行)   \b(退格)相当于backspace  \r(按下回车键)windos系统中回车符有两个

        System.out.println("Hello\tWorld");//相当于结果按下制表符
        System.out.println("Hello\nWorld");//相当于结果换行
        System.out.println("Hello\bWorld");//相当于结果删了一个(backspace)
        System.out.println("Hello\rWorld");//相当于结果敲了下回车,但没有换行,如果输出则可能会覆盖原有的已经输出的字符
    }

  
  • 布尔值扩展(精简易读 经验)
public class Demo03 {
    public static void main(String[] args){
        //boolean布尔值扩展
        boolean flag= true;
        if (flag==true){}//新
        if(flag){}//结果一样(默认)老
        //代码要精简易读 Less is More!
        //从对象 从内存分析
    }

从对象 从内存分析!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值