Java基础06

2022/4/17 1:12:38

本文主要是介绍Java基础06,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

类型转换

由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类转换

低  ---------------------------------------- > 高
byte,short,char->int->long->float->double
​

运算中,不同类型的数据先转化为同一类型,然后进行运算.

强类型转换

自动类型转换

小转大自动转,大转小强制转

Public class Demo04{
  Public static void main(String [] args){
   // int i =128;
    //dyte b=  (byte)i;//内存溢出
    //强制转换  (类型)变量名  高到低
    System.out.println(i);
    System.out.println(b);
     //自动转换   低----高
    System.out.println("========")
    int i=128; 
    double b =i;
    System.out.println(i);
    System.out.println(b);
    
    /*
    注意点:
    1.不能对布尔值进行转换
    2.不能把对象类型转换为不相干的类型
    3.在把高容量转换为低容量的时候强制转换
    4.转换的时候可能存在内存溢出,精度问题!
    */
    System.out.println("=========");
    System.out.println((int)23.3);
    System.out.println((int)45.523f);
    
    System.out.println("==========");
    char c='a';//a有自己的编码
    int d=c+1;
    //System.out.println(d);
    输出结果:98
    System.out.println((char)d);
    输出结果:b
  }
  
  
  
  
  
}
拓展:
public static void main(String[]args){
  //操作比较大的数时注意溢出问题
  //JDK7新特性 数字之间可以用下划线分割,但输出之后不会出现下划线
  int money=10_0000_0000;
  int years=20;
  int total=money*years;//-1474836480 ,计算时溢出了
  long total1=money*years;//还是-1474836480,默认int  因为计算之前就出问题了
  long total2=money*((long)years);输出正常了,把任意一个先转化为long类型
    System.out.println(total2);
  
  //long 后面尽量大写L,因为默认会把小写l认成1
}
​
​
​
​
​
​
​

 



这篇关于Java基础06的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程