Java类型转换笔记

简介: Java类型转换笔记

关于基本数据类型之间的互相转换:转换规则


1.八种基本数据类型当中除布尔类型之外剩下的7中类型之间都可以互相转换


2.小容量向大容量转换,称为自动类型转换,容量从小到大排序:

byte < short < int < long < float < double

char <

注:

任何浮点类型不管占用多少个字节,都比整数型容量大。

char和short可表示的种类数量相同,当时char可以取更大的正整数。【char和short的容量大小是同级的】


3.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。


4.当整数字面值没有超过byte,short,char的取值范围,可以赋值给byte,short,char类型的变量


5.byte,short,char混合运算的时候,各自先转换成int类型再做运算。


6.多种数据类型混合运算,先转换成容量最大的那种类型再做运算。

注意通过:

byte b = 3;可以编译通过,3没有超过byte类型取值范围


int i=10;
 byte b =i/3;编译报错,编译器只检查语法,不会运算i / 3。
public class DataTypeTest08{
  public static void main(String[] args){
  double dd = 10 / 3;//int类型的10和3计算后的结果是int类型的3,然后再转换成double的3.0
  System.out.println(dd);
  System.out.println("---------------------------------------");
  dd = 10.0 / 3;//int类型的3先转换成double类型在计算,多种数据类型数据运算时,全部转换成大容量的类型在计算
  System.out.println(dd);
  // 编译报错,因为1000已经超出范围了。
  //byte b1 = 1000;
  // 可以
  byte b2 = 20;//20虽然是int类型,但是20没有超过byte的取值范围
  // 可以
  short s = 1000;//1000没有超过short的取值范围
  // 可以
  int c = 1000;//1000没有超过int的取值范围
  // 可以
  long d = c;//小容量转换成大容量,属于自动类型转换
  // 编译报错
  //int e = d;//d属于long类型,大容量转换成小容量,属于强制类型转换,需要强制类型转换符
  // 可以
  int f = 10 / 3;//int类型的10和3计算后的结果是int类型的3,然后再转换成double的3.0
  // 可以
  long g = 10;//int类型的10转换long类型的g,属于自动类型转换
  // 编译报错
  //int h = g / 3;//编译报错,编译器只检查语法,不会运算i / 3。
  // 可以
  long m = g / 3;//g属于long类型,int类型的3先转成long类型在计算
  // 编译报错
  //byte x = (byte)g / 3;//分子先把byte类型的g强转换为byte,然后整个运算式全转换为int在计算,得到int结果,还需要强制转换
  // 可以
  short y = (short)(g / 3);//先把(g/3)转换成long,然后再强转为short类型
  // 可以
  short i = 10;//10没有超过short类型的取值范围,可以直接赋值
  // 可以
  byte j = 5;//5没有超过byte类型的取值范围,可以直接赋值
  // 编译报错
  //short k = i + j;//先把i和j转换成int类型计算,得到int类型的结果,最后还需要进行强转
  // 可以
  int n = i + j;//int转int,无需操作
  // 可以
  char cc = 'a';
  System.out.println(cc); // a
  System.out.println((byte)cc); // 97运算式强转成byte
  // cc 会先自动转换成int类型,再做运算
  int o = cc + 100;
  System.out.println(o); // 197
  }
  }


目录
打赏
0
0
0
0
4
分享
相关文章
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
172 3
Java构建工具-maven的复习笔记【适用于复习】
这篇文档由「潜意识Java」创作,主要介绍Maven的相关知识。内容涵盖Maven的基本概念、作用、项目导入步骤、依赖管理(包括依赖配置、代码示例、总结)、依赖传递、依赖范围以及依赖的生命周期等七个方面。作者擅长前端开发,秉持“得之坦然,失之淡然”的座右铭。期待您的点赞、关注和收藏,这将是作者持续创作的动力! [个人主页](https://blog.csdn.net/weixin_73355603?spm=1000.2115.3001.5343)
53 3
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
70 2
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
124 0