Java数据类型转换

基本数据类型之间的相互转换

默认情况下,在java中小数是double,整数默认是int类型的。byte和short除外。
在这里插入图片描述

分类:自动类型转换和强制类型转换

  1. 自动类型转换
    条件:
    ①由小范围到大范围转换
    ②数据类型要兼容

自动类型转换示意图:上图箭头所指的方向都是自动类型转换

实例:

  public class Demo01{
   	public static void main(String[] args){
   		byte num1 = 123;
   		//向上发生自动类型转换
   		int num2 = num1;
       		
       		System.out.println("num1:"+num1+",num2:"+num2);
       	}
       }
       ```java
       public class Demo02{
       	public static void main(String[] args){
       		float num1 = 2.3F;
       		//float  自动向 double转换
       		double num2 = num1;
       		System.out.println("num1:"+num1+",num2:"+num2);
       	}
       }
       ```

特殊:

//char自动向int转换:

    public class Demo03{
    	public static void main(String[] args){
    		char ch = 'a';
    		int num1 = ch;
    		System.out.println("ch:"+ch+",num1:"+num1);
    	}
    }
public class Demo04{
	public static void main(String[] args){
		int num1= 123;
		//整型自动转换为 float
		float num2 = num1;
		System.out.println("num1:"+num1+",num2:"+num2);
	}
}

特殊中的特殊: long可以向float发送自动类型转换,但是可能会丢失精度

public class Demo05{
	public static void main(String[] args){
		long num1= 123131232123L;
		//long类型也可以向float发生自动类型转换
		float num2 = num1;
		System.out.println("num1:"+num1+",num2:"+num2);
	}
}
  1. 强制类型转换:转换示意图箭头的反方向就是强制转换

语法:

转换后的数据类型 变量名 = (转换后的数据类型 ) 转换前的数据;

条件:由小范围大大范围转换,数据类型要兼容。

 public class Demo06{
    	public static void main(String[] args){
    		
    		int num1 = 127;
    		//强制将int 转换为 byte
    		byte num2 = (byte)num1;
    		System.out.println("num1:"+num1+",num2:"+num2);
    	}
    }

错误演示:

public class Demo07{
	public static void main(String[] args){
		
		boolean flag= true;
		//错误: 类型不兼容
		int num1 = (int)flag;
		System.out.println("flag:"+flag+",num1:"+num1);
	}
}

总结: 无论是自动类型转换还是强制类型转换,都是数值之间的转换。boolean不能转。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值