51讲自动类型转换–》强制类型转换
内容纲要

51讲自动类型转换--》强制类型转换

重要!!!!!!!

file

(务必背下来)

public class AutoConvert{
    public static void main(String[] args){
        //演示自动转换
        int num = 'a';
        double d1 = 80;
        System.out.println(num);//97
        System.out.println(d1);//80.0    
    }
}

自动类型转换细节

重要

file

  1. 有多种类型的数据混合运算是,系统首先会将所有数据转换成荣来奶最大的那种数据类型,然后再进行计算

  2. 当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型是,就会报错,反之就会惊醒自动类型转换

  3. (byte、short)和 char 不会自动转换。

  4. 当把具体数赋给 byte 时,(1)先判断该数是否在 byte 范围内,如果是就可以转换。

​ (2)如果是变量赋值,则判断类型。

byte b1 = 10; //对, -128,127
char c1 = b1; //错,byte 不能自动转换成 char
int n1 = 1;
byte b2 = n1; //错,如果是变量赋值,则判断类型
public class ConvertDetail{
    public static void main(String[] args){
        int a = 10;
        float b = a + 1.1; /*报错double转换为float会有精度损失(a  是int变量,
                            1.1是浮点型),所以a + 1.1被自动转换成double型 */
        //或者 float b = a + 1.1F;  告诉编译器1.1是float常量
        //或者 double b = a + 1.1;  精度不会损失
        System.out.println(b);//
    }
}

file

  1. byte , short , char 他们三者可以计算,再计算时首先转换为 int

    (只要出现以上三者之一在运算,则就会转换为int)

file

file

  1. boolean类型不参与运算
  2. 自动提升原则:表达式结果的类型自动提升为操作数的最大的类型

强制类型转换

introduce:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意

public class ForceConvert{
    public static void main(String[] args){
        int a = (int)1.1; //1
        system.out.println(a); //1 ,精度损失
        int a2 = 2000;
        byte b1 = (byte)a2; 
        System.out.println(b1); //-48 ,数据溢出

    }
}

file

基本数据类型转换

file

  • 强转符号只针对最近的操作数有效,往往会使用小括号提升优先级

  • int x = (int)10*3.5 + 6*1.5; //编译报错: double --> int
    int x = (int)(10*3.5 + 6*1.5); //44.0
  • file

  • char 类型可以保存 int 的常量值,但不能保存 int 的变量值, (需要强转)

  • byte 和 short, char 类型在进行运算时,当作 int 类型处理。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇