第一章 Java入门

省略1.1 1.2 1.3为Java的地位及特点和JDK安装

1.4 开发步骤

1. 编译源文件

(1)源文件的名字是某个类的名字,扩展名必须是.java。
(2)如果源文件有public类,那么源文件的名字必须是这个类的名字,扩展名必须是.java。
(3)源文件至多有一个public类

2.编译源文件

使用Java编译器(javac.exe)编译源文件,得到字节码文件。

3.加载运行字节码

使用Java解释器(java.exe)将字节码解释成为具体平台的机器码的程序。

1.5简单的Java应用程序

第一个简单的程序

public class hello {
	public static void main(String[] args) {
		System.out.println("大家好!");
		System.out.println("Nice to meet you");
		Student stu = new Student();
		stu.speak("We are students");
	}
}
class Student{
	public void speak(String s) {
		System.out.println(s);
	}
}
//两个类的顺序没有关系

第二个简单的程序

import java.io.*;
public class Demo{
	public static void main(String[] args) {
		 try
	        {
	            //输入流,从键盘接收数
	            InputStreamReader isr = new InputStreamReader(System.in); 
	            //system.in代表标准输入,就是键盘
	            BufferedReader br = new BufferedReader(isr);
	            //这些内容到控制台中才会详细讲解
	             
	            System.out.println("请输入一个数"); //提示
	             
	            //从控制台读取一行数据
	            String a1=br.readLine();
	            //控制台不管输入的是数还是字符串,他都认为是字符串,所以要用String接受
	             
	            System.out.println("请输入第二个数");  //提示
	            String a2=br.readLine();
	             
	            //把String -> float
	            float num1 = Float.parseFloat(a1);
	            float num2 = Float.parseFloat(a2);
	            if (num1 > num2)
	            {
	                System.out.println("第一个大");
	            }
	            if(num1 == num2)
	            {
	                System.out.println("相等");
	            }
	            if(num1 < num2)
	            {
	                System.out.println("第二个大");
	            }
	             
	             
	        }catch(Exception e)
	            {
	                e.printStackTrace();
	            }
	}
}

1.6反编译

所谓反编译,九十八编译器得到的字节码文件还原为源文件。
C语言几乎无法将编译器得到的机器码还原为源文件。
对于java,由于字节码文件不是最终的机器码,需要当前平台上的解释器再解释成当地的机器码来执行,因此就给反编译留下了空间。
JDK提供的反编译是javap.exe(也有针对Java的许多商业反编译软件,例如dj-gui反编译)。
eg. 命令javap hello.class是将hello.class反编译。

1.7编程风格

1.Allmans风格(独行风格)

左右大括号各自独占一行,代码布局清晰,可读性强。

2.Kernighan风格(行尾风格)

左大括号在上一行的行尾,而右大括号独占一行。因为当代码量大,独行风格将导致代码清晰度下降,这时应当使用行尾风格。