大龄屌丝自学笔记--Java零基础到菜鸟--007
变量,数据类型
1、变量
变量:程序运行过程中,值可能发生变化的量。
定义变量的格式:【数据类型】 【变量名】 = 【初始值】
2、数据类型
Java是强类型语言,必须定义数据类型。
数据类型:基本数据类型:数值型:整数类型:byte(1)、short(2)、int(4)、long(8)
浮点类型:float(4)、double(8)
字符型:char(2)
布尔型:boolean(1)
引用数据类型:类 :class
接口:interface
数组:[]
数值型表数范围:byte【-128~127】、short【-2^15~(2^15)-1】、int【-2^31~(2^31)-1】、long【-2^63~(2^63)-1】、float【-3.403E38~3.403E38】、double【-1.798E308~1.798E308】
注意事项:整数类型默认int,浮点类型默认double。
声明long,后加L,如:long n=1892L;
声明float,后加F,如:float n=1.892F;
同一个大括号中,不能有名字重复的变量。
变量初始化之后才能使用。
3、数据类型转换
boolean类型不能转换为其他数据类型。
运算中存在long、float、double则结果亦为long、float、double,即从小到大进行默认转换。
参与运算的时候,byte、short、char会默认转换为int进行运算。
整数和浮点数一起运算的时候,会默认转换为浮点数进行运算。
1 class Fin{ 2 public static void main(String[] args){ 3 System.out.println("a"+'a'+1); //输出:aa1 4 System.out.println(1+'a'+"a"); //输出:98a 5 } 6 }
强制转换:【目标数据类型】 【变量名】 = (【目标数据类型】)(【被转换的数据】),如:byte b = (byte)300; //输出 “44” 。
4、一道面试题
① byte b1=1;
② byte b2=2;
③ byte b3;
④ b3=b1+b2;
⑤ b3=1+2;
问:会不会报错,哪一步报错,为什么?
答:④报错,常量会直接运算,然后赋值;变量会先转换成int类型进行运算,然后赋值。