Java4Android自学记录(4):Java的基本数据类型

1 目录及资源索引

  Java4Android自学过程目录及资源索引

2 布尔型变量

  • boolean 类型适用于逻辑运算,一般用于程序流程控制;
  • 在 Java 当中的 boolean 类型只有两种取值可能 true 和 false

  需要注意的是布尔类型只有 true 和 false,不能为其他值(0,非0,空,非空)。这点不同于C语言和C++。

3 字符型变量

  • char 类型数据用来表示通常意义上的字符;
  • 字符是由单引号包括起来的单个字符:
char c = 'a';
  • Java 字符使用Unicode字符集;

4 什么是Unicode字符集

  在看什么是 Unicode 字符集之前,先简单列一下 ASCII 字符集,用来做一个对比。

  • ASCII 字符集
  1. ASCII 全称为:American Standard Code for Information Interchange(美国信息交换标准规范)。我也是第一次了解了 ASCII 的全称。。。
  2. 在计算机当中,所有数据都需要使用二进制的数字表示;
  3. 类似于a、b、c之类的字母无法直接用二进制表示;
  4. 所以就将所有常见的符号进行编号。标准 ASCII 码使用7位二进制数来表示字符;
  5. 7位二进制数可以表示所有的数字,大小写字母以及一些常见符号(例如!,@,#,$等)。
  • Unicode 字符集
  1. Unicode 为每种语言的每个字符设定了统一并且唯一的二进制码。(此处的语言,我个人理解应该为:汉语,英语,法语等等这种语言。而不是 Java,C语言,C++等)
  2. Unicode 满足了跨语言文本转换和处理的需求;
  3. Unicode 在互联网当中扮演着非常重要的角色;(类比不同地区,不同种族,不同语言人们的文明交流,这就像是一个纽带一样,连接着这么多东西)
  4. Unicode 使用数字 0 - 0X10FFFF 来表示字符;
  5. 最多允许有 1114112 个字符。

5 乱码是怎么产生的

  乱码产生的主要原因是:存入(写)内容所使用的字符集,和取出(读)内容所使用的字符集不一样,就会产生乱码。

  参考例子可以自己在一个TXT文本中输入 联通 两个字,然后保存,关闭,再重新打开,就会发现已经出现乱码了。自己测试的时候,发现输入我名字就不会这样,很神奇。

6 Java与Unicode字符集

  由于 Java 在设计的初期就考虑到将该语言使用在互联网当中,所以设计者们就选用了 Unicode 字符集,这也使得 Java 程序能够在互联网当中更好的流通,也正是由于这样的原因,以下的代码是合法的:

char c = '中';

   Java 中的 char 类型的变量可以存储一个汉字。因为 Java 使用的是 Unicode 编码,在此编码中,一个英文字符和一个中文字符,占用的长度是一样的。

7 实际测试

  代码如下:

public class test1
{
	public static void main(String args[])
	{
		char cTemp1 = '赵';

		System.out.println(cTemp1);
	}
}

  按照之前的方法,编译出现了如下错误:
在这里插入图片描述
  经过在网上查找资料,发现在编译的时候,系统使用的字符集不是 Unicode 的字符集,网址及截图如下:
  参考网址:错误:编码GBK的不可映射字符
在这里插入图片描述
  后来又重新尝试使用如下命令编译,发现编译成功了。

javac test1.java -encoding UTF-8

在这里插入图片描述
  接下来,运行编译好的类文件,即可发现,成功打印出汉字。
在这里插入图片描述

8 数值型变量

  数值变量分为两大类

扫描二维码关注公众号,回复: 9187433 查看本文章
  1. 整数类型
    a. byte
    b. short
    c. int
    d. long

  2. 浮点类型
    a. float
    b. double

  整数类型占用存储空间及表数范围如下:

类 型 占用存储空间 表数范围
byte 1字节 -128 ~ 127
short 2字节 -215 ~ 215 - 1
int 4字节 -231 ~ 231 - 1
long 8字节 -263 ~ 263 - 1

  Java 语言整型常量的三种表示形式:

  • 十进制整数,如12,-314,0。
  • 八进制数,要求以0开头,如012。
  • 十六进制数,要求0x或0X开头,如0X12。

  Java 语言的整型常量默认为 int 型,如:

int iTemp1 = 3;

  声明 long 型常量,可以在后边加上 “l” 或 “L” ,不过一般建议加上大写L,便于区分:

long lTemp1 = 3L;	// 加上 L 代表长整型

9 浮点数

  浮点数类型占用存储空间及表数范围如下:

类 型 占用存储空间 表数范围
float 4字节 -3.403E38 ~ 3.403E38
double 8字节 -1.798E308 ~ 1.798E308

10 总结

  1. 明白了 Java 中布尔类型,只能取 true 或 false,不能为其他;
  2. 了解了 Unicode 字符集,并做了相关测试;
  3. 了解到 Java 中,一个汉字和一个英文字符,占用的长度是一样的,因为 Java 使用的就是 Unicode 字符集。
  4. 明白了乱码产生的原理;
  5. 需要给一个变量赋值为长整型时,需要在后边加上大写的L,否则默认就是 int 整形的。
  6. 了解不是很深入,还需继续努力呀~
发布了88 篇原创文章 · 获赞 84 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/Fighting_Boom/article/details/103879830
今日推荐