java数据类型


总览
在这里插入图片描述

一,基本数据类型之包装

拓展:包装数据类型:顾名思义就是数据类型的包装版本;
举个简单例子,在我家乡我们把土豆叫做洋芋,土话
但如果说正式的话叫做马铃薯;
那么好
土话:土豆,洋芋
包装话:马铃薯
但他们本质都是同一种东西

包装类型暂时用的不多,不多讲,不过会讲个用法,让大家见识见识

数据类型包装类数据类型
byteBite
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

记忆:除了char与int类型特殊,其他均大写首字母
int---->Integer
char---->Character

1,整型

注意1:java并没有C里面的long long等其他多余数据类型,并且会有bite这一新类型,重点关注一下;
整型:用于存放整数
整型分为byte,short,int ,long
以下是用代码运行得出的各整型的范围(包装类用法之一)
①byte

public class Main {
    public static void main(String[] args) {
        //打印bite的范围
        System.out.println("byte的范围为:"+Byte.MIN_VALUE+"到"+Byte.MAX_VALUE);
    }
}

c
在这里插入图片描述
②short

public class Main {
    public static void main(String[] args) {
        //打印short的范围
        System.out.println("short的范围为:"+Short.MIN_VALUE+"到"+Short.MAX_VALUE);
    }
}

范围结果
在这里插入图片描述
③int

public class Main {
    public static void main(String[] args) {
        //打印int的范围
        System.out.println("int的范围为:"+Integer.MIN_VALUE+"到"+Integer.MAX_VALUE);
    }
}

在这里插入图片描述
④long

![public class Main {
    public static void main(String\[\] args) {
        //打印long的范围
        System.out.println("long的范围为:"+Long.MIN_VALUE+"到"+Long.MAX_VALUE);
        }
   }

在这里插入图片描述

2,浮点型

浮点型:用于存放小数,属于实型的一种
实型:浮点型,科学计数法表示
科学计数法在最后补充
以下是用代码运行得出的各整型的范围(包装类用法之一)
①float

public class Main {
    public static void main(String[] args) {
        //打印float的范围
        System.out.println("float的范围为:"+Float.MIN_VALUE+"到"+Float.MAX_VALUE);
    }
}

在这里插入图片描述
②double

public class Main {
    public static void main(String[] args) {
        //打印double的范围
        System.out.println("double的范围为:"+Double.MIN_VALUE+"到"+Double.MAX_VALUE);
    }
}

在这里插入图片描述

3,字符型

代码演示

public class Main {
    public static void main(String[] args) {
        //代码演示字符类型
        char a = 'a';
        System.out.println(a);
    }
}

在这里插入图片描述

4,布尔型

代码演示

public class Main {
    public static void main(String[] args) {
        //代码演示boolean类型
        boolean a = true;
        System.out.println(a);
    }
}

在这里插入图片描述
注意2:在Java中没有"非0为真"这一说法,就两种
要么true,要么false

二,引用类型

不做过多讲述,特别说一下字符串类型,属于引用数据类型,与字符类型独立

public class Main{
public static void main(String[] args){
String a = "abcd";
	System.out.println(a);
   }
}

运行结果
在这里插入图片描述

注意3:java中" "字符串里是没有\0结尾

剩下后续都会说到;

三,科学计数法

我们知道科学计数法,可在java中是怎么表示?
用e或E
先代码演示

public class Main {
    public static void main(String[] args) {
        //代码演示科学计数法
        double a = 1.23456789E10;
        System.out.println(a);
        double d = 1.23456789e10;
        System.out.println(d);
        //代码演示科学计数法
        double b = 1.23456789E-10;
        System.out.println(b);
        double e = 1.23456789e-10;
        System.out.println(e);
        //代码演示科学计数法
        double c = 1.23456789E0;
        System.out.println(c);
        double f = 1.23456789e0;
        System.out.println(f);

    }
}

在这里插入图片描述
e或E的前面是数(整数,小数)
后面接整数表示10的多少次方,以3为例子
3e0----->3
3e2---->300

四,类型转换

注意4:类型转换必须是同一类型整型与整型转,浮点型与浮点型转
类型转换分为两种

①隐性转换

public class Main {
    public static void main(String[] args) {
        //代码演示隐性转换
        int a = 10;
        double b = a;
        System.out.println(b);
        
  }
    }

在这里插入图片描述
这里10就被转为double类型;

对于小于四个字节的类型在一起时会自动转换为int类型,一般用于小转大
代码

public class Main {
    public static void main(String[] args) {
        //对于小于四个字节的类型在一起时会自动转换为int类型,一般用于小转大
        byte a = 10;
        int b = 20;
        short c = 15;
        System.out.println(b+b+c);
    }
    }

在这里插入图片描述

②显式转换(大转小)

代码

public class Main {
    public static void main(String[] args) {
        //显式转换
        int a = 10;
        double b = a;
        System.out.println(b);
    }
    }

在这里插入图片描述
注意5:这段显式转换看起来没有问题,但其实确实没有问题,我们需要知道这种转换是有风险的;
举个例子:我们有两个瓶子,一个瓶子最多装10ml的水,另一个瓶子只能装30ml的水
我们把30ml的瓶子装满,如果换10ml瓶子装,装得下吗?
答案是否定的;
这个代码没有问题就在于30ml装的水是满足10ml的水,例如装了5ml,10ml完全可以装;
因此我们一定要心里有数;

注意6:如果我硬要装,硬要要转换,即使超出所规定的范围,可以吗?
可以,但会涉及关于原反补码的知识,这个有点偏底层,后续会专们出一章;

代码演示,大家看一下;

public class Main {
    public static void main(String[] args) {
       //如果我硬要要转换,即使超出所规定的范围
        int a = 1000000000;
        byte b = (byte)a;
        System.out.println(b);
    }
    }

在这里插入图片描述

public class Main {
    public static void main(String[] args) {
       //如果我硬要要转换,即使超出所规定的范围
        int a = 128;
        byte b = (byte)a;
        System.out.println(b);
    }
    }

在这里插入图片描述

public class Main {
    public static void main(String[] args) {
       //如果我硬要要转换,即使超出所规定的范围
        int a = 129;
        byte b = (byte)a;
        System.out.println(b);
    }
    }

在这里插入图片描述

public class Main {
    public static void main(String[] args) {
       //如果我硬要要转换,即使超出所规定的范围
        int a = 400;
        byte b = (byte)a;
        System.out.println(b);
    }
    }

在这里插入图片描述

附加图:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值