TIJ 复习笔记2
如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界
-- Luduing Wittgerstein
本章主要介绍JAVA的基本组成部分,并且体会到java中计划一切都是对象。
对象及其他元素的存储
java中虽然到处都是对象,但是操纵对象的标识符,被称为引用(reference)
String s;
这里s是一个引用
java相关的数据存放
名称 | 描述 | 存放 | 优点 | 缺点 |
---|---|---|---|---|
寄存器 | 位于处理器内部 | 最快 | 无可操作,无法感觉到 | |
堆栈 | 又叫栈(stack),存在于RAM中 | 基本数据类型和对象的引用 | 速度快 | 不灵活,java需要知道变量的完整生命周期 |
堆 | 又叫heap,存在于RAM中 | 对象 | 灵活 | 分配和清理需要更多时间 |
常量存储 | 位于程序内部 | 常量 | 安全,不会改变 | |
非RAM存储 | 数据存活于程序之外,例如流对象、持久化对象 | 磁盘等 |
基本数据类型
有9个基本数据类型,可以记为5211;如果不算void的话,也可以说是8种
5(整数)+2(小数)+1(真假)+1(空)
类型 | 位数bit | 包装器 |
---|---|---|
short | 16 | Short |
int | 32 | Integer |
long | 64 | Long |
byte | 8 | Byte |
char | 16 | Character |
float | 32 | Float |
double | 64 | Double |
boolean | 未指定 | Boolean |
其中java是没有无符号类型的,并且他们的bit位数是固定的。
这些变量不是对象,但是分别有包装器可以转换成对象。
例如,可以直接相互转化。
char c ='x'
Character ch = c;
c = ch;
典型的HelloWorld
//:HelloWorld.java
public HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
执行方法:
javac Helloworld.java
java Helloworld
java是自由风格,对缩进没有特殊要求,和C一样用括号和分号,来分割语句、代码块。
这是一个典型的HelloWorld的类。
main函数是程序的入口点,static使得不用创建对象的前提下访问,public允许对外访问。
javadoc
java中可以在代码中写注释,比如// 或者/* / 这样的。
可以通过javadoc工具,直接生成相应的文档(html)
//: Documentation1.java
/** this is a class
* @author me
* @version 1.0
*/
public class Documentation1 {
/** this is a field */
int f;
/** this is a method
* @param s this is a string
* @return get the result
* /
public int foo(int s) {
return s ;
}
}
执行javadoc可以生成文档
javadoc Documentation1.java
其他要点
- 类中的数据成员,如果是基本类型,会默认初始化
- java中的数组,默认会初始化为null,会进行范围检查,非常安全。
- String对象可以不用new初始化,例如
String s = "abc"
、 - java不可以嵌套作用域,避免作用域混乱,以下是不可以的
{
int a = 1;
{
int a = 2;
}
}