大龄屌丝自学笔记--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类型进行运算,然后赋值。

posted @ 2015-08-21 19:12  ilmari  阅读(155)  评论(0编辑  收藏  举报