JAVASE(一)
目录
一、注释、关键字和标识符
1.注释
(1)单行注释 //
(2)多行注释 /* */
(3)文档注释 /** */
2.关键字和保留字
(1)关键字
(2)保留字
3.标识符
(1)命名规则
(2)约定俗成
二、变量
1.声明变量
2.赋值
三、数据类型
1.基本数据类型
1.1 数值型
(1)整数类型byte,short,int,long
(2)浮点类型float,double
1.2字符型char
1.3布尔型boolean
2.引用数据类型
四、基本数据类型转换
1.默认转换
2.强制转换
一、注释、关键字和标识符
1.注释
使用特殊符号进行标注,对代码的功能进行说明。
(1)单行注释 //
无法换行,适用于对特定行代码进行注释或者注释内容较少时使用。
(2)多行注释 /* */
可以换行,适用于注释内容较多时使用。
(3)文档注释 /** */
用来对类、属性、方法的功能进行说明,当在其他地方调用时会有提示。
2.关键字和保留字
(1)关键字
语言中有着特定含义的字符串。关键字的所有字母均为小写。
如:常见的数据类型的关键字int、float等。
(2)保留字
现阶段java还未使用,但之后可能会作为关键字使用的字符串。
如:goto、const等。
3.标识符
语言中可以自己进行命名的字符序列。
(1)命名规则
强制要求,必须满足以下规则。
1.只能由字母,数字,_,$组成,且不能以数字开头,不包含空格。
如:abc,a,a2,a_1等。
2.不能使用关键字和保留字,但可以包含它们。
如:const不可以,但是aconst可以。
(2)约定俗成
没有强制要求,但为了养成良好编程习惯以及提高代码阅读性的一些规范。
1.见名知意,标识符最好能简洁且清楚准确的表达代码的含义,提高代码的阅读性。
如:通常写删除功能时,常用delete作标识符。
2.命名规范
(1)包名字母全部小写。
如:class1。
(2)类名,接口名首字母大写;多单词组成时,每个单词的首字母大写,其余全部小写。
如:Test,TestTwo。
(3)方法名、变量名首字母小写;多单词组成时,除首个单词外,其余单词的首字母都大写。
如:delete,deleteZero。
(4)常量名字母全部大写;多单词组成时,每个单词之间用下划线连接。
如:XXX,XXX_YYY。
二、变量
数值可以改变的存储单元。本质上是内存中一小块区域,通过变量名来访问这块区域。
变量需要经过声明和赋值之后才能使用。
1.声明变量
java中声明变量的格式为:
数据类型 [修饰符] 变量名 。
其中修饰符为非必填项。
2.赋值
要根据数据类型来给变量赋值。
如给数值变量赋的值也是数值,给字符变量赋的值也是字符。
三、数据类型
不同的数据类型占用的存储空间、表数范围还有运算规则都有所不同。
1.基本数据类型
1.1 数值型
(1)整数类型byte,short,int,long
以上类型分别占用存储空间1字节、2字节、4字节、8字节。
需要注意的是:整数类型下,字面量赋值时默认为int类型。当使用long类型时,需要在字面量最后再加上L(大小写均可)。
(2)浮点类型float,double
以上类型分别占用存储空间4字节、8字节,且double类型的精度高于float类型的精度。
同样地,浮点类型下,字面量赋值时默认为double类型。使用float类型时,需要在字面量最后加上F(大小写均可)。
在给数值型变量赋值时,除了十进制表示法之外,还可用二进制(0b开头),八进制(0开头),十六进制(0x开头)表示数值。
如:16--->0b10000--->020--->0x10
1.2字符型char
char类型占用2字节存储空间。该类型的数据表示单个字符(字符用单引号括起来)。
char类型也可以进行运算。这是因为在底层中有一个编码表,每个字符都与该表中的一个十进制数值相对应。java语言中用的是Unicode编码,它涵盖世界上所有书面语的字符。(ASCII码的缺点就是除了英文字符外,其他国家例如汉字,日文等没有涵盖,但是Unicode解决了这一缺陷)。
在参与运算时底层会先将char类型的变量转换为int类型的编码表对应的数值,再进行运算。
1.3布尔型boolean
java中布尔型变量只允许true或false;不能用1或0代替。这点与C语言有所不同。
2.引用数据类型
该类型分为类(class)、接口(interface)和数组([ ])。
该数据类型与面向对象息息相关,故先不作总结。
四、基本数据类型转换
由于数据之间需要传递,就可能会出现数据不一致的情况,这时候就会用到数据类型转换。
基本数据类型中除了布尔(boolean)类型之外,其余7种类型之间可以进行转换。
主要有以下两种转换:
1.默认转换
转换规则如下:byte、short、char--->int--->long--->float--->double
即将小容量类型向大容量类型可以默认转换。其中byte、short、char三者之间不会相互转换,在参与计算时,它们都会先转换成int类型再参与计算。
如:
byte a=12;
int b=a;
需要注意的是:float占用存储空间是4字节,long存储空间是8字节;但实际上float对于存储空间的划分和long是不一样的,所以实际上float的容量更大。
2.强制转换
实际上就是大容量类型向小容量类型转换,这种转换就是要在大容量类型前面加上强制转换符(即(小容量类型))。
如:
int a=12;
byte b=(byte)a;
但该转换有可能会出现溢出或者精度降低的情况。(溢出是当大容量类型的数值超过小容量表数范围时进行强制转换就会产生溢出,精度降低即浮点型之间或者浮点型向整数型强制转换精度就会降低)。
当多种数据类型进行混合运算的时候,就会先将所有数据转换为其中的最大容量类型,再进行运算。