一)整数类型:
byte:
比特型。1个字节(8位)取值范围:-128~127
short:
短整型。2个字节(16位)取值范围:-32768~32767
int:
整型。4个字节(32位)取值范围:-2 147 483 648~2 147 483 647
long:
长整型。8个字节(64位)取值范围:-9 223 372 036 854 775 808~9 223 372 036854 775 807。在对long型变量进行赋值时末尾必须加上“L”或者“l”才能被认定为是long型。
二)浮点类型:
float:
单精度浮点类型
4个字节(32位)取值范围:1.4E-45~3.402 823 5-E38。在对float类型变量进行赋值时在末尾处必须加上“F”或“f”,否则系统自动将其认定为double类型变量。
double:
双精度浮点类型
8个字节(64位)取值范围:4.9E-324~1.797 693 134 862 315 7E-308。可以在末尾加上“D”或者“d”表明这是一个double类型变量,也可不加。
三)字符类型:
boolean:
布尔类型又称逻辑类型,只有true和false两个值。分别表示逻辑真与逻辑假。
四)布尔类型
char:
2个字节(16位)。用于存储单个字符。在定义字符变量时,要用单引号(即'z')引起来,且只能有一个字符。
eg:char='z'; 但也可char=122; 在ASCII中二者一一对应。
转义字符:
在字符类型中有一种特殊的字符,以反斜杠“\”开头,后跟一个或多个字符,具有特定的功能含义。
常用的转义字符:
\' 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\b 退格
\f 换页
\t 垂直制表符,将光标移到下一个制表符的位置
注:转义字符就是字符,所以将转义字符赋给字符变量时,也要用引号引起来。
隐式(自动)类型转换:
当8种基本数据类型进行混合运算时,不同类型的数据在运算中,首先会自动转换为同一类型,再进行运算。数据类型根据占用存储空间的大小分为高低不同的级别。
规则:
byte、short、char int int
......、int long long
......、long float float
......、float double double
显示(强制)类型转换 :
当把高精度的变量赋值给低精度的变量时,必须使用显示类型转换。
语法:
(类型名)要转换的变量
eg: int a=(int)6.6;
int b=(int)'z';
当把一个整数赋值给以下类型时:byte/short/int/long型时,要注意数据溢出的问题。
eg: short a=130;
byte b=(byte)a;
byte最大的值为127而此时130已经超出了它的范围,发生溢出,造成部分数据丢失。
java标识符的命名:
由字母、数字、下划线和美元符号$组成,第一个字符不能为数字。标识符区分大小写。
声明变量:
定义一个变量是要告诉编译器这个变量是属于什么数据类型,然后编译器才知道该分配多大的空间并用来存放什么样的数据。
声明常量:
在程序运行过程中一直不会改变的量称为常量(constant)。常量在整个程序中只能被赋值一次。
语法:
final 数据类型 常量名称[=值]
([]代表可有可无,可以声明时候赋值,也可以在后续赋值。常量名通常用大写字母表示)
注:如定义的常量属于“成员变量”,那么必须在定义时就赋给初值。否则在编译时会出错。
系统内存可大致分为三个区:系统区(OS)、程序区(Program)、数据区(Data)。当程序执行时,程序代码会加载到内存中的程序区,数据暂时存储在数据区。
变量的有效范围:
1.成员变量:
在类体中所定义的变量。在整个类中有效。类的成员变量课分为两种:静态变量和实例变量
eg:
class person{
int Lee=24; //定义实例变量
static int Zhang=25; //静态变量
}
2.局部变量:
在类的方法体中定义的变量。只在当前代码块有效。局部变量的生命周期取决于方法。当方法被调用时,java虚拟机为方法中的局部变量分配内存空间,当方法调用结束,则会释放方法中局部变量占用的内存空间,此时局部变量被销毁。
运算符:
位运算符:
~ 按位取反 将操作数二进制中的1全改0,0全改1
& 按位与 两个操作数对应位都是1,结果为1,否则为0
| 按位或 两个操作数对应位都是0,结果为0,否则为1
^ 按位异或 当两个操作数的二进制表示相同时(同为1或同为0),结果为0,否则结果为1.如两个操作数精度不同,则结果根据精度高的定。
以下三种操作数类型只有byte、short、char、int、long
<< 左移 将操作数二进制数据左移指定的位数。右边移空的位置补0。
eg: 6<<2; //将6的二进制数左移2位
>> 右移 将操作数二进制数据右移指定的位数。如果最高位是0,右移空的位置补0。如果最高位是1,右移空的位置补1。
>>> 无符号右移 不管最高位是0或1,右移空的位置都补0。
三元(目)运算符:
eg:
boolean a=20<45 ? true : false;
(其余省略...)
注释:
单行注释 //
多行注释 /* ...... */
文档注释 /** ...... */