目录
一、常量和变量
常量
- 程序运行中,值不能改变的量称之为常量,常量使用
final
关键字 -
常量名全部使用大写字母,多个单词之间使用下划线隔
-
常量一般在声明的时候就进行赋值
-
常量的值不能被改变
-
语法格式:
-
final 数据类型 = 数据;
-
变量
变量的类型
- int类型的变量:二进制(以0B或者0b开头)、八进制(以0开头)、十进制、十六进制(以0x或0X开头)。
- long类型的变量:在整数后面添加小写字母 l 或者大写字母 L。
- float类型的变量:在一个小数后面添加小写字母 f 或者大写字母 F。
- double类型的变量:标准小数形式或者科学计数法形式的小数。
- boolean类型的变量:只有true和false。
- char类型的变量:单引号括起来的字符、转义字符和Unicode值表示的字符。
- String类型的变量:用双引号括起来的字符序列。
- null类型的变量:只有一个值null,可以赋值给任何引用类型的变量,表示引用类型变量中保存的地址为空。
变量的定义
- 定义的格式
//数据类型 变量名 = 初始化值;
int num1 = 1;
- 注意事项
- 同一作用域内同一变量不可以重复声明
- 变量必须初始化以及赋值后才能使用,否则会报错
- 变量的值可在同一类型中不断变化
- 变量名的命名要符合规则,使用驼峰命名法
变量的作用域
- 全局变量
- 直接定义在类中,方法外的变量
- 作用域是整个类
- 局部变量
- 方法的形参,方法内的变量,代码块中的变量
- 没有初始值,必须显式初始化后才能使用
- 定义局部变量后,系统并未分配内存空间,知道程序为这个变量赋值时,系统才会在所在方法的栈内存中为局部变量分配内存,并将初始值保存在该内存中
- 从定义的位置开始到所在结束的花括号
二、数据类型
数据类型的分类
数据类型 | 关键字 | 取值范围 | 内存占用(bit) |
---|---|---|---|
整数 | byte | 1 | |
整数 | short | 2 | |
整数 | int | 4 | |
整数 | long | 8 | |
浮点数 | float | 4 | |
浮点数 | double | 8 | |
字符 | char | 2 | |
布尔 | boolean | true,false | 1 |
boolean类型
- 常量值只能是true或者false
boolean bool1 = false;
整数类型
- byte、shout、int、long
- 二进制(补码)以0B或者0b开头,0B0110
- 八进制以0开头,056
- 十进制17
- 十六进制以0X或者0x开头,0XFF
- long类型后面需要加大写字母 L 或者小写字母 l
浮点数类型
- float,double
double pi = 3.14; //浮点数类型默认double类型
float pi = 3.14f; //float类型在后面需要加小写字母f或者大写字母F
float pi = 3.14; //错误,不兼容类型,double类型转换float类型可能造成精度损失
字符类型
- 一个char类型可以存储一个汉字
- 使用需要使用单引号括起来
- 表现形式:
char c1 = 'a'; //单个字符
char c2 = 97; //Unicode值
char c3 = '\u0061'; //十六进制的整数
引用类型String
- 字符串使用双引号括起来
- 连接字符串使用" + "符号
- 字符串拼接:
字符串可以和任何基本类型的值或者Java对象进行连接运算,结果都是字符串类型,系统自动调用Java对象toString()方法
基本数据类型的转换
自动转换
- boolean不属于数值类型,不参与转换
- 小范围会自动转大范围的数据类型,大范围不可以转小范围,可能会造成精度丢失
强制转换
- 语法格式:(转换的类型)变量值或变量名
int a = 12;
byte b = (byte) a;