【java基础知识 2】标识符、关键字、数据类型-爱代码爱编程
目录
2.1 注释
注释的三种形式:单行注释、多行注释、文档注释
文档注释(documentation comment)以“/**”开始,以“*/”结束。使用文档注释可以将关于程序的信息嵌入到程序自身中。
javadoc命令可以文档注释中的内容提取出来,将其放入到一个HTML文件中。文档注释方便了程序的文档化。
2.2 分隔符、代码块
每行功能代码以;作为结束符号
空格没有实际意义,可以利用空格无意义,将代码合理缩进,易读
{}包含的代码称之为代码块, 例如类if(){}、方法{}、类{}等等
2.3 标识符
2.3.1 标识符的概念
Java中类、方法和变量的名称,称之为标识符。
2.3.2 标识符的语法要求
(1)以字母、数字、_或$组成
(2)不能以数字开头
(3)不能使用java的关键字和保留字
注意:
1、标识符的长度没有限制
2、Java是大小写敏感的,所有标识符区分大小写
2.3.2 标识符的命名规范(驼峰)
Java中的标识符通常是由多个英文单词构造,每个单词除了首字母外其他字母小写。
2.3.2.1 大驼峰
第一个单词的首字母大写。以大写字母开头,用于类名、接口名
class Accoun {…} //类名
class HelloWorld{…} //类名
interface AccountBase {…} //接口名
2.3.2.2 小驼峰
第一个单词的首字母是小写,其他单词的首字母大写。以小写字母或单词开头,用于变量名、方法名
String studentName; //变量名
String getStudentName() {…} //方法名
2.3.2.3 常量命令规范
常量是使用final修饰的存储单元。(最终的)
全部为大写字母表示
final public int DAYS_WEEK = 7;
final public double PI = 3.1415926;
2.3.3 标识符案例
演示标识符的要求、规范、常量的定义
abc a+b my_city $money class _78
myName _come my&bb 2name public
name#1 age- name3 class5 _$ $a
2.4 Java的关键字
2.4.1 Java中的全部关键字
目前定义了50个关键字
abstract | continue | for | new | switch |
assert | default | goto | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp | volatile |
const | float | native | super | while |
Java保留了const和goto关键字,但是没有使用。Java还保留了下面这些关键字:true、false和null。这些关键字是Java定义的数值。
2.4.2 目前已经接触到的关键字
public static void class
2.5 基本数据类型
2.5.1 数据类型的分类
注意:基本数据类型也可以分成两大类:数值型、布尔型
2.5.2 整型
Java不支持无符号的、只是正值的整数。
2.5.2.1 类型、宽度、范围
名称 | 宽度 | 范 围 |
long | 64/8 | -9 223 372 036 854 775 808至9 223 372 036 854 775 807 |
int | 32/4 | -2 147 483 648至2 147 483 647 大约21亿 |
short | 16/2 | -32 768至32 767 |
byte | 8/1 | -128至127 |
2.5.2.2 字面值
(1)整数字面值默认是int类型
(2)将字面值赋给byte或short变量时,如果字面值位于目标类型的范围之内,就不产生错误。
(3)大写或小写的L明确地标识其类型为long
(3)在字面值可以包含下划线,例如1_000_000_000
(4)十进制、八进制(0)、十六进制(0X/0x)、二进制(0B/0b)
案例2.1 整型案例
2.5.3 浮点型
浮点数,也称为实数(real number),当计算需要小数精度的表达式时使用。
2.5.3.1 类型、宽度、范围
名称 | 宽度(位) | 大致范围 |
double(双精度) | 64/8 | 4.9e-324~1.8e+308 |
float (单精度) | 32/4 | 1.4e-045~3.4e+038 |
2.5.3.2 浮点数字面值
(1)默认为double类型,为了指定float字面值,需要使用后缀F或f
(2)科学计数法。例如6.022E23、314159E-5、2e+100
案例2.2 浮点型案例
2.5.4 字符型
2.5.4.1 char类型与字符编码
(1)char是16位,Java在内部使用16位的整数表示字符(Unicode编码),char类型的范围0~65536。//全世界基本的语言符号基本都包含了
(2)char也可以用作整数类型,可以将整型字面值赋给char类型的变量,可以在char类型上执行算术运算。
(3)26个小写字母、26个大写字母、以及10个数字0-9,其编码是连续的。
2.5.4.2 char类型字面值
(1)字符型字面值使用单引号中的字符表示,例如’a’。
(2)转义字符
转义序列 | 描 述 |
\ddd | 八进制字符(ddd) |
\uxxxx | 十六进制Unicode字符(xxxx) |
\’ | 单引号 |
\” | 双引号 |
\\ | 反斜杠 |
\r | 回车符 |
\n | 新行符(也称为换行符) |
\f | 换页符 |
\t | 制表符 |
\b | 回格符 |
字符串类型:
字符串类型是String,String是类,所以是引用类型。字符串字面值是使用双引号包围起来的内容。
案例2.3 字符型案例
2.5.5 布尔型
(1)boolean类型表示逻辑值,它只能是true或false。
(2)boolean类型的值与整数0和1没有任何关系
案例2.4 boolean类型
2.6 变量/常量与方法
2.6.0 方法引入
2.6.1 变量的声明与赋值
说明:变量表示存储单元,变量名就是存储单元的名称,变量初始化之后就可以通过变量名访问存储单元。
1、变量声明 int i; String str; //还没有分配存储空间
2、初始化(赋初值) i=10; str=”abc”; //初始化之后就分配了存储空间
3、声明并赋值 int i = 10; String str=”abc”; //声明的同时进行初始化
注意:变量在使用之前必须先初始化(赋初值)。
2.6.2 常量的声明与赋值
声明常量需要使用final关键字,如,final double PI = 3.1415926。
常量通常在声明时赋值,并且赋值之后其值不能改变
常量标识符通常全部为大写。
案例2.5 常量案例
2.6.3 实例变量与局部变量
根据变量声明的位置,变量可以分为实例变量和局部变量。
2.6.3.1 实例变量及作用范围
在类的{}内直接定义的变量,称为全局变量。
作用范围:整个类中都可以使用
实例变量在创建对象时会自动初始化,并有初始值(默认值)
byte/short/int:0
long:0L
float:0.0f
double:0.0
boolean:false
引用类型:null
2.6.3.2 局部变量及作用范围
在方法中或代码块{}中定义的变量,称之为局部变量。
作用范围:直接包含它的{}内有效
局部变量不会自动初始化,没有默认值,使用之前必须要初始化。
案例2.6 变量案例
2.7 类型转换
·Java中类型转换分自动类型转换和强制类型转换。
总结:对于数值类型,如果目标类型的范围包含了原类型的范围,则可以自动转换,否则就需要强制转换。
2.7.1 自动类型转换
类型兼容、小类型转换为大类型
byte-->int short--->int int--->long
long--->float float--->double
String--->Object (子类--->父类)
2.7.2 强制类型转换
大类型转换为小类型
int-->byte int--->short long--->int
float--->long double--->float
Object--->String