文章目录
标识符
Java标识符的命名规则如下:
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始;
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合;
- 不能使用关键字作为变量名或方法名;
- 标识符是大小写敏感的;
- JAVA不采用通常语言使用的ASCII字符集,而是采用unicode这样的标准的国际字符集。因此,这里的字母的含义:可以表示英文、汉字等等。
数据类型
强弱类型语言
Java是一种强类型语言,每个变量都必须申明其类型。
下面是强类型语言和弱类型语言的解释:
- 强类型语言也称为强类型定义语言,要求变量的使用要严格符合规定,所有的变量必须先定义后才能使用。
- 弱类型语言也称为弱类型定义语言,要求与强类型定义相反,例如Java Script 中 var i 可以定义任何类型。
数据类型
Java的数据类型分为两个大类:基础类型(primitive type)和引用类型(reference type)。
基础类型
下面是Java中基础数据类型:
位、字节、字符、编码详解
-
位(bit):是计算机内部数据存储的最小单位,例如:11001100是一个8位的二进制数。
-
字节(byte):是计算机中数据处理的基本单位,习惯用大写B来调试,其中1B(byte,字节) = 8bit(位);
-
字符:是指计算机中使用的字母、数字、字和符号。
-
常见编码:
ASCIIS码:
1个英文字母(不区分大小写)= 1个字节空间;
1个中文汉字 = 2个字节的空间 ;
1个ASCII码 = 1个字节。UTF-8编码:
1个英文字符 = 1个字节空间;
1个英文标点 = 1个字节;
1个中文 = 3个字节;
中文标点= 3个字节。Unicode编码
1个英文字符 = 2个字节;
1个英文标点 = 2个字节;
1个中文 = 2个字节;
1个中文 = 2个字节。 -
操作系统32位和64位:32位操作系统只可以使用32位的CPU,64位的CPU既可以安装32位操作系统也可以安装64位操作系统。寻址能力简单来说就是支持的内存的大小,64位操作系统最多可以支持128G的内存,32位操作系统最多支持4G内存。
类型转换
- Java是强类型语言,因此在运算的时候,需要用到类型转换。 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化位同一类型,然后进行运算。
- 转换优先级:byte,short,char -> int -> long -> float -> double。
- 转换规则:
- 不能对boolean类型进行类型转换;
- 不能把对象类型转换成不相关的对象;
- 在把容量大的类型转换成容量小的类型时必须使用强制类型转换;在转换过程中可能导致溢出或损失精度;
- 浮点数到整数的转换是通过舍弃小数得到的,并不是四舍五入。
- 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型,
- 例如:short数据类型的位数为16,可以自动转化为位数32的int类型,float的数据类型的位数是32,也可以转换为64位的double类型。
- 例如:short数据类型的位数为16,可以自动转化为位数32的int类型,float的数据类型的位数是32,也可以转换为64位的double类型。
- 强制类型转换:强制将一个类型转换另一个类型,中间可能是在丢失信息的情况下进行的转换,可能造成精度降低或者溢出。
- JDK7扩展:
二进制数:用0b开头即可,例如:int a = 0b0101,代表int a = 5。
下划线分割符:可以用下划线来分割长的数字,例如:int a = 1_234_567。
常量与变量
变量的定义
- 变量就是变化的量。Java是一种强类型语言,因此每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。
- 变量在使用前都必须对其声明,只有在声明后,才能为其分配对应长度的存储单元,
申明格式为: type varName [=value] [{,varName[=value]}] ;
数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
变量作用域
- 局部作用域(local variable):类的方法或者语句块中定义的变量,生命周期从声明位置开始到“}“截止;局部变量没有默认值,在使用前必须先声明和初始化(赋初值)