从这篇文章起开始正式进入正题啦,本文将较为简单的介绍一下变量以及常量。变量,顾名思义,就是可以变的量,常量那么久相反了,常常不变的量就叫常量。_(¦3」∠)
变量
在 Java 中,任何一个变量都得有他的 “种族”(类型)。所以每当你创造一个变量的时候,就需要告诉编译器,它是哪个“种族” 的~
类型 变量名 [ = 值];
》1. 创建这个变量的过程叫声明变量
》2. 第一次给值的这个变量叫初始化
》3. 每一句代码的后面都得加; 结尾,不支持中文
虽然说起名字这种事情是大家的自由,但是 Java 为了防止它不认识你起的名字,也有一些条件限制((2)篇编码规范中有提及)。大驼峰小驼峰就不在细说,这里说一说基本要求:只能以$、字母、下划线、数字来进行组合,且必须遵守命名规范第一条
。详情见 java 基础(2)——命名规范(1)。
for example:
变量 | 错误原因 |
---|---|
1a | 不能以数字开头 |
$a/a$ | 不能以美元符号开头或结尾 |
_a/a_ | 不能以下划线开头或结尾 |
a*/Hello Ahan | 不能有除 $_字母数字外任何字符,空格也不行哦 |
213 | 不能为纯数字 |
public | 不能用关键字(上节有解释关键字哈) |
变量的数据类型
说到变量的 “种族”,那就得详解一下变量的八种基本变量类型 le~
序号 | 类型 | 名称 | 字节 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|---|
0 | byte | 字节 | 1 字节 | -128~127 | 0 | 存储一个字节数据, 超过范围报错 |
1 | short | 短整型 | 2 字节 | -2-15~215-1 | 0 | 兼容性考虑,一般很少使用到 |
2 | int | 整型 | 4 字节 | -2-31~231-1 | 0 | 存储整数,常用。 |
3 | long | 长整型 | 8 字节 | -2-63~263-1 | 0 | 存储长整数,long 性变量后面常加上 L |
4 | float | 单精度浮点型 | 4 字节 | 1.4013E-45~3.4028E+38 | 0.0F | 存储浮点数(浮点型通常是小数)后面可带 F 用以区分 |
5 | double | 双精度浮点型 | 8 字节 | 4.9E-324~1.7977E+308 | 0.0D | 存储浮点数,后面可带 D 用以区分 |
6 | char | 字符型 | 2 字节 | 0~216-1 | '\u0000' | 存储一个字符 |
7 | boolean | 布尔型 | 1 字节 | true,flase | flase | 存储一个逻辑变量 (true,false) |
注意:这里序号是从 0 开始,一般计算机语言都从 0 开始哦,养成这个习惯吧~
另外: 1 字节 = 8 位,215 = 32768
代码测试
上面的表可能看着比较冷酷无情 (/ω\),我们用代码执行一下看看到底上面说的有没有假话吧~
- byte
// byte的用法 byte a = 100; System.out.println("byte变量的值为:" + a);
输出:
反例:
- short
// short的用法 short s = 400; System.out.println(s);
- int
// int的用法 int a = 1; System.out.println(a);
- long
// long的用法 long a = 100L; System.out.println(a);
- float
// float的用法 float a = 100; System.out.println("float输出结果是" + a);
输出结果:
因为定义的为浮点型,所以这里输出的值是 100.0
那么我们需要注意的是直接定义float a = 100.0;
这个是错误的。
为什么呢?我们接着看下一个变量。
- double
// double的用法 double a = 100; System.out.println("double输出结果是" + a);
输出结果:
然后我们看看 100.0~
诶?好像 double 可以了,那么这就说明小数在 Java 中是默认为双精度的浮点型存储。那么问题又来了,我就想要个 float 的单精度怎么办?
So easy~
这时候就很简单了,只需要告诉它我这个是 float 型的就 OK 啦~
- char
// char的用法 char a = '我'; char b = 'c'; System.out.println(a + "-" +b); char c = 99; System.out.println("c=="+c);
输出结果:
有个奇怪的输出冒出来了啊喵,为啥 99 变成 c 了呢?这就涉及到了编码的问题惹,Java 用的是 Unicode 编码(包含 8 位的 ASCII 编码),所以 99 会被转成相应的字符了~ 那这里就附上 ASCII 编码的表格以做记录吧~
以上,阿里嘎多,20190405 from ahanwhite。