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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略