变量
什么是常量
程序中固定不变化的值。定义了就不能再去修改
比如:整数常量1,2,3,小数常量3.14,布尔常量false,true等。.
字面量,就表示直接给出的一个值(可以是整数,小数,true,false等等),直接量.
常量分类:
整数常量 小数常量 布尔型常量 字符常量 字符串常量 null常量
整数常量的表现形式:
二制制 八进制 十进制 十六进制
什么是变量:
其 值可以发生改变的量, 定义完毕后可以指代某一事物
变量的定义:
数据类型 变量名 = 初始化值;
表示存储空间,可用来存放某一类型的常量,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。
变量的特点:
① 占据着内存中的某一块存储区域;
② 该区域有自己的名称(变量名)和类型(数据类型);
③ 可以被重复使用;
④ 该区域的数据可以在同一类型范围内不断变化;
使用变量的时候要注意的问题:
使用变量的时候要注意的问题:
A:作用域
变量定义在哪个大括号内,它就在这个大括号内有效。 并且,在同一个大括号内不能同时定义同名的变量。
B:初始化值 没有初始化值的变量不能直接使用。 你只要在使用前给值就行,不一定非要在定义的时候立即给值。 推荐在定义的时候给值。
定义变量的格式: a:数据类型 变量名 = 初始化值; b:数据类型 变量名; 变量名 = 初始化值; C:在一行上建议只定义一个变量 可以定义多个,但是不建议
表达式:
表达式(expression):是由数字、运算符、数字分组符号(括号)、常量、变量等以能求得结果的有意义排列的组合。
用运算符号连接的变量/常量可称为表达式。那么也就是说表达式是由常量、变量、运算符、括号组成能求得值的有意义结果的语句。 如: a + b
3.14 + a (x + y) * z + 100 表达式中操作数进行运算得到的最终结果就是表达式的结果。。 表达式的运算顺序(大多和数学一样,参照后面的运算符操作优先级):
数据类型
什么是数据类型?
数据类型:Java是一种强类型的语言,针对每一种数据都定义了明确的数据类型分类:
A:基本数据类型
B:引用数据类型(类,接口,数组)
基本数据类型:4类8种
A:整数 占用字节数
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1
注意:
整数默认是int类型
浮点数默认是double类型。
长整型后缀用L或者l标记。建议使用L。
单精度浮点数用F或者f标记。建议使用F。
基本数据类型
- boolean类型
boolean类型:通常用于逻辑运算和程序流程控制(条件选择/循环)。 该类型的值只能是true 或 false,表示真或假。
不可以使用0或非0的整数来代替false和true,区分于C语言。
(其实在JVM中对boolean的处理也是用0表示false,非0表示true的。) false和true是boolean的常量。
- 整数类型
byte、short、int、long类型: 整型常量的四种表示形式:
① 二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B110;
② 八进制整数:要求以0开头,如 int a = 012;
③ 十进制整数:如:int a = 17;
④ 十六进制整数:要求0X或0x开头,如int a = 0x12;Java语言的整型常量默认是int型,声明long型变量后加上‘l’或‘L,因小写的l容易和数字1相混淆,建议使用大写L。
默认情况下,一个整型的字面量默认是int类型.
- 小数类型
float、double类型: 表示小数类型又称为浮点类型
其中float表示单精度类型,double表示双精度类型,但是二者都不能表示精确的小数。 Java的浮点类型常量有两种表现形式:
十进制形式: 例如:3.14 ,168.0, .618 科学计数法形式: 例如:3.14e2, 3.14E2, 1000E-2
科学计数法表达式返回的结果是double类型。默认情况下,一个浮点类型的字面量默认是double类型.若要声明一个常量为float型,则需在常量后加上f 或
F,double常量后面的D或d可省略。 注意:Java里只有浮点型的变量才可以接受科学计算式结果:因为float和double都不能精确的表示小数,那么在精度要求高的系统比如银行系统里,那怎么表示精确的小数呢?后面我们会讲BigDecimal类型,它表示任意精度的数据。
- 字符类型
16位无符号小数 使用一个数字去表示一个特定的字符
引用数据类型
除了8种基本数据类型,其他所有类型都是引用数据类型,包括类、接口、数组。引用数据类型默认初始值都是null。
String是一个类,表示字符串(后面详讲),所谓字符串,就是一串字符,也就是N个字符连接在一起(N可以表示0或多个),好比羊肉串。
字符串都得使用 "" 括起来的,连接字符串使用 “+”符号。字符串拼接:字符串和任意数据类型相连接,结果都是字符串类型.
强制类型转换
运算两端数据类型必须得要一致
强制转换:
从大的数据类型到小的数据类型。
格式: 目标数据类型 变量 = (目标数据类型) (被转换的数据);
注意: 不要随意的去使用强制转换,因为它隐含了精度损失问题。 当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升
其规则是:所有的byte、short、char类型被自动提升到int类型;