Java知识回顾 (1) 编译环境与基本变量类型
Java知识回顾序列的相关资料,主要来自 runoob,并对其中的知识进行概况或总结,去除对一个之前了解过Java的人员无关的知识点。以便能够使得一个新手,或之前有Java经验的开发人员,快速上手Java算法或系统开发。在此对runoob网站表示感谢。
一、Java 源程序与编译型运行区别
如下图所示:
二、基本数据类型
内置数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,byte, short, int, long;两个浮点型, float, double),一种字符类型(char),还有一种布尔型(boolean)。
序号 | 类型 | 长度(Byte) | 范围 | 备注 |
1 | byte | 1 | -128~128 | 默认值是 0 |
2 | short | 2 | -32768~32767 | 默认值是 0 |
3 | int | 4 |
-2,147,483,648(-2^31)~ 2,147,483,647(2^31 - 1) |
默认值是 0 |
4 | long | 8 |
-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 |
默认值是 0L |
5 | float | 4 |
默认值是 0.0f; |
|
6 | double | 8 | 浮点数的默认类型为double类型 | |
7 | char | 2 Byte Unicode 字符 | ||
8 | boolean | 1bit |
引用类型
- 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
- 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是null。
- 一个引用变量可以用来引用任何与之兼容的类型。
- 例子:Site site = new Site("Runoob")。
Java 常量
常量在程序运行时是不能被修改的。为了便于识别,通常使用大写字母表示常量。当使用常量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制。字符串常量和字符常量都可以包含任何Unicode字符。例如:
final double PI = 3.1415927;
char a = '\u0001';
String a = "\u0001";
Java语言支持一些特殊的转义字符序列。
符号 | 字符含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x20) |
\s | 字符串 |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
数据类型转换必须满足如下规则:
-
1. 不能对boolean类型进行类型转换。
-
2. 不能把对象类型转换成不相关类的对象。
-
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
-
4. 转换过程中可能导致溢出或损失精度,例如:
- 5.浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。
(int)23.7 == 23;
(int)-45.89f == -45
隐含强制类型转换
-
1. 整数的默认类型是 int。
-
2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。