自己做网站流程,微信服务号怎么做商城,在外国做玄幻小说网站,网站怎么做谷歌权重本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. #x1f92d;#x1f92d;#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 前言
在上一篇 Java 那些诗一般的数据结构上篇中我们主要讲解了
Java数据类型详解上篇链接 字面常量:介绍了说明是常量,以及字面常量的概念和种类 数据类型 : 说明了数据类型的概念和并举例种类 变量: 分批次的介绍了变量的不同类型并进行初步的理解
而在本篇文章中主要内容还是围绕着数据类型之间的转化再讲解呢
目录 类型转化 类型提升 字符串类型
一. 类型转换
1. 类型转换的简介
Java 作为一个 强类型 编程语言, 当不同类型之间的变量相互 赋值 的时候, 会有教严格的 校验 class Test10 {public static void main(String[] args) {int a 10;long b 100L;b a; // 可以通过编译a b; // 编译失败}
}在Java中当参与 运算数据类型不一致 时就会进行 类型转换 。Java中类型转换主要分为 两类 自动类型转换(隐式) 和 强制类型转换(显式)
2.隐式(自动)类型转化
自动类型转换 即代码 不需要经过任何处理 在代码编译时编译器会 自动进行处理
特点数据 范围小 的转为数据 范围大 的时会自动进行。 class Test10 {public static void main(String[] args) {System.out.println(1024); // 整型默认情况下是intSystem.out.println(3.14); // 浮点型默认情况下是doubleint a 100;long b 10L;b a; // a和b都是整形a的范围小b的范围大当将a赋值给b时编译器会自动将a提升为long类型然后赋值
// a b; // 编译报错long的范围比int范围大会有数据丢失不安全float f 3.14F;double d 5.12;d f; // 编译器会将f转换为double然后进行赋值
// f d; // double表示数据范围大直接将float交给double会有数据丢失不安全byte b1 100; // 编译通过100没有超过byte的范围编译器隐式将100转换为byte
// byte b2 257; // 编译失败257超过了byte的数据范围有数据丢失}
}int 类型 是可以转化为 long 类型 long 类型是不允许转化为 int 类型的 鱼式疯言
一句话总结 大 能转 小 小 的不能转 大 3.显式 (强制) 类型转换
class Test10 {public static void main(String[] args) {int a 10;long b 100L;b a; // int--long数据范围由小到大隐式转换System.out.println(bb);a (int)b; // long--int, 数据范围由大到小需要强转否则编译失败System.out.println(aa);float f 3.14F;double d 5.12;d f; // float--double数据范围由小到大隐式转换System.out.println(dd);f (float)d; // double--float, 数据范围由大到小需要强转否则编译失败System.out.println(ff);// a d; // 报错类型不兼容a (int)d; // int没有double表示的数据范围大需要强转小数点之后全部丢弃System.out.println(aa);byte b1 100; // 100默认为int没有超过byte范围隐式转换System.out.println(b1b1);byte b2 (byte)257; // 257默认为int超过byte范围需要显示转换否则报错System.out.println(b2b2);boolean flag true;
// a flag; // 编译失败类型不兼容
// flag a; // 编译失败类型不兼容}
}是的当我们需要把 大的类型 转化为 小的类型 时就需要 赋值
我们就牵扯到了 强制类型转化
鱼式疯言 不同数字类型的变量之间 赋值 , 表示 范围更小的类型能隐式转换成 范围较大 的类型 如果需要把 范围大 的类型赋值给 范围小 的, 需要强制类型转换, 但是 可能精度丢失 将一个 字面值常量 进行赋值的时候, Java 会自动针对数字范围进行 检查 强制类型转换不一定能成功不相干的类型 不能 互相转换 最后小编还想说 小的数据类型 是可以自动放在大的数据类型的但当我们强制 大的数据类型 时是很有可能造成 一部分数据存储不下 造成 数据的丢失 的 二. 类型提升
不同类型的数据之间相互 运算 时数据 类型小 的会被提升到数据 类型大 的。
1. int 与 long 之间 int 会被提升为 long class Test5 {public static void main(String[] args) {int a 10;long b 20;
// int c a b; // 编译出错: a b》int long-- long long 赋值给int时会丢失数据long d a b; // 编译成功a bint long---long long 赋值给longSystem.out.println(d);}
}2. byte与byte的运算
class Test5 {public static void main(String[] args) {byte a 10;byte b 20;byte c a b;System.out.println(c);}
}结论: byte 和 byte 都是 相同类型 , 但是出现 编译报错 . 原因是, 虽然 a 和 b 都是 byte , 但是计算 a b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int 这是赋给 c, 就会出现上述错误. 由于计算机的 CPU 通常是按照 4 个字节为单位从内存中 读写数据 . 为了硬件上实现方便, 诸如 byte 和 short 这种低于 4个字节的类型, 会先提升成 int , 再参与计算. 鱼式疯言
不同类型 的数据混合运算, 范围小 的会提升成 范围大 的对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.
三. 字符串类型
小伙伴们应该熟悉
在我们的C语言 中是不存在 字符串 类型这个概念的
但在我们的 Java 中是存在 字符串 类型的变量的
1. 字符串类型的简介
在 Java 中使用 String类 定义 字符串 类型比如 class Test5 {public static void main(String[] args) {String s1 hello;String s2 world;System.out.println(s1);System.out.println(s2);System.out.println(s1 s2); // s1s2表示将s1和s2进行拼接}} 对于 Java 自身来说是有字符串类型的 并且 字符串 是可以进行用 加号 拼接的 2. int 转 String
class Test5 {public static void main(String[] args) {int num 10;System.out.println(未转化之前 num1(num1));// 方法1String str1 num ;// 方法2String str2 String.valueOf(num);System.out.println(转化之后 num1(str21));System.out.println(转化之后 num1(str11));}
}是的我们可以通过 两种方法 转为 字符串
鱼式疯言 直接带 双引号 会 向上转化 为字符串 String str1 num ;使用 String.valueOf() 方法讲任意类型转化为 字符串 String str2 String.valueOf(num);3. String 转化为 int
class Test5 {public static void main(String[] args) {String str 100;System.out.println(转化前 str1:(str1));int num Integer.parseInt(str);System.out.println(转化后 num1:(num1));}
}对于 字符串 转数字我们只需要用 Integer.parseInt(str) 本节对只是对 字符串 进行简单的介绍大家能够正常使用即可
后序会详细给小伙伴们介绍哦
总结 类型转化 我们认识了赋值时的类型转化并熟悉了两种不同的类型的转化方式 类型提升 在运算时注意也会发生的类型提升的理解 字符串类型 理解的一种新的类型并明白字符串和其他类型的转化方式
可谓收获颇丰啊 如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正 希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编 创作 的最大 动力