首页 > 代码库 > 第三篇 标识符和基本数据类型

第三篇 标识符和基本数据类型

一、标识符

1.标识符就是用于给 Java 程序中变量、类、方法等命名的符号。使用标识符应该遵守以下几条规则:

1) 标识符必须以字母、下划线_、美元符号$开头(注意开头是没有数字的)。

2) 标识符其他部分可以是字母、下划线_、美元符$和数字的任何组合。

3) Java标识符是区分大小写敏感,且长度无限制。

4) 不可以是JAVA关键字。

2.Java中常见关键字有以下部分,不过并不需要刻意去记,学完之后关键字自然就记住了。我将关键字划分不同的块。

面向对象 基本类型 判断 循环 异常 命名空间 修饰符 并发 其他
class byte if for try package public synchronized return
interface short else do catch import default   null
abstract int switch while throw   protected    
implements long case break throws   private    
extends float true continue finally   final    
this double false       static    
super char         transient    
instanceof boolean         native    
new           volatile    
            void    

3.标识符的命名最好能反映出其作用,做到见名知意。命名时采用驼峰命名法:当变量名或方法名是由一个或多个单词连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外)。养成良好的命名习惯对以后编程有很大的帮助。

4.Java采用的是unicode(国际通用编码)是支持汉字的,所以我们的标识符也可以是汉字。这个经常在笔试题中遇到。

二、基本数据类型

Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数据类型又分为两类:基本数据类型和引用数据类型。基本数据类型又分为:数值型、字符型和布尔型。引用类型是我们定义的类、接口和数组。

技术分享

 

 

 

 

 

 

 

 

 

 

2.1 整数型

1. Java各整数有固定的表数范围和字段长度,其不受具体的操作系统的影响,以保证Java可移性。  

注:数值型占用存储空间和表数范围是笔试常见的,但我们只需记住各类型的占用存储空间,不需要可以去记表数范围,表数范围我们可以通过占用空间去估算。以byte为例,byte是一个字节保存的,有8个位,即8个0、1。8位的第一个位是符号位,也就是说0000 0001代表的是数字1,1000 0000代表的就是-1,所以正数最大位0111 1111,也就是数字127,  负数最大为1111 1111,也就是数字-128。其他的类型也可以通过这种方式计算他的表数范围。

类型 占用存储空间 表数范围
byte 1字节 -128~127
short 2字节 -215~215-1
int 4字节 -231~231-1
long 8字节 -263~263-1

那如果我们变量的值超过了表数范围,会有什么影响呢?

byte b = 10; //正确byte b2 = 128; //会报可能损失精度的错误

2.Java语言整型常量的三种表示形式:

十进制整数,如:10,20。

八进制整数,要求以0开头,如:010。

十六进制数,要求0x或0X开头,如:0x12。

进制之间是可以相互转换的,转换的计算规则可以参考:http://jingyan.baidu.com/article/495ba84109665338b30ede98.html。也可以用代码实现转换,这个以后再写。我们也可以调用Java内部封装的方法进行转换。

int i = 10; System.out.println(Integer.toBinaryString(i)); //转换成二进制,输出1010System.out.println(Integer.toOctalString(i)); //转换成八进制,输出12System.out.println(Integer.toHexString(i)); //转换成十六进制,输出a

 

3. Java的整型常量默认为int,声明long类型需要在后面加‘l’或‘L’,不过最好使用‘L’,因为‘l’容易看起来像1,可读性差。

int i = 888; //正确//long a = 8888888888888888; //报过大的整数错误,因为java整型默认是int,8888888888888888已经超出了int的表数范围。long a = 8888888888888888L;  //正确

2.2 浮点型

1.与整数型一样,Java浮点型也有固定的字段长度和表数数范围,不受平台的影响。

类型占用存储空间表数范围
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308

2.Java浮点类型常量有两种表示形式:

十进制形式,例如:3.14,314.0,.314。

科学计算法,如3.14e2,3.14e2。(e2表示102)

double d = 3.14;double d2 = 3.14e2;System.out.println(d); //输出3.14System.out.println(d2);//输出314.0

3.Java浮点型常量默认是double,声明float类型需要在后面加‘f’或‘F’。如果不加则会报错。

float f = 3.14; //错误float f2 = 3.14f; //正确

4.Java浮点型数值是存在误差的,所以尽量避免去比较大小,如果一定要比较浮点型数值,可以使用BigDecimal。

float f = 0.1f;double d = 1/10;System.out.println(f == d); //输出false

2.3 字符型

1. 字符常量为用单引号括起来的单个字符。Java采用的是unicode编码,每个字符占两个字节,所以是可以表示中文的。

char c = ‘a‘;char d = ‘字‘; //编译通过

2. Java语言中使用转义字符‘\’来将其后的字符转义为其他的含义。转义成什么也不需要记,只需要记住几个常用的。

转义字符意义
\n换行
\r回车
\\反斜杠\
\’单引号
\”双引号
\t制表符

3.Java的字符可以直接当成整数来计算,因为每个字符都对应一个ASCII码值,在进行计算是通过ASCII码值计算,然后再查找计算后ASCII码值对应的字符。

char c = ‘a‘;char d = (char)(c + 1); //这里需要强转,c+1之后变成了数值型。System.out.println(d); //输出b

2.4 布尔型

布尔型只占一位(注意不是一个字节)。布尔类型只可以取true和false,不可以用0或非0整数代替true和false。我原来遇到过这样的笔试题

if(b=1){	System.out.println(b);}

问输出什么,这个在Java中编译都通不过的,会报不兼容的类型错误。

第三篇 标识符和基本数据类型