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
  }
  }


相关文章
|
1月前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
|
1月前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
1月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
2月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
36 2
|
1月前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
54 0
|
2月前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
2月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
2月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
3月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
46 1
|
3月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
32 1