易途科技Java学习笔记(33页).doc
《易途科技Java学习笔记(33页).doc》由会员分享,可在线阅读,更多相关《易途科技Java学习笔记(33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-易途科技Java学习笔记-第 33 页Day01 Day02Java到底有哪些优势?1.跨平台(平台=OS) 可移植性在不同的操作系统之上可以不用做任何代码的修改直接使用a) 字节码文件:字节码文件不包括任何内存布局信息 与操作系统和硬件毫无关系 (Java的内存分布是在运行的时候才动态分配的)b) JVM:真正解释字节码文件内容并且和操作系统交互的部分 Sun(Oracle)已经给每一款操作系统都写好了现成的JVMJVM组成部分: 类加载器 ClassLoader字节码校验器 解释执行器 (翻译)逐行的解释执行代码2.安全 健壮3.面向对象面向过程:程序:函数+变量 (算法+数据结构)面向
2、对象:如:SmallTalk程序:对象和对象相互之间的“通讯”对象:属性和方法 类: 创建对象的模板 具有相同特征的一类事物的高度抽象集合概念对象是类的实例化,类是对象的抽象化。引用 4.动态更新5.简单!没有指针和相关的内存操作 new内存操作gc内存回收清理 Java中的回收机制:零引用回收问题:System.gc();Runtime.getRuntime().gc();调用gc的下一行是否回收?不一定6.免费 开源 搭建Java开发平台1.JDK (JavaSDK java开发工具包) SDK(软件开发工具包)JDK安装JDK 1.5 5.0 猛虎JDK 1.6 6.0 野马JDK 1.
3、7 7.0 海豚JDK JRE JVMJDK Java开发工具包JRE Java运行环境JVM Java虚拟机JDK = JRE + 常用工具JRE = JVM + 核心类库JVM = 三部分2.设置环境变量我的电脑-属性-高级-环境变量为了使开发过程变得更加简单快捷(问题:搭载Java开发平台最少设置几个环境变量?零个。为了方便,不是必要。)环境变量名字给谁用做什么用PATH操作系统更快的找到程序CLASSPATHJVM(类加载器)找到字节码文件JAVA_HOME其他Java程序找到JDKa) PATH就是为了在任何一个目录下都可以直接访问bin目录下的工具(命令)C:Program Fil
4、esJavajdk1.6.0_06binb) CLASSPATH默认值: . (当前目录)c) JAVA_HOME 设置到JDK安装目录下JAVA_HOME:JDK安装目录下CLASSPATH:.PATH:%JAVA_HOME%bin*环境变量名字最好全部大写*在CMD设置环境变量时=左右两边不要加空格*在CMD中定义任意程序环境变量:如:set PATH=E:TTPlayer同时定义两个环境变量中间加分号,或者Set PATH=%PATH%;E:TTPlayer分号后面不能加空格3.Java运行过程:编译期:Java源文件.java编译为字节码文件.class运行期:JVM -OS硬件编写代
5、码HelloWorld如何编译java程序javac 源文件的名字.java如何运行java程序java 类名(没有扩展名)HelloWorld.java代码:public class HelloWorldpublic static void main(String args)System.out.println(Hello!);public修饰符 modifier static修饰符 静态(不用通过对象调用)void方法返回值(表示这个方法不需要返回值)main标识符标识符 Identifier1.必须是英文 _ $ 中文开头2.不能使用有特殊意义的名字(关键字)类名(接口名):每个单词首字
6、母大写属性名和方法名:首字母小写,之后每个单词首字母大写包名:全部小写The most common relationships between classes are Dependence (“usesa”) Aggregation (“hasa”) Inheritance (“isa”)类成员:类可以拥有三种成员:字段:它们是类及其对象相关联的数据变量,保存着类或者对象的状态。方法:它们包含类的可执行代码并定义了对象的行为嵌套类(nested class)与嵌套接口(nested interface):它们是在其他的类或接口声明的内部声明的类与接口。类修饰符:注解(annotation)p
7、ublic :任何人都可以声明对这种类的对象的引用,或者访问这种类的公共成员。abstract:抽象类,被认为是不完整的,所以我们不能创建抽象类的实例。通常这是因为抽象类包含abstract方法,这些方法必须在子类中实现。final:final类不允许拥有子类。类不能既是final的又是abstract的。严格浮点(strict floating point): 声明为strictfp的类要求类中的所有浮点运算都是精确运算Java当中的包(对应操作系统当中的目录)1.区分不同的命名空间2.对多个.class文件进行分类的归类编译语句:javac -d . HelloWorld.java-d 自
8、动创建源文件当中指定的包结构. 在当前目录下创建目录结构运行语句: java 包名.类名通过包名和类名来唯一确认一个类打包语句:package导包语句:import例:打包,源文件Student.java放在桌面,为了能够运行,定义主方法mainpackage iii.ii;public class Studentpublic static void main(String args)System.out.println(Hello!);编译:打开CMD,输入“cd 桌面”转到当前目录,编译语句: javac d . Student.java运行:java iii.ii.Student(通过包
9、名+类名唯一确定一个类)例:导包,先写一个打包文件:package iii.ii;public class Studentpublic static void SayHello()System.out.println(Hello!);编译:javac d . Student.java然后写导包文件:import iii.ii.Student;public class Hellopublic static void main(String args)Student.SayHello();编译:javac Hello.java运行:java Hello生成帮助文档的常用工具 javadoc 语句:
10、javadoc -d doc 源文件的名字.javaJava注释:单行注释/多行注释/* */文档注释/* */生成jar包jar包就是java当中可执行的压缩归档文件1.可执行2.压缩3.归档 一个java程序可能涉及到很多个.class 把它们都归纳在一起 变成一个文件生成jar包语句:jar cvf 名字.jar 要放进压缩文件里的文件c 创建新的归档文件v 标准输出设备显示详细列表信息f 指定归档文件的名字生成可执行Jar包具体步骤:1 写.java文件如,写一个无限弹出计算器的代码public class Testpublic static void main (String arg
11、s)throws Exceptionwhile(true) Runtime.getRuntime().exec(calc);2 编译.java生成.classjavac Test.java3 将class文件打到jar包当中jar cvf name.jar Test.class4 修改jar当中的清单文件,在第三行加入Main-Class: Test注意:Test前面有空格(终止程序的方法:在CMD中输入tskill javaw)变量编程语言当中肯定要定义很多很多的变量来存储数据变量分类:1.定义在类体当中的变量成员变量 实例变量public class HelloWorldint i =10
12、0;/成员变量 属性 HelloWorld类型的对象都有一份的属性public static void main(String args)System.out.println(i);组成类的对象的属性依靠对象来存在的 它是对象存储空间当中的一部分实例变量使用前不用初始化2.定义在方法体中的变量局部变量在自己所在的方法体当中可以使用 出方法体 消亡局部变量使用之前一定要初始化*局部变量和成员变量是可以重名的!在局部变量所在的方法体中直接出现变量名将代表局部变量public class TestStudentpublic static void main(String args)Student s
13、tu = new Student();stu.setAge(25);System.out.println(stu.age);class Studentint age;String name;public void setAge(int age)/stu.age = 25;this.age = age;/实例变量和局部变量出现重名的时候,如果不写this.则这句没有意义,打印age的默认值0数据类型1.基本数据类型 primitive types8种booleancharbyteshortintlongfloatdoubleFloating-point numbers without an F
14、suffix (such as 3.402) are always considered to be of type double.If you want to round a floating-point number to the nearest integer (which is the more useful operation in most cases), use the Math.round method:double x = 9.997;int nx = (int) Math.round(x);Now the variable nx has the value 10.1.boo
15、lean布尔型true / false2.char字符型3.整数型 (符号位 数值位)byte8位 -128 127short16 - 215 215 -1int32 *long64 即-2 (n-1) 2(n-1)-14.浮点型 (符号位 幂指位 数值位)float32位 double64位 *2.引用数据类型(自定义类型 对象类型)无数种byte short (char) int long float double自动提升(就近提升)强制类型转换这种类型提升的规则,对于方法参数匹配同样适用public class Testpublic static void main(String arg
16、s)boolean flag = true;System.out.println(flag);char c1 = 中;char c2 = 97;char c3 = u0000;char c4 = t;byte b1 = 1;byte b2 = 2;byte b3 = (byte)(b1+b2);/int类型 强制类型转换int i1 = 45;int i2 = 031;/8进制int i3 = 0x31; /16进制long l1 = 1;long l2 = 1L;float f1 = 0.1F;double d1 = 0.1D;public class TestDataTypepublic
17、static void main(String args)int i=10;get(i);public static void get(byte a)System.out.println(我是byte型);public static void get(long b)System.out.println(我是long型);public static void get(double c)System.out.println(我是double型);运行结果:我是long型 (方法参数匹配就近提升)public class DataTypepublic static void main(String
18、args)int i=10;long d=get(i);System.out.println(d); /打印long类型的20public static int get(double a)return (int)a;public static int get(byte b)return b;public static int get(float c)return (int)c*2; /自动就近提升,所以调用这个方法,因为返回值为int型,所以代码中要强制类型转换short a = 1;a = a + 1;编译错误,a+1运算结果是int型,需要强制转换类型short a = 1; a += 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科技 Java 学习 笔记 33
限制150内