从零开始学Java02-变量与常量
java变量与常量
大纲
- 标识符
- 关键字
- 变量
- 数据类型
- 类型转换
- 常量
标识符
- 必须由字母、数字、下划线(_)和美元符($)组成
- 首字母只能是字母、下划线(_)和美元符($),不能是数字
- 标识符严格区分大小写
- 标识符不能是Java关键字和保留字
- 标识符的命名最好能反应出其作用
关键字
- 关键字:Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。
- 保留字:保留字(reserved word),指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。
| abstract | boolean | break | byte | case | catch |
|---|---|---|---|---|---|
| char | class | continue | default | do | double |
| else | extends | false | final | finally | float |
| for | if | implements | import | native | int |
| interface | long | instanceof | new | null | package |
| private | protected | public | return | short | static |
| super | switch | synchronized | this | throw | throws |
| transient | true | try | void | volatile | while |
abstract : 抽象 -》将某个类或方法作为抽象类
boolean :布尔值 ->用于存储true和false
byte:字节型 -》 存储8位带符号的二进制数
case:选择结构中的某一项值 -》表示选择结构中的某一项值,搭配switch使用
catch:捕捉 -》捕捉程序中出现的异常,搭配try使用
char:字符型 -》表示该变量是字符型
class:类 -》定义类
continue:执行下一次循环 -》在循环中,跳过当前循环,执行下一循环
default:默认执行 -》如果case没有匹配的值,执行default中的代码;在接口中修饰具体实现方法
do:执行 -》与while搭配,形式:do-while
double:双精度浮点数 -》数据类型是双精度、64 位、符合IEEE 754标准的浮点数
else:其他 -》如果if条件不匹配,执行else中的语句,搭配 if 使用
extends:继承-》继承父类函数,可以使用或重写父类函数中的方法
false:否 -》表示否,相当于计算机语言中的“0”
final:最终 -》修饰某一方法或变量唯一,不能修改,重写等
finally:最终执行 -》在try-case-finally中,表示最终执行
float:单精度浮点数 - 》存储单精度、32位的浮点数
for:循环结构中的一种 -》 用于循环
if:选择结构中的一种 - 》用于判断,搭配else使用
implements:继承 -》用于继承接口
import:引入 -》引入某个jar包等
native: -》用于调用java之外的代码,或者调用系统底层函数
int: 整型-》存储32位、有符号的以二进制补码表示的整数
interface:接口 -》表示某个类是接口(可以这样理解)
long:长整型 -》存储 64 位、有符号的以二进制补码表示的整数
instanceof:双目运算符 -》测试一个对象是否为一个类的实例
new:初始化 -》用于初始化某对象等
null:空值 -》表示为空
package:包 -》表示包
private:私有 -》表示某函数或变量为该函数自有,其他无法调用
protected:受保护类型 -》表示只有继承类、本类、同一包类可调用
public:公有 -》相比上个,所有都可以调用
return:返回 -》返回某种值,对象等
short:短整型 -》存储 16 位、有符号的以二进制补码表示的整数
static:静态 -》表示该变量、函数等在程序开始就加载到内存,且可以直接调用,不需要初始化
super:超类 -》父类的引用,调用父类的构造函数
switch:选择结构一种 - 》搭配case使用
synchronized:线程同步 - 》实现线程同步
this: -》当前对象的引用
throw:抛出异常 -》抛出异常
throws:声明异常 -》 在方法后面声明出可能出现的异常
transient:反序列化 -》让某些被修饰的成员属性变量不被序列化
true:是 -》相当于计算机语言中的1
void:空类型 -》表示该变量为空类型,或者方法中表示返回值为空
volatile: -》让变量每次在使用的时候,都从主存中取
while:循环体结构一种 -》搭配do使用,也可自用
保留字: goto (在Java中会造成逻辑混乱)
变量
什么是变量
数据的临时存放场所
- 变量的三个元素:
- 变量类型
- 变量名
- 变量值
- 变量的命名规则:
- 满足标识符命名规则
- 符合驼峰法命名规范
- 尽量简单,做到见名知意
- 变量名的长度没有限制
类名的命名规则:
- 满足Pascal命名法规范(首字母大写,单个单词首字母大写)
数据类型
按照类型划分
- 基本数据类型
- 数值型
- 整数类型(byte,short,int,long)
- 浮点类型(float,double)
- 字符型(char)
- 布尔型(boolean(只有true和false))
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组
按照范围划分
- 类级
- 对象实例级
- 方法级(局部变量)
- 块级
基本数据类型
| 数据类型 | 说 明 | 字 节 |
|---|---|---|
| byte | 字节型 | 1 |
| short | 短整型 | 2 |
| int | 整形 | 4 |
| long | 长整型 | 8 |
| float | 单精度浮点数 | 4 |
| double | 双精度浮点数 | 8 |
| char | 字符型 | 2 |
| boolean | 布尔型 | 1 |
变量值
变量值可以是字面值或另外一个变量。
字面值
-
整形字面值
Java中有三种表示整数的方法:十进制、八进制、十六进制。
- 八进制以0开头包括0-7的数字
- 十六进制以0x或0X开头,包括0-9的数字及字母a-f,A-F。
-
浮点型字面值
- 浮点型字面值默认情况下表示double(双精度浮点型)类型,也可以在值后加d或D
- 如表示float(单精度浮点型),则需要在字面值后面加f或F
-
字符型字面值
- 字符型字面值用单引号内的单个字符表示
- char类型实际上是无符号16位整数类型,取值范围是0-65535
-
ASCII码 美国标准信息交换代码
基于拉丁字母的一套电脑编码系统
主要是用于显示现代英语和其他西欧语言
使用7位或8位二进制数的组合来表示128或256种可能的字符- 7位 ---标准ASCII码:大小写字母、标点符号、美式英语中的控制字符等
- 8位 ---扩展ASCII码:表示特殊符号,外来的字母等。
-
Unicode编码
称为统一码,万国码,目标是支持世界上所有的字符集。
unicode表示法,在值前加前缀\u
-
转义字符
转义字符是一些有特殊意义的字符,用来表示常见的不能显示的字符,如\n表示换行,\r表示回车。
变量声明
格式:[数据类型 变量名];
eg: int n;
赋值
使用赋值运算符(=)进行赋值,将运算符右边的值(字面值或另一个变量)赋给左边的变量
eg: n = 16;
在定义变量的同时给变量赋值,即变量的初始化。
类型转换
- 类型转换分为自动类型转换和强制类型转换
自动类型转换
又叫隐式类型转换
数据范围小的可以自动转换成大的
- ------>可能在转换时出现精度丢失
- ——>无信息丢失的数据类型转换
强制类型转换
如果A类型的数据表示范围比B类型大,则将A类型的值赋给B类型需要强制类型转换
强制数据类型转换的格式: (数据类型)数值
常量
定义常量,在定义变量格式前加final关键字
常量定义后不可以修改
一般情况下常量名都是大写

浙公网安备 33010602011771号