《java基础笔记教案.doc》由会员分享,可在线阅读,更多相关《java基础笔记教案.doc(116页珍藏版)》请在金锄头文库上搜索。
1、Java day01=Java - sun公司 1995几个特点:简单,安全,跨平台,面向对象,分布,健壮,解析,高性能,多线程,动态性,体系结构中立安全:允许用户使用指针,不允许操作指针跨平台:C+ : 源码 -(编译)-目标码 -(连接)-可执行文件 目标码:二进制机器码c+中的源码是跨平台的。c+中的指针其实是内存中的编号(地址)一个字节 = 连续的8位二进制位。 1G = 1024*1024*1024JAVA:源码 -(编译)-字节码JAVA是字节码跨平台。搭建Java开发环境: JDK/JRE/JVM什么是JDK:JAVA开发工具包(做JAVA开发是必须下载JDK)什么是JRE:JA
2、VA的运行环境(若只运行JAVA文件只要下JRE就可以了)什么是JVM;JAVA虚拟机JVM(java虚拟机)功能:用来屏蔽不同系统的差异,为上层的字节码提供统一的运行环境。JDK下的bin目录:可执行文件(这些都是开发过程中所要用的命令。如javac ,java)JDK下的JRE目录:BIN目录,LIB目录。这里的BIN目录中放的是运行中用到的命令,LIB目录中放的都是JAR文件,JAR文件中放的都是一写编译好的字节码。打成JAR文件的目的:方便传输。LIB目录下的rt.jar,改文件下放的是JAVA开发的类库JDK下的SRC.ZIP包:放的是rt.jar包中的源码,而rt.jar中放的是对
3、应的字节码。-设置环境变量: JAVA_HOME:代表JDK安装路径 =/opt/jdk1.6.0 d:/a/b/jdk1.6CLASSPATH:系统搜索类的路径 =. (指的是当前目录)PATH:命令的搜索路径 =/opt/jdk1.6.0/bin 或 =$PATH:/opt/jdk1.6.0/bin 或 =$PATH:$JAVA_HOME/bi $PATH: 在原先的PATH基础上加上其它路径-第一个JAVA代码第一步: vi MyFirstJava.java第二步:public class MyFirstJava - 定义一个类public static void main(String
4、 args) - 主方法格式固定String name=tangliang; - 定义一个变量为字符串,字符串值用双引号来引起int age=30; -定义一个整数类型值为30System.out.println(my name is:+name); - 输出语句()里是要输出的内容System.out.println(my age is:+age); - JAVA中加号也可以做字符串的链接第三步: javac MyFirstJava.java - 编译源代码文件(跟源文件名) 第四步: java MyFirstJava - 执行字节码文件(跟的是类名)通配符号编译:javac my*.jav
5、a - 编译以my字母开头的所有java文件带包编译:javac -d . PackageTest.java带包执行:java sd0807.day01.PackageTestPublic被称作为访问修饰符 - 作用是:控制程序的其他部分对该部分的访问级别Class表面JAVA程序中的全部内容是包含在类中的。注意点:1. 一个JAVA源文件只能定义一个public类2. 而且PUBLIC修饰的类名必须同文件名一致(大小写也要一直)3. 可以定义其他非public类.4. 字节码文件与类一一对应,而不是同你的源文件一一对应.5. 可以运行的JAVA方法的文件,一定要包含一个主方法,而且主方法签名
6、是固定的6. 包含主方法的类叫主类,java命令后跟的是主类的名字7. main方法是程序的入口包的定义(目的是确保类名的唯一性)包用来放所写文件的目录.怎么来声明一个包:package SD0807.day01; - 包的定义(可以是0或1行,若声明则必须在java文件第一行)+package SD0807.day01;public class PackgeTestpublic static void main(String args)System.out.println(Package Test!);+带包编译:javac -d . PackageTest.java带包执行:java sd
7、0807.day01.PackageTest若java PackageTest 其实它将类找到了,只是它找到是带包的类,而命令里面是不带包的,所以会报错。为什么执行带包的类要加路径名?(由于JAVA命令的执行步骤)java命令的三个步骤:1,找到类的字节码文件2,加载类-从磁盘中去读取对应的类,到哪里去找就是从(classpath中配置的路径)3,找主方法执行若从网上下一写工具包必须在classpath中配置工具包所在的位置,这样我们就可以使用该工具包想使用中间件,这样classpath必须指向对应的xxx.jar。而在JDK中的rt.jar我们没有配置上,却能用到里面对应的类,因为她自动会去
8、找JRE/lib/rt.jar找。rt.jar / 放在 jdk1.6.0/jre/lib/rt.jar使用api 提供的类,java虚拟机是怎么找到的?就在rt.jar ;里, 即使不设到 CLASSPATH 下虚拟机也能运行;+例子:第一步:(写类)ToolA类: package com.tarena;public class ToolApublic static void main(String args)System.out.println(ToolA);Test类: package com.tarena.day01; public class Testpublic static vo
9、id main(String args)ToolA t = new ToolA();System.out.println(test);第二步:(编译)javac -d . ToolA.java - 可以编译(生成一个文件夹为com)javac -d . Test.java -直接编译Test.java会出错,因为用到了ToolA类第三步:(把类ToolA打包)jar -cvf abc.jar ./com - ToolA类在包com.tarena 下将产生的abc.jar包放到任意的目录下,这里放到aa目录。第四步:配置ToolA类的classpath=d:aaabc.jar第五步:(编译Tes
10、t类)javac -d . Test.java - 可以编译第六步:(执行)java com.tarena.day01.Test也可以执行ToolA类java com.tarena.ToolA+找对应类的顺序:1,在当前包下找(所以注意不要在自己的包下创建和JDK中同名的类,这样在调用JDK中同名的类回出错)2,在rt.jar中找3,在 classpath中指定的路径下找+如果自己在本包中定义了一个String类这样下面代码会出错:public class Abpublic static void main(String args)System.out.println(aaaaa);-出现的错
11、误是说主方法没找到。因为main参数中的String类不是JDK中的String类所以上面的main方法不是主方法了,只能是自己所定义的一个普通的类。所以该类在编译的时候不报错,在执行的时候就会出错。+java.lang包下的类,可以不需给出包明,其它的都要给出包名,由于java.long包下的类很常用。-类的导入import: 可以多行。作用导入所要用到的类。java.lang包下的类,可以不需要导入,其它的包中的类都必须导入。怎么导入:import java.util.scanner; - 导入scanner类import java.util.*; - 导入该包下所有的类package xxxxx;(0或1行)import xxxxxxx; (0或多行);class xxxxx (1个或多个但只有一个public class)静态导入:不仅能导入类,还可以导入静态域。两个实际用:1, 对算术函数的导入2, 笨拙的常量+常用命令:Javac - 编译命令Java - 运行命令Javadoc - 生成程序文档,在java 源文件中提取文档注释,