目录
概念
变量是内存中的一个存储区域,在该区域的数据可以在同一类型范围内不断变化。同时变量又是程序中最基本的存储单元,其中包含变量类型、变量名以及存储的值。
变量声明
声明变量
语法:[ 数据类型 ] [ 变量名称 ]
例如:int num;
变量的赋值
语法:[ 变量名称 ] = [ 值 ]
例如:num = 1;
组合
语法:[ 数据类型 ] [ 变量名 ] = [ 初始值 ]
例如: int num = 1;
变量的分类
按数据类型分
按声明位置分
上面对变量做了一个全局的概述,下面一起来看看具体的变量说明吧~
基本数据类型
数值型
整数型
类型 | 存储空间 | 取值范围 |
byte | 1字节 | -2^7 ~ 2^7 - 1 |
short | 2字节 | -2^15 ~ 2^15 - 1 |
int | 4字节 | -2^31 ~ 2^31 - 1 |
long | 8字节 | -2^64 ~ 2^64 - 1 |
注意点:
- 整型常量默认为 int 型,其它类型需显示声明。
- 声明为 long 类型常量需加 "l" 或 "L" 后缀,实际常用 "L" ,因为 "l" 常与数字 1 混淆。
// 声明整型变量
byte b1 = 1;
// byte b2 = 128; // 超出范围,报错
short s1 = 1;
// short s2 = 10000000; // 超出范围,报错
int i1 = 1;
int i2 = 10000000;
long l1 = 1L;
long l2 = 1000000000000L;
浮点型
类型 | 存储空间 | 取值范围 |
float【单精度】 | 4字节 | -3.403 * 10^38 ~ 3.403 * 10^38 |
double【双精度】 | 8字节 | -1.798 * 10^308 ~ 1.798 * 10^308 |
单精度与双精度的区别:
- 单精度和双精度的字节数不同。前者占4个字节;后者占8个字节。
- 单精度和双精度有效数字位数不同。前者为8位;后者为16位。
- 单精度和双精度表示的数的范围不同。前者的数值范围在-3.40E+38 到 +3.40E+38之间;后者的范围为-1.79E+308到+1.79E+308之间。
- 单精度和双精度处理的速度不同。前者的速度更加的快。
- 单精度可以精确到7位有效数字,在很多情况下难以满足需求。而双精度是单精度的双倍,通常我们使用double类型来代表浮点型数值。
// float f1 = 0.11; // 报错
float f1 = 0.11f;
float f2 = 0.11F;
double d1 = 0.11d;
double d2 = 0.11D;
字符型
char
char - 2 字节,通常意义上的字符。
常见转义字符:
转义字符 | 说明 |
\b | 退格 |
\n | 换行 |
\r | 回车 |
\t | 制表 |
\" | 双引号 |
\' | 单引号 |
char c1 = 'a';
布尔型
boolean
- boolean类型用于逻辑条件的判断,一般常用于程序流程控制;
- boolean类型只允许取值true和false,程序编译后使用int类型进行替换,1 表示 true,0 表示false。
boolean flag = true;
boolean flag2 = false;
// boolean flag3 = null; 报错
// boolean flag4 = 1; 报错
基本数据类型间的转换
- byte、short、char之间不会相互转换,它们三者在计算时首先转换为int类型;
- boolean类型不能与其它数据类型值进行运算
引用数据类型
String
String类型的声明方式与基本类型一致
String str1 = "a";
字符串不仅可以可以和同类型进行拼接,和其它类型也可以。
String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;
int num1 = 10;
String str4 = str1 + num1;
System.out.println(str3);
System.out.println(str4);
helloworld
hello10
引用类型暂时先介绍到这,数组类型我们单独在后面起一个新篇章进行讲解。
写在最后
相信大家在看完上述内容后对Java中的常见变量类型有了基本的了解,下一章我们将讲述Java中常见运算符以及变量间的运算操作。收藏关注不迷路哦~
参考文章:
本文含有隐藏内容,请 开通VIP 后查看