您现在的位置是:首页 >技术杂谈 >JAVA (二)C网站首页技术杂谈
JAVA (二)C
系列文章目录
这一系列说着也挺麻烦,太累了,但是呢,一定会补发完成,不会差下大家的,谢谢大家的支持
目录
一、解释
二、自动类型提升
三 强制类型转换
四 基本数据类型与string的运算
五 总结
前言
这一期我们来更新我们的第二部分的最后部分,基本数据类型变量间运算规则,后面还会更新一章,专门讲运算符,这样我们的第二部分彻底结束了,就可以进行我们的流程控制语句。
提示:以下是本篇文章正文内容,下面案例可供参考
一、解释
在Java程序当中,有八种基本数据类型,其中除了boolean类型之外,变量的值之间经常需要进行相互转换。一种是自动类型转换,一种是强制类型转换
二、自动类型提升
int a = 'A';
double d =10;
long num
byte/char/short<int<long<float<double
1.当把存储范围小的值(常量变量....)赋值给存储范围大的变量时
int i = '北辰' //北辰是char类型(char类型可以是一个字母,一个汉字,或者一个字符)
因为char类型小于int类型,所以右面的自动转化为int类型
double='10' //因为int类型小于double类型,所以int变为double
//还有long类型记得加l
2当存储范围和存储范围小的就变成了混合运算会变成最大的类型运算
int i = 1; //int,byte都比double小,所以运算结果为double类型
byte b1 = 1;
double c1 = 1.0;
double sum = i + b1 + c1;
混合完变为最大的
3 byte short char类型混合运算变为int
byte b1 = 1; //byte加上byte变为int类型而不是byte
byte b2 = 1;
int b3 = b1 + b2;
byte和byte运算结果要为int,而不是byte b3 = b1 + b2
char a1 = 'a'; //char和char运算,最少要int来接收
char b1 = 'b';
int c1 =a1 +b1;
System.out.println(a+b);
三 强制类型转换
将范围大的类型强制转化为取值范围小的类型
这里我们由一个转换格式:
数据类型1 变量名 = (数据类型1)被强制转数据值
()中的值要小于等于变量值的数据类型
1 当数据范围大的强制变化为数据范围小的,可能会损失精度或溢出
int i = (int)3.14;//损失精度
double d = 1.2;
int num = (int)d;//损失精度
int i = 200;
byte b = (byte)i;//溢出
2 当一个值想要提升数据类型是时候,也可以使用强制数据类型,这种情况没有风险,通常可以省略
int i = 1;
int b = 2;
double bigger = (double)(i/j);
3 long类型的变量时,可以省略后缀,float不行
long l1 = 123L;
long l2 = 123; //这时可以看做为是int类型升级为long类型
long l3 = 123456789012; //会报错,因为超过了long的范围
long l4 = 123456789012L;
float l5 = 12.345; //12.345会被认为是double类型,不能自动转换
float l6 = 12.3F;
float i7 = (float)12.3;
四 基本数据类型与string的运算
1 字符串类型 :string
string不是基本数据类型,属于引用数据类型
使用一对" "来表示一个字符串
内部可以有0个,一个,或多个字符
2运算规则
1.任意八种基本数据类型与string类型只能进行连接+运算,但是结果一定是String类型
System.out.println("" + 1 +2);
int num = 10;
boolean b1 = true;
String s1 = "abc";
String s2 = s1 + num + b1; //abc10true
System.out.println(s2);
string s3 = num + b1 + s2; // //num+b1是int运算,不能连接了
string s4 = s1 + (num +b1 );
从左到右依次运算
2.String不能强制转换()转换,转换为其他类型但是可以借助包装类的方法转
(以后会提到)
五 总结
这就是基本的数据类型转换,大家可以多找一些题来练习一下,这是我们Java二(C)部分,接下来是我们的运算符,这部分安排在D部分,是大家必须掌握的内容,D是我们的最后一个部分,接下来会在明天之前把二部分更新完,我们就开流程语句,进入我们的Java三(A)。