Java 提高(2)----- 类型转换

本文探讨了Java中的类型转换,包括自动类型转换(例如从小范围类型到大范围类型)、强制类型转换(需要使用类型转换符号)以及表达式类型的自动提升规则,如byte, short, char转为int,以及运算中的数据类型提升。" 120048092,11242773,解决Vue项目导入Eclipse缺少.classpath和.project问题,"['Vue.js', 'Java', 'Eclipse', '项目导入']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类型转换


基本类型的类型转换

当我们传入的参数和要求的参数不一样时,如果从满足自动类型转换时会自动类型转换

自动类型转换

此处输入图片的描述

一个表数范围小的可以向表数范围大的进行自动类型转换,如上图,可以从左边自动向右边转换

public class AutoTraverse {

    private void f1(byte b){
        System.out.println("byte "+b);
    }
    private void f1(short b){
        System.out.println("short "+b);
    }
    private void f1(char b){
        System.out.println("char "+b);
    }
    private void f1(int b){
        System.out.println("int "+b);
    }
    private void f1(long b){
        System.out.println("long "+b);
    }
    private void f1(float b){
        System.out.println("float "+b);
    }
    private void f1(double b){
        System.out.println("double "+b);
    }

    public static void main(String[] args) {
        AutoTraverse me = new AutoTraverse();
        byte a  = 5;
        //逐个注释上面的重载载方法可以看看自动转换的类型
        me.f1(a);  
    }
}

强制类型转换

但是如果从大范围数转换成小范围数必须使用强制类型转换(type)符号

    public static void main(String[] args) {
        long b = 10;
//        int c = b; //error
        int c = (int) b; //正确
    }

表达式类型的自动提升

当一个表达式中包含多个基本类型的值时,整个表达式的数据类型会发生自动提升,有如下规则

  • 所以的byte,short,char转换成int类型
  • 整个算法表达式的数据类型自动提升到与表达式中最高操作数相同的登记,操作数的登记就是自动类型转换的图
  • 如果遇到了String,从String开始字节加到string后面
    public static void main(String[] args) {
        int a = 10;
//        float b = a * 2.0; //error ,因为2.0没有加f是double类型的,最后赋给float类型的b没有强制类型转换
        double b = a * 2.0;
        float c = a * 2.0f; //算数表达式的最高类型是float,所以正确
    }

     public static void main(String[] args) {
        System.out.println(3+4+"hello"); //输出7hello
        System.out.println("hello"+3+4); //输出hello34
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值