安装环境
1. 下载jdk
2. java环境变量配置:
用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.5.0_05
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;(若已经有Path项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)
系统变量->新建->变量名:CLASSPATH 变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后测试下环境变量是否设置成功
Win+R组合键
cmd回车
输入javac
如果出现如下信息
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp <路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-d <目录> 指定存放生成的类文件的位置
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
恭喜,你的Java环境变量配置成功!
若出现
'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 说明配置尚未成功。
学习过程中的mark:
1. java中没有string这一个基本类型,它作为一个类存在。
2. 当float和int出现时,int向float转化。
3. 一个.java里面只能有一个public class,但是一个class里面可以有多个public static void 函数,其中与.java同名的public class里面的main函数是.java运行的唯一入口
4. 在C里面函数参数除非是指针或者是数组,否则都是值传递。而在java里面,函数参数中普通基本类型是值传递,而类是地址传递。
java称之为引用。
5. 在java中,有两种方法可以比较两个类产生的对象是否相同,== 和 equals,其中 == 用来比较地址是否相同, equals用来比较内容是否相同。
6. 在java中,当String a = “java”, b = “java" 的时候,实际上a和b指向同一片地址空间(当测试的时候要把(a == b)这个括起来,否则输出会是false),但是如果c = new String("java"); 则c保存在一片新开辟的地址空间中。
7. 在类中,this调用构造方法必须也只能放在构造方法的第一行。
8. 在类里面,static属性可以被非static方法调用,但是static方法只能调用static属性
9. 在子类中,用super调用父类中的构造方法,只能放在程序的第一行。
10. ①. final标记的类不能被继承。
②. 父类中final标记的方法不能被子类复写。
③. final标记的变量(成员变量或局部变量)即为常量,只能赋值一次。
11. ①. 向上转型可以自动完成;
②. 向下转型必须进行强制类型转换。
12. 命名规范
◆ 包名中的字母一律小写,如:demo.java。
◆ 类名、接口名应当使用名词,每个单词的首字母大写,如:TestPerson。
◆ 方法名,第一个单词小写,后面每个单词的首字母大写,如:talkMySelf。
◆ 常量名中的每个字母一律大写,如:COUNTRY
13. 实现Runnable接口相对于继承Thread类来说,有如下显著的优势:
(1)、适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码、数据有效分离,较好地体现了面向对象的设计思想。
(2)、可以避免由于Java的单继承特性带来的局限。开发中经常碰到这样一种情况,即:当要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么就只能采用实现Runnable接口的方式了。
(3)、增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程可以操作相同的数据,与它们的代码无关。当共享访问相同的对象时,即共享相同的数据。当线程被构造时,需要的代码和数据通过一个对象作为构造函数实参传递进去,这个对象就是一个实现了Runnable接口的类的实例。
事实上,几乎所有多线程应用都可用第二种方式,即实现Runnable接口。
14.