前言:
此刻同学们对“java变量运算”大约比较关心,同学们都需要分析一些“java变量运算”的相关内容。那么小编也在网络上搜集了一些对于“java变量运算””的相关内容,希望各位老铁们能喜欢,大家一起来学习一下吧!Hello All,今天为大家带来Java当中,基本数据类型变量的运算和字符串的运算,首先我们先来回顾下,数据类型都有哪些?根据数据类型划分,Java数据类型分为8种基本数据类型和3种引用数据类型,其中基本数据类型分为整数型(byte、short、int和long),浮点型(float和double),字符型(char)以及布尔型(boolean);引用数据类型分为类,接口以及数组。字符串在Java当中是类的一种。
那么对于基本数据类型变量的运算,且只针对除布尔型以外的7种数据类型,分为自动类型提升运算和强制类型转换运算:
1、自动类型提升(转换):
当容量小的数据类型变量与容量大的数据类型变量做运算时,结果自动提升至容量大的类型(容量表示的是表示数的范围的大小,例如float的容量大于long的容量)
容量顺序:byte、short、char -- > int -- > long --> float --> double
注意:当byte、short、char三种类型做运算时,结果至少要以int接收
public class VariableCalculate { public static void main(String[] args) { byte myByte = 2; int myInt = 129; int myInt2 = myByte + myInt; // 接收运算结果时,按照尽量大的容量类型接收 //long myLong = myByte + myInt; 返回结果131 //float myFloat = myByte + myInt; 返回结果131.0 System.out.print(myInt2); // 如未按照规则,则会编译错误,例如:byte myByte2 = myByte + myInt
这个时候有小伙伴可能会疑惑,如果一个字符和一个整数进行相加运算时,结果该是什么样子呢?其实每个字符有对应的ASCII码,例如字符‘a’对应整数97,运算结果如下:
public class VariableCalculate{ public static void main(Sting[] args){ char myChar = 'a'; int myInt = 10; int myInt2 = myInt + myChar; System.out.println(myInt2); }}// 返回结果为107
实际编码过程中的特殊情况:
定义long整数型时,末尾未加“l”或“L”,则默认数据类型为int,但可能造成数据溢出产生编译失败;定义float浮点型时,末尾为加“f”或“F”,则一定会造成编译错误;涉及常量运算时,整型常量默认为int,浮点型常量默认为double;
2、强制类型转换:自动提升运算的逆运算(将容量大的数据类型变量转换为容量小的数据类型变量)
需要使用强转符:();注意:强制类型转换,可能导致精度损失(截断操作导致)
public class VariableCalculate { public static void main(String[] args) { //****************强制类型转换****************** double myDouble = 12.5; int myInt5 = (int)myDouble; // 截断操作,结果为12 System.out.println(myInt5); }}
3、字符串(String)变量的使用及运算
String类型数据引用数据类型,不属于基本数据类型;声明String类型变量时,使用一对“”,注意与char型变量声明进行区分;String可以和8种基本数据类型变量做运算,且运算只能是连接运算;运算结果一定是String类型;
public class StringVariable { public static void main(String[] args) { String myString = "hello world"; String myString2 = ""; //char myChar = ''; //这里需要注意的是字符声明和字符串声明的区别,字符声明要求不能为空 System.out.println(myString); System.out.println(myString2); int myInt = 1001; String myString3 = myInt + myString + true; System.out.println(myString3); //+:连接运算,返回结果为1001hello worldtrue }}
除此之外也提供了几个示例供大家参考,可以思考下为什么结果是这样?
public class StringVariable { public static void main(String[] args) { //练习1 char c = 'a'; //a对应ASCII码:97 A对应ASCII码:65 int num = 10; String str = "hello"; System.out.println(c + num + str); //返回结果:107hello System.out.println(c + str + num); //返回结果:ahello10 System.out.println(c + (num + str)); //返回结果:a10hello System.out.println((c + num) + str); //返回结果:107hello //练习2 //输出效果:* *,星号间为tab System.out.println("*\t*"); //满足输出要求 System.out.println('*' + '\t' + '*'); // 返回93,不满足输出要求 System.out.println('*' + "\t" + '*'); // 满足输出要求 System.out.println('*' + '\t' + "*"); // 返回51*,不满足输出要求 System.out.println('*' + ('\t' + "*")); // 满足输出要求 }}
以上就是本篇的全部内容啦!欢迎大家评论、点赞、收藏和关注,我们下篇再见!
标签: #java变量运算 #java怎么输入字符串变量