关键字,标识符,注释,数据类型
程序员文章站
2022-07-14 11:10:15
...
关键字,标识符,注释,数据类型
1 关键字
- 定义: 被Java语言赋予了特殊含义的单词
- 特点: 关键字中的所有字母都为小写
用于定义数据类型的关键字 | — | — | — | — | |
---|---|---|---|---|---|
class | interface | byte | short | int | |
long | float | double | char | boolean | void |
用于定义数据类型值的关键字 | — | — | — | — | |
true | false | null | |||
用于定义流程控制的关键字 | — | — | — | — | |
if | else | switch | case | default | |
while | do | for | break | continue | |
return | |||||
用于定义权限修饰符的关键字 | — | — | — | — | |
private | protected | public | |||
用于定义类,函数,变量修饰符的关键字 | — | — | — | — | |
abstract | final | static | synchronized | ||
用于定义类与类之间的关系的关键字 | — | — | — | — | |
extends | implements | ||||
用于定义实例及引用实例,判断实例的关键字 | — | — | — | — | |
new | this | super | instanceof | ||
用于定义异步处理的关键字 | — | — | — | — | |
try | catch | finally | throw | throws | |
用于定义包的关键字 | — | — | — | — | |
package | import | ||||
用于定义其他修饰符的关键字 | — | — | — | — | |
native | strictfp | transient | volatile | assert |
2 Java标识符
- 在程序中自定义的一些名称
- 由26个英文字母大小写,数字:0~9, 符号:_$组成
- 定义合法标识符的规则
- 数字不可以开头
- 不可以使用关键字
- Java中严格区分大小写。
- 注意: 在起名字时,为了提高阅读性,要尽量有意义
3 Java中包命名的规范:
- 包名: 多单词组成时所有字母都小写
- 类名接口名: 多单词组成时,所有单词的首字母大写
- 变量名和函数名: 多单词组成时,第一个单词首字母小写,第二个单词开始的每个单词首字母大写
- 常量名: 所有字母都大写,多单词时每个单词用下划线连接
4 注释
-
用于注解说明解释程序文字就是注解
-
提高代码的阅读性
-
Java中的注释格式:
- 单行注释格式: //注释文字
- 多行注释格式: /*注释文字*/
- 文档注释格式: /** 注释文字*/
-
对于单行和多行注释,被注释的文字,不会被JVM(Java虚拟机)结束执行
-
对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具Javadoc所解析,生成一套以网页文件形式体现的良好编程习惯
-
注释是一个程序员必须要具有的良好编程习惯
-
初学者编写程序可以养成习惯:先写注释在写代码
-
将自己的思想通过注释先整理出来,再用代码去体现
-
因为代码仅仅是思想的一种表现形式而已
5 数据类型(掌握)
- Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
- 分类:
- 基本数据类型:4类8种
- 数值型: byte , short , int , long
- 浮点型: float , double
- 字符串: char
- 布尔型: boolean
- 引用数据类型:类,接口,数组。
- 类: class
- 接口: interface
- 数值: arra
- 基本数据类型:4类8种
Java
的数据类型分基本数据类型(原始数据类型)和引用数据类型;
- 基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:short a; java会在可使用的内存空间寻找一个占两个字节的块给a变量;
- 引用数据类型就那三种,类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址,想具体知道看看数据结构就好了。
- 通俗讲,一、上图记住很够用;二、说内存、谈地址基本都是说引用而非基本;三、你可以把内存地址理解是你学号,而对象实体就是你,每次找你通过学号找,这就是引用;
- 这个知识点的应用:
- “==”作用在引用数据类型间,判断内存地址是否相等,想判断内容实体用equals;
- 基本传值传参传的是副本,修改后原值不变;引用传值传参穿的是地址,修改后原值改变。
整型:
- byte 1个字节,最小值:-128,最大值:127
- short 2个字节,最小值:-32768,最大值:32767
- int 4个字节,最小值:-2147483648,最大值:2147483647
- long 8个字节,最小值:- 9223372036854775808,最大值:9223372036854775807
浮点数:
- float 4个字节,最小值:1.4E-45,最大值:3.4028235E38
- double 8个字节,最小值:4.9E-324,最大值:1.7976931348623157E308
字符:
- char 2个字节,最小值:0,最大值:65535
- boolean 一个字节或者四个字节。如果boolean用于声明一个基本类型变量时是占四个字节,如果用于声明一个数据类型的时候,那么数组中每个元素占一个字节。
注意:
- 整数默认是int类型,浮点数默认是double。
- 长整数要加L或者l。
- 单精度的浮点数要加F或者f。
6 数据类型转换(掌握)
- 自动类型转换(也叫隐式类型转换)
- 强制类型转换(也叫显式类型转换)
- 类型转换的原理
- A.boolean类型不参与转换
- B.默认转换
- 从小到大
- byte,short,char – int – long – float – double
- byte,short,char之间不相互转换,直接转成int类型参与运算。
- C. 强制转换
- 从大到小
- 可能会有精度的损失,一般不建议这样使用
- 格式:
- 目标数据类型 变量名 = (目标数据类型) (被转换的数据);
- 什么时候要用强制类型转换?
- 表达式的数据类型自动提升
- 所有的byte型、short型和char的值将被提升到int型。
- 如果一个操作数是long型,计算结果就是long型;
- 如果一个操作数是float型,计算结果就是float型;
- 如果一个操作数是double型,计算结果就是double型。
自动类型提升
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 4;
b=b+4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
思考:
byte b1 = 3,b2 = 4, b;
b=b1+b2;//报错 byte char short 表达式数据运算时会提升为int
b=3+4;//编译通过,
b = 3 + 127;//编译失败,130 大于byte类型的最大值
- 类型转换
class VarDemo
{
public static void main(String[] args)
{
char c = 'a';
//c = 'a' + 'b';//编译通过,结果:?
//c = c + 'b'; //编译失败,c int类型损失精度
c += 'b';//编译通过,结果:?
System.out.println(c);
}
}