Java学习苦旅(二)——变量与类型

本篇博客将介绍java的变量和类型。

在介绍之前,我们先要弄懂何为变量,何为类型。

变量指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据。

类型则对变量的种类进行了划分, 不同的类型的变量具有不同的特性。

整型变量

基本语法格式

int	变量名	= 初始值;

代码示例

int a = 10;

int表示变量的类型是一个整型。在 Java 中, 一个int变量占 4 个字节,和操作系统没有直接关系。

什么是字节?

字节是计算机中表示空间大小的基本单位.

计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(Byte).

我们平时的计算机为 8GB 内存, 意思是 8G 个字节.

其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.

所以 8GB 相当于 80 多亿个字节.

长整型变量

基本语法格式

long 变量名 = 初始值;

代码示例

long a = 10L;//定义一个长整型变量,也可以写为long a = 10l;(l是L的小写)

Java 中 long 类型占 8 个字节

双精度浮点型变量

基本语法格式

double 变量名 = 初始值;

代码示例

double a = 1.0;

java中double是8个字节。Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差。 例如:

double a = 1.1;
System.out.println(a * a);

结果为:

image-20210801164158366

单精度浮点型变量

基本语法格式

float 变量名 = 初始值;

代码示例

float a = 1.0f;//也可以写作1.0F

float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数都优先考虑 double, 不太推荐使用 float。

字符类型变量

基本语法格式

char 变量名 = 初始值;

代码示例

char ch = 'A';

java中一个字符占两个字节。 因为 Java 中使用 Unicode 表示字符。

字节类型变量

基本语法格式

byte 变量名 = 初始值;

代码示例

byte a = 0;

java中byte的大小为1个字节。

短整型变量

基本语法格式

short 变量名 = 初始值;

代码示例

short a = 0;

java中short占用两个字节。

布尔类型变量

基本语法格式

boolean 变量名 = 初始值;

代码示例

boolean value = true;

boolean类型的变量只有两种取值,true表示真,false表示假。

Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。

boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定。

简单/内置类型小结

简单类型/内置类型包装类大小(字节)取值范围
intInteger4-2^31——2^31-1
longLong8-2^63——2^63-1
doubleDouble84.9E-324 ——1.7976931348623157E308
floatFloat41.4E-45——3.4028235E38
charCharacter20——65535
byteByte1-128——127
shortShort2-2^15——2^15-1
booleanBooleanJVM标准并未明确大小

字符串类型变量

基本语法格式

String 变量名 = "初始值";

代码示例

String name = "张三";

转义字符

转义字符解释
\n换行
\t水平制表符
\’单引号
\"双引号
\\反斜杠

例如:

String str = "My name is \"张三\"";
System.out.println(str);

结果为:

image-20210802150722089

字符串拼接

+表示字符串拼接。 例如:

String a = "hello ";
String b = "world";
System.out.println(a+b);

结果为:

image-20210802151000398

变量作用域

变量作用域指是该变量能生效的范围, 一般是变量定义所在的代码块 (大括号)。例如:

public class TestDemo {
    public static void main(String[] args) {
        {
            int a = 10;
            System.out.println(a);//编译通过
        }
        System.out.println(a);//编译不通过,找不到变量a
    }
}

变量的命名规则

  1. 一个变量名只能包含数字, 字母, 下划线

  2. 数字不能开头.

  3. 变量名是区分大小写的

注意: 虽然语法上也允许使用美元符($)命名变量,但不推荐这样命名。

命名推荐小驼峰命名法。 例如:

int maxValue = 10;

常量

常量指的是运行时类型不能发生改变,不能在程序运行过程中发生修改。

字面值常量

10 // int 字面值常量(十进制) 
010 // int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8 
0x10 // int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16 
10L // long 字面值常量. 也可以写作 10l (小写的L) 
1.0 // double 字面值常量. 也可以写作 1.0d 或者 1.0D 
1.5e2 // double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2 
1.0f // float 字面值常量, 也可以写作 1.0F 
true // boolen 字面值常量, 同样的还有 false 
'a' // char 字面值常量, 单引号中只能有一个字符
"abc" // String 字面值常量, 双引号中可以有多个字符.

final 关键字修饰的常量

final修饰的变量不能被更改。例如:

final int a = 10;
a = 20;//编译错误

本篇博客到此结束。

上一篇博客:Java学习苦旅(一)——你好鸭,Java小姐
下一篇博客:Java学习苦旅(三)——运算符

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值