龙空技术网

Java入门到高级学习-C3 Java基本数据类型变量运算和字符串运算

shenyi的原创碎碎念 165

前言:

此刻同学们对“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怎么输入字符串变量