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

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

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

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

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

文章目录

  • 整型变量
    • 基本语法格式
    • 代码示例
  • 长整型变量
    • 基本语法格式
    • 代码示例
  • 双精度浮点型变量
    • 基本语法格式
    • 代码示例
  • 单精度浮点型变量
    • 基本语法格式
    • 代码示例
  • 字符类型变量
    • 基本语法格式
    • 代码示例
  • 字节类型变量
    • 基本语法格式
    • 代码示例
  • 短整型变量
    • 基本语法格式
    • 代码示例
  • 布尔类型变量
    • 基本语法格式
    • 代码示例
  • 简单/内置类型小结
  • 字符串类型变量
  • 基本语法格式
    • 代码示例
    • 转义字符
    • 字符串拼接
  • 变量作用域
  • 变量的命名规则
  • 常量
    • 字面值常量
    • final 关键字修饰的常量

整型变量

基本语法格式

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);

结果为:

Java学习苦旅(二)——变量与类型_第1张图片

单精度浮点型变量

基本语法格式

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 个比特位, 这个没有明确规定。

简单/内置类型小结

简单类型/内置类型 包装类 大小(字节) 取值范围
int Integer 4 -2^31——2^31-1
long Long 8 -2^63——2^63-1
double Double 8 4.9E-324 ——1.7976931348623157E308
float Float 4 1.4E-45——3.4028235E38
char Character 2 0——65535
byte Byte 1 -128——127
short Short 2 -2^15——2^15-1
boolean Boolean JVM标准并未明确大小

字符串类型变量

基本语法格式

String 变量名 = "初始值";

代码示例

String name = "张三";

转义字符

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

例如:

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

结果为:

Java学习苦旅(二)——变量与类型_第2张图片

字符串拼接

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

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

结果为:

Java学习苦旅(二)——变量与类型_第3张图片

变量作用域

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

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学习苦旅(三)——运算符

你可能感兴趣的:(Java学习苦旅)