day05

本文详细介绍了Java中的数据类型,包括基本类型如整数、浮点数、字符和布尔值,以及引用类型如类、接口和数组。同时,文章探讨了字节的概念和位的运算,并展示了不同进制之间的转换。此外,还提到了浮点数在银行计算中的精度问题以及字符的Unicode编码。最后,通过实例展示了字符串对象的比较和转义字符的使用。
摘要由CSDN通过智能技术生成

类型

数据类型

public class type {


    public static void main(String[] args) {
        String name="hello,world";
        int num=10;
        System.out.println(name);
        System.out.println(num);

    }
}

JAVA数据类型分类

1. 基本类型

数值类型:

  1. 整数:byte占1个字节范围:-128-127;short占2个字节范围:-32768-32767;int占4个字节范围:-2147483648-2147483647;long占8个字节范围:09223372036854775808-9223372036854775807;
  2. 浮点类型:float占4个字节;double占8个字节;
  3. 字符类型:char占两个字节;

boolean类型:占1位其值只有true和false两个;

public class type {


    public static void main(String[] args) {
        String name="hello,world";
        int num=10;
        System.out.println(name);
        System.out.println(num);


        //八大基本数据类型
        //整数的类型
        int num1=2000000000;//最多20亿
        byte num2=127;//最长可以写到127
        short num3=30;
        long num4=30L;//加上L区分类型

        //小数。浮点数
        float num5=50.1F;
        double num6=3.14159265358589793238462643;

        //字符
        char name1='国';
        //字符串,String不是关键字,是类
        String name2="中国";

        //布尔值。是非
        boolean bool=true;
        boolean bool2=false;


    }
}

2. 引用类型

  1. 接口
  2. 数组

什么是字节

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

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

1B(byte,字节)=8bit(位)

1bit表示1位

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

1024B=1KB

1024KB=1M

1024M=1G

1024G=1TB

进制拓展

public class demo1 {
    public static void main(String[] args) {
        //整数拓展: 进制  二进制0b   十进制     八进制0    十六进制0x
        int i=10;//十进制——》输出:10
        int i1=010;//八进制转十进制——》输出:8
        int i2=0b10;//二进制转十进制——》输出:2
        int i3=0x10;//十六进制转十进制——》输出:16
        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
    }
}

在计算机里面不管是几进制的值,输出来的时候都是需要转为十进制输出来的

运用除法计算公式:当为二进制(即0b10)的时候说明二进制的值是10,转为十进制需要用2除以10商等于0余数为2,在把商(0)除以10等于0,余数是0,所以结果余数倒过来数的时候是02故二进制为10转为十进制数字输出结果为2,其他进制同理

2/10=0…2

0/10=0…0

所以10的二进制为10 那么他的十进制就为2

浮点数拓展

注意:我们的浮点数不适用与银行,因为float和double里面的数值是取的四舍五入的值

比如下面的代码

//浮点数扩展?银行业务使用
        //BigDecimal 数学工具类
        //======================================================
        //float 有限 离散 舍入有误差,大约,接近不等于
        //double
        //最好使用浮点数进行比较
        float f=0.1f;
        double d=1.0/10;//0.1
        System.out.println(f==d)//false;
        System.out.println(f);
        System.out.println(d);
        float d1=21313131;
        float d2=d1+1;
        System.out.println(d1==d2)//true;

从结算结果来讲f==d=0.1数据是正确的,但是呢命令返回的是false,因为舍入误差所以是不等的

但是d1和d2明明是不等的,最后系统返回的是true,所以误差导致这两个数字不等,一般银行都是会用到一个类来计算金额,这个类为BigDecimal 数学工具类

字符拓展

//字符扩展?
        //======================================================
        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println(c2);

        //强制转换
        System.out.println((int)c1);
        System.out.println((int)c2);

        //所有的字符本质还是数字
        //编码 Unicode 是一张表 一个数字对应了一个字符
        //U0000   UFFFF属于数字对应的范围
        char c3='\u0062';//表示的是在Unicode表里面62位是b
        System.out.println(c3);

这里c1和c2做了int强制转换之后会变成数字,因为每一个字符的本质来源也是数字,在一张表里面用每一个数字代表了一个字符,我们可以直接做编译,通过u0000里面也可以打印出数字

转义字符

转义字符;可以直接在字符串之间加入,可以执行相关的操作

  1. \b 退格

  2. \t 横向制表符

  3. \n 换行

  4. \f 走纸换页

  5. \r 回车

  6. " 双引号

  7. ’ 单引号

  8. \ 反斜杠

  9. \xxx 八进制转义符

  10. \uxxxx 十六进制转义符

对象扩展

新对象和赋值的取值不一样所以执行的结果会有差距

//new一个新对象值是不等的false
String sa=new String("hello,world");
String sb=new String("hello,world");
System.out.println(sa==sb);

//这是直接赋值所以最后返回的是true
System.out.println("===================================");
String sc="hello,world";
String sd="hello,world";
System.out.println(sc==sd);

//if判断代码满足条件执行相关操作
System.out.println("========================================");
boolean b=true;
if (b){
    System.out.println("您好返回的结果是"+(sc==sd));
}else {
    System.out.println("您好返回的结果是"+(sa==sb));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值