java的类型转换

本文详细介绍了Java中的基本数据类型,包括整数(byte, short, int, long)、浮点数(float, double)、字符(char)和布尔(boolean)。涵盖了进制转换、浮点数精度、字符编码及不同类型之间的转换规则,特别强调了类型转换的注意事项和精度问题。
摘要由CSDN通过智能技术生成

java类型转换

java的八大数据类型

整数类型

  1. byte类型
  2. short类型
  3. int类型
  4. long类型

浮点数类型

  1. float类型
  2. double类型

字符类型

  1. char类型

布尔类型

boolean类型

public class number {
    public static void main(String[] args) {
        //八大基本数据类型
        //整数的四种表示方式
        byte num=127;
        short num1=32767;
        int num2=123456789;//最常用的整数数据类型
        long num3=1234567890L;//Long类型要在数字后面加个L

        //小数:浮点类型
        float num4=50.1F;//float类型要在数字后面加个F,目的好区分
        double num5=1.225555555566;
        System.out.println(num1);
        //字符
        char name='a';//必须是单点号
        //字符串:String不是关键字,是类
        String name1="name";//必须是引号
        //布尔类型:只表示是与非,对与错
        boolean flag=false;
        boolean flag2=true;
        //综上所述中的几大中类型中,只有char,String需要加单引号和双引号

数据拓展

整数拓展

二进制,八进制,十进制,十六进制

public class Demo {
    public static void main(String[] args) {
     //进制:二进制以0b开头
        int num=0b10;//二进制
        int num2=010;//八进制,以零开头
        int num3=10;//十进制
        int num4=0x10;//十六进制以零x开头
        int num5=0x16;
        System.out.println(num5);
        System.out.println(num);
        System.out.println(num2);
    }
}

浮点数拓展

float

public class Demo2 {
    public static void main(String[] args) {
        float a=0.1f;
        double b=1.0/10;
        System.out.println(a==b);//(false)(false)float a=0.1f只是a约等于0.1而不是等于0.1
        float c=0.124f;
        float d=123456456f;
        float e=d+1;
        System.out.println(d);
        System.out.println(d==e);
        //因为float类型表示数字有限,是离散的,有舍入误差的,不精确,是对实数的的近似表示就是约等于而不是等于
    //最好尽量避免使用浮点数进行比较数的大小
    //在java中有一个数学工具类BigDecima,可以精准比较两个数的

字符拓展

char的强制转换

        char no='a';
        char yt='汪';
        System.out.println(no);

        System.out.println((int)no);//强制转换,它会输出a对应的Unicode码值

        System.out.println(yt);

        System.out.println((int)yt);//强制转换,它会输出汪对应的Unicode码值
        //所以所有的字符的本质都是数字

类型的转化

低-------------------------高

byte–short—int—long—float—double(低容量到高容量)

  1. 由高到低转化

    public class zh {
        public static void main(String[] args) {
            double num=100;
            float num1=(float) num;
            long num2=(long) num1;
            int num3=(int) num2;
            short num4=(short)num3;
            byte num5=(byte) num4;
            /*
            以上是由高容量到低容量的转化
             */
            // int num3=num2,这样子是错误的,因为num3需要一个int类型的整数,但是num2是long类型的数
    
        }
    }
    
    
    1. 由低到高转化不需要强制转化,他会自动转化
     //自动转换 低容量---高容量
            byte o=12;
            int h=o;
            System.out.println(h);
            //不能对布尔类型的数值进行转换
            /*boolean r=true;
            int m=(int) r;
            上两行代码是错误的。
             */
    /*
        注意点:
        1.不能把不相干的两个类型进行转换。
        2.转换时应该注意内存外溢和精度问题!
         */
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值