Java自动类型转换规则如下:
1. byte,short,char类型可以自动转换为int类型。
2. int类型可以自动转换为long类型。
3. float类型可以自动转换为double类型。
4.如果两个操作数中有一个是double类型,另一个是float类型,则float类型的操作数会自动转换为double类型。
5.如果两个操作数中有一个是long类型,另一个是任意整数类型(byte,short, char,int),则另一个操作数会自动转换为long类型。
6.如果两个操作数中有一个是double类型,另一个是任意整数类型(byte, short,char,int, long),则另一个操作数会自动转换为double类型。
7.如果两个操作数中有一个是float类型,另一个是任意整数类型(byte,short, char,int,long),则另一个操作数会自动转换为float类型。
8.如果两个操作数中有一个是long类型,另一个是float淡型,则float类型的操作数会自动转换为long类型。
注意,当自动类型转换时,如果从一个精度较低的类型转换为一个精度较高的类型,会存在精度损失的可能。例如,将int类型转换为float类型时,有可能会存在精度损失。因此,在进行类型转换时需要注意数据类型的精度和范围,以免数据损失和其他问题。