🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:Aileen_0v0🧸的JAVA学习系列专栏🌸——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马💫~"
目录
回顾 💫
引用数据类型- String🔆
String 字符串的拼接 " + " 🎈
字符串 与 字符串的拼接🎍
编辑
字符串 和 整数的拼接🎋
Int 和 String 的相互转换 ✨
整型转字符串🪁
字符串转整型 🎏
final 关键字修饰的 常量🪄
常见的常量 🏓
数据类型转换 🎡
隐式类型转换🏙
显示类型转换 🏫
类型转换小结🗼
int 和 boolean 相互赋值 ⛩
理解数值提升-int 和 long 混合运算⭐
回顾 💫
前面几篇我们详细的讲解了JAVA 中八大基本数据类型,如有遗忘
点击链接🔗:
http://t.csdnimg.cn/zMwV0 -变量和整型
http://t.csdnimg.cn/J32wc -Long Double&Float
http://t.csdnimg.cn/KNpkZ -Char Byte Short Boolean
进行跳转式阅读
今天我们开始下一部分-引用数据类型的学习~
引用数据类型- String🔆
package TestDemo;public class TestDemo {public static void main(String[] args) {String str = "\\\\hello\\\\";//"hello"System.out.println(str);int i = 2147483647 + 1;int i2 = Integer.MAX_VALUE + 1;System.out.println(i);System.out.println(i2);}
}
命令行运行结果:
String 字符串的拼接 " + " 🎈
字符串 与 字符串的拼接🎍
package TestDemo;public class TestDemo {public static void main(String[] args) {String a = "hello";String b = "world";String c = a + b;System.out.println(c);}
}
控制台运行结果:
---------------------------------------------------------------------------------------------------------------------------------
字符串 和 整数的拼接🎋
package TestDemo;public class TestDemo {public static void main(String[] args) {String str = "result = ";int a = 10;int b = 20;String result = str + a + b;System.out.println(result);}}
控制台运行结果:
Summary:
打印内容只要有字符串,结果就是以字符串类型打印出来.
Int 和 String 的相互转换 ✨
整型转字符串🪁
package TestDemo;public class TestDemo {public static void main(String[] args) {int num = 10;//方法1:String str1 = num + "";//方法2:String str2 = String.valueOf(num);System.out.println(str1);System.out.println(str2);}
}
控制台运行结果:
**************************************************************************************************************
字符串转整型 🎏
package TestDemo;public class TestDemo {public static void main(String[] args) {String str = "100";int num = Integer.parseInt(str);System.out.println(num);}
}
控制台运行结果:
如果字符串里面含字母会怎么样呢?
package TestDemo;public class TestDemo {public static void main(String[] args) {String str = "100a";int num = Integer.parseInt(str);System.out.println(num);}
}
控制台运行结果:
这是JAVA中的一种异常,后面会继续拓展~
final 关键字修饰的 常量🪄
package TestDemo;public class TestDemo {public static void main(String[] args) {/*** 常量只能被初始化一次,且使用的时候 一定要记得初始化.*/final int MAXNUM;MAXNUM = 999;//初始化常量 MAXNUMSystem.out.println(MAXNUM);}
}
final 修饰的 变量 称为 常量--->用大写 MAXNUM表示
常量不能在 程序运行过程中 发生修改.
例如:
package TestDemo;public class TestDemo {public static void main(String[] args) {/*** 常量只能被初始化一次,且使用的时候 一定要记得初始化.*/final int MAXNUM;MAXNUM = 999;MAXNUM = 10000;System.out.println(MAXNUM);}
}
控制台运行结果:
常见的常量 🏓
10 | int | 字面值常量(十进制) |
010 | int | 字面值常量(八进制) 由数字 0 开头 010 也就是十进制的8 |
0x10 | int | 字面值常量(十六进制)由数字 0x 开头 0x10 也就是 十进制的 16 |
10L | long | 字面值常量 可写作 10l (小写的L) |
1.0 | double | 字面值常量 可写作 1.0d 或者 1.0D |
1.5e2 | double | 字面值常量 科学计数法表示 相当于 1.5 * 10^2 |
1.0f | float | 字面值常量 可写作 1.0F |
true | boolean | 字面值常量 同样的还有 false |
'a' | char | 字面值常量 单引号中只能有一个字符 |
"abc" | String | 字面值常量 双引号中可以有多个字符 |
数据类型转换 🎡
隐式类型转换🏙
package TestDemo;public class TestDemo {public static void main(String[] args) {int a = 10;long b = a;System.out.println(b);}
}
控制台运行结果:
**************************************************************************************************************
显示类型转换 🏫
package TestDemo;public class TestDemo {public static void main(String[] args) {long a = 10;int b = (int)a;System.out.println(b);}
}
控制台运行结果:
package TestDemo;public class TestDemo {public static void main(String[] args) {byte b = 10;byte c = 20;byte d = b + c;System.out.println(d);}
}
控制台运行结果:
通过输出结果可知,b是 int 类型, c 也是 int 类型, 它们相加的结果也是 int 类型 ,不能直接转换成byte.
有两种方式可以对上面的代码进行修改:
方法1:
将 byte d 改成 int d
package TestDemo;public class TestDemo {public static void main(String[] args) {byte b = 10;byte c = 20;int d = b + c;System.out.println(d);}}
控制台运行结果:
方法2:
对 b + c 进行强制类型转换.---> byte -1字节
package TestDemo;public class TestDemo {/*** 小于4个字节的数据类型 运算的时候 会发生类型的提升* * @param args*/public static void main(String[] args) {byte b = 10;byte c = 20;byte d = (byte)(b + c);System.out.println(d);}
}
控制台输出结果:
类型转换小结🗼
1.不同数字类型的变量间赋值,表示范围更小的类型能隐式转换成范围较大的类型.
2.若需将大范围类型赋值给小范围,需要进行强制类型转换,但可能丢失精度.
3.将字面值常量进行赋值时,JAVA会自动针对数值范围进行检查.
int 和 boolean 相互赋值 ⛩
package TestDemo;public class TestDemo {public static void main(String[] args) {int a =10;boolean b = true;b = a ;a = b ;}
}
控制台运行结果:
根据上面运行结果,我们可以得出: int 和 boolean 是毫不相干的两种类型,不能相互赋值.
理解数值提升-int 和 long 混合运算⭐
package TestDemo;public class TestDemo {public static void main(String[] args) {int a = 10;long b = 20;int c = a + b;}
}
控制台运行结果:
package TestDemo;public class TestDemo {public static void main(String[] args) {int a = 10;long b = 20;long d = a + b;//int c = a + b;System.out.println(d);}
控制台运行结果:
类型提升summary:
1.不同类型的数据混合运算,范围小的会提升为范围大的.
2.对于 short , byte 这种比4个字节小的类型,会先提升为4个字节的 int ,再进行运算.