Java基础      第二章

第一部分 变量和数据类型

1.1 变量概述

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。

数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。 程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比 如x保存5,x也可 以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型

1.2 数据类型

数据类型分类

Java的数据类型分为两大类:

        基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。

        引用数据类型:包括 类 、 数组 、 接口 。

数据类型

关键字

内存占用

取值范围

字节型

byte

1字节

-128~127

短整型

short

2个字节

-32768~32767

整型

int(默认)

4个字节

-231次方~2的31次方-1

长整型

long

8个字节

-2的63次方~2的63次方-1

单精度

float

4个字节

1.4013E-45~3.4028E+38

双精度

double(默认)

8个字节

4.9E-324~1.7977E+308

字符型

char

2字节

0-65535

布尔型

boolean

1字节

true,false

Java中的默认类型:整数类型是 int 、浮点类型是 double

1.3 变量的定义

变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值 。

定义变量的语法        

数据类型 变量名 = 数据值;

说明

1.= 数据值 可以省略不写

2.可以同时声明多个同一类型的变量, 写法 数据类型 变量名1,变量名2=值; 注意变量2有值,变量1没有

给变量赋值的语法

变量名 = 数据值; 

long类型:建议数据后加L表示。

float类型:建议数据后加F表示。 

1.4 注意事项

变量名称:在同一个大括号范围内,变量的名字不可以相同。

变量赋值:定义的变量,不赋值不能使用。

第二部分 运算符

2.1 算数运算符

算数运算符

+

加法运算

-

减法运算

*

乘法运算

/

除法运算

%

取余

++, --

自增,自减

++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。

独立运算:

变量在独立运算时, 前 ++ 和 后 ++ 没有区别 。

变量 前 ++ :

例如 ++i 。 变量 后 ++ :例如 i++ 。

        混合运算: 和其他变量放在一起, 前 ++ 和 后 ++ 就产生了不同。

        变量 前 ++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果 都是2。赋值运算符

赋值运算符

=

等号

+=

加等

-=

减等

*=

乘等

/=

除等

%=

取模等

第三部分 数据类型转换

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的 转换。

3.1 自动转换

一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?

int i = 1;

byte b = 2;

运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。

自动转换 :将 取值范围小的类型 自动提升为 取值范围大的类型 。 

byte 类型内存占有1个字节,在和 int 类型运算时会提升为 int 类型 ,自动补充3个字节,因此计算后的 结果还是 int 类型。

转换规则

范围小的类型向范围大的类型提升, byte 、short、char 运算时直接提升为 int 。

byte、short、char-->int-->long-->float-->double

强制转换

double 类型内存8个字节, int 类型内存4个字节。 1.5 是 double 类型,取值范围大于 int 。可以理解 为 double 是8升的水壶, int 是4升的水壶,不能把大水壶中的水直接放进小水壶去。 想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。

强制类型转换 :将 取值范围大的类型 强制转换成 取值范围小的类型 。 比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行。

转换格式:

数据类型 变量名 = (数据类型)被转数据值;

强烈注意

        浮点转成整数,直接取消小数点,可能造成数据损失精度。

        int 强制转成 short 砍掉2个字节,可能造成数据丢失。