首页 > 技术文章 > 变量和数据类型

sumboy 2018-03-19 18:59 原文

一、变量和注释

1.变量的基本概念
当需要在Java代码中记录单个数据内容时,则需要声明一个变量进行处理,而变量的本质就是在内存中申请一块存储单元用于存放数据,该存储单元的数据可以发生改变。
由于存放的数据内容不同导致所需的存储单元大小不同,此时可以使用数据类型的概念加以描述,并给该存储单元指定一个名称作为访问数据的方式。

2.变量的声明方式
数据类型 变量名 = 初始值; - 其中=初始值可以省略,但分号不可以省略

3.标识符(变量名)的命名规则(记住)

(1)要求必须由字母、数字、下划线以及$组成,其中数字不能开头;
如:age name taobao age2 name2
(2)要求不能与Java语言中的关键字同名,关键字就是Java语言中用于表示特殊含义的标识符
如:class void static 等
(3)区分大小写,长度没有限制但不宜过长;
如:day dAy Day - 不推荐使用 sendMsg
(4)尽量做到见名知意,支持中文但不推荐使用;

 

二、数据类型

1.基本分类
在Java语言将数据类型分为两大类:(记住)
(1)基本数据类型
byte、short、int、long、float、double、boolean、char
1 字节   2       4        8        4         8            1             2
(2)引用数据类型
数组、类、接口、枚举以及标注

2.进制之间的转换(原理)
(1)正十进制转换为二进制的方式
a.除2取余法,也就是让十进制整数不断地除以2并记录余数,直到商为0时逆序排序。
b.拆分法,将十进制整数拆分为若干个二进制权重的和,若有该权重则下面写1,否则写0。
如:
35 => 32 + 2 + 1 => 0010 0011

128    64   32  16   8   4   2   1
0          0     1    0   0   0   1   1

(2)正二进制转换为十进制的方式
a.加权法,让二进制中的每个数字乘以当前位的权重,再累加起来。
如:
0010 0011 => 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 1*2^0
=> 0 + 0 + 32 + 0 + 0 + 0 + 2 + 1
=> 35

3.单个字节表示的整数范围(重中之重)
在计算机中单个字节表示为8位二进制,表示的整数范围是:
非负数所能表示的范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
0111 1111 => 0*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
=> 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127
负数所能表示的范围是:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
1000 0000 => 减1: 0111 1111
=> 按位取反: 1000 0000
=> 转换整数: 128
=> 添加负号: -128
1111 1111 => 减1: 1111 1110
=> 按位取反: 0000 0001
=> 转换整数: 1
=> 添加负号: -1
综上所述:
对于单个字节的二进制来说,所能表示的整数范围是:-128 ~ 127 => -2^7 ~ 2^7-1.

4.基本数据类型之间的转换
自动类型转换: 主要指从小类型向大类型之间的转换。
强制类型转换:主要指从大类型向小类型之间的转换。

推荐阅读