变量声明、类型转换、运算符优先级

mac2025-09-15  22

变量声名

2019-10-26

1、变量声名格式: 数据类型 变量名 = 初始化值 2、变量的分类: (1)整数类型:byte、short、int、long java的整型常量默认为int型,声明long型常量须后加‘l’或‘L’ (2)浮点类型:float、double 浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。 (3)字符类型:char 字符型常量的三种表现形式:字符常量是用单引号(‘’)括起来的单个字符 例如:charc1 = ‘a’; char c2 = ‘中’; char c3 = ‘9’; Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:charc3 = ‘\n’; char类型是可以进行运算的。因为它都对应有Unicode码。 (4)布尔类型:boolean boolean类型适于逻辑运算,一般用于程序流程控制: if条件控制语句; while循环控制语句; do-while循环控制语句; for循环控制语句; boolean类型数据只允许取值true和false 特别注意:一个.java文件中,只允许有一个public声名的类。不能有相同的public类名。public的类名必须的文件名保持一致。

二、类型转换:

(1)强制类型转换 格式:(欲转化的数据类型) 变量名称; 例:

public class test { public static void main(String[] args){ float f = 30.3f; //定义浮点型变量 int x = (int)f; //强制转换为int型 System.out.println("x="+x); //输出转型后的值 System.out.println("10/3="+((float)10/ 3)); //常量计算使用强制类型转换 } } }

执行结果:

x=3010/3=3.3333333

在程序中,首先将一个浮点型的变量f的内容给了int型变量x,因为int型数据类型的长度小于float类型的长度,所以此处需要进行强制类型转换。程序的最后使用了两个整形产量进行计算,但是因为其中的一个类型变量变成了float类型,所以在计算的时候会强制把其他的整形变量也变为float类型,所以计算结果是包含小数的。 (2)自动类型转换 1、转换前的数据类型与转换后的数据类型兼容; 2、转换后的数据类型的表示范围比转换前的类型大; 例:

public class test{ public static void main(String[] args){ int a = 5; byte b = 6; int c = a + b; System.out.println(c); } }

a是int类型,b是byte类型 当二者进行加法运算时(根据同类型相加结果还是同类型 并且低类型的先转换成高类型的然后在进行运算 最后结果也是同类型的才行) 由于int的范围比byte的取值范围大这个时候jvm会自动将b转换成int类型

三、运算符优先级

1、算术运算符: 2、逻辑运算符 3、比较运算符 4、赋值运算符 总体来说:

最新回复(0)