1. Java程序由称为类的片段组成。
而类包含一些称为方法(method)的片段,方法负责执行任务并在完成任务后返回信息。(当然还有自己的属性)
程序员可以自己创建形成Java程序的各个片段,但大多数Java程序员却利用Java类库(JavaClass Library)中丰富的现有类的集合,Java类库也称为JavaAPI(Application Programming Interface,应用程序编程接口)。因此,当进入Java的世界时,实际上要学习两方面的内容。一方面,要学习Java语言本身,以使我们能够编写自己的类;另一方面,还要了解Java类库中大量的类。
2. 执行Java程序通常需呀5个阶段:
阶段1: 编辑 编辑器<------->磁盘 程序在编辑器中创建并保存在磁盘中,文件以.java结尾。
阶段2: 编译 编译器<------->磁盘 编译器创建字节码文件,并将它保存在磁盘中,文件以.class结尾。
阶段3: 加载 磁盘------->类加载器------->内存
最终产生位于堆区中的代表这个类的java.lang.Class对象.
阶段4: 验证 字节验证器<------->内存 字节码验证器确认所有的字节码都是有效的,没有违反Java的安全限制。
阶段5: 执行 JAVA虚拟机JVM------->内存 为了执行程序,JVM需要读取字节码并将它们即时(JIT Just In Time)编译(即翻译)成计算机能够理解的语言。当程序执行时,会将数据值保存在内存中。
3. 与依赖于特定计算机硬件的机器语言不同,字节码是一些与平台无关的指令------他们不依赖于任何特定的硬件平台。因此,Java在字节码一级别上是可以移植的------相同的字节码可以在任何包含JVM(不同平台的JVM可能不同)的平台上运行,只要该JVM能够理解编译字节码时的Java版本。
4. Java程序实际上经历了两个编译阶段:
<1>一个阶段是将源代码翻译成字节码(以实现在不同计算机JVM平台上的可移植性)。
<2>另一个阶段是在执行过程中将字节码翻译成机器语言,以使程序在实际的计算机上运行。
5. 常见的转义序列:
\n 换行符。将屏幕光标定位到下一行的开始处。
\t 水平制表符。将屏幕光标移动到下一个制表符处(相当于按一下TAB键)。
\r 回车符。将屏幕光标定位到当前行的开始处,不进入下一行。在回车符之
后输入的任何字符,都会覆盖掉以前在这一行中输出的字符。
\\ 反斜线。用来输出反斜线字符。
\” 双引号。用来输出双引号字符。
6. Java允许将长语句分成多行编写。但是,不能将标识符或字符串从它的中间断开。应该选择有意义的断点,如在某个逗号之后或长表达式的一个运算符之后。
7. Java的强大之处在于,它有丰富的预定义类供程序员复用,而不必从头编写。这些预定义的类被分组成不同的包(package),即相关类的命名集合。Java的包总称为Java类库(Java Class Library)或 Java程序编程接口(Java API)。程序员用import声明来标识在程序中使用的预定义类。
8. 变量声明
变量(variable)代表计算机内存中的一个位置,此处能保存一个值供程序以后使用。变量在能够使用之前,所有的变量都必须通过名称和类型 声明变量。变量名使程序能够访问内存中变量的值。变量的类型指定内存中该位置存储是哪种信息。
声明一个变量之后,必须要赋值语句对变量进行显示显示初始化,因为我们要使得每个变量一开始就是有意义的,千万不要使用未被初始化的变量。
9. 注意,在每条if语句的第一行末尾都没有分号,加上分号会导致执行时逻辑错误。
例如: if(num1 == num2);
System.out.printf(“%d == %d\n”, num1, num2);
实际会被Java解释成:
if(num1== num2)
; //只有一个分号的空语句
System.out.printf(“%d == %d\n”, num1, num2);
其中分号独占一行-------这成为空语句(empty statement)-------它是if语句的条件为true时要执行的语句。当执行空语句时,程序不做任何事情。
10. 如果不敢肯定复杂表达式的计算顺序,则可以使用圆括号来强制实现顺序,就像代数表达式中的那样。
11. pubic private protected 成为访问修饰符。它用于控制程序的其他部分对这段代码的访问级别。
12. 正数变负数 -------> 取反+1(二进制)
负数变正数 -------> -1取反
13. 当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串。Java中,任何一个对象都可以转换成字符串。