您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Java视频(张孝祥)学习笔记
Java视频(张孝祥)学习笔记第一讲Java开发前奏Java的特点:一次编译,到处运行(Java字节码解译程序)当windows可执行程序运行时,操作系统会将可执行程序的机器码交给CPU一条一条运行。Java源程序-Java字节码文件-Java字节码解释程序(JVM)在各种操作系统上运行或者在JavaCPU上运行Java程序开发的基本过程JDK(JavaDevelopmentKit):开发工具,javac及基础核心类;运行环境,Java及基础核心类J2EE(Java2PlatformEnterpriseEdition)J2SE(Java2PlatformStandEdition)J2ME(Java2PlatformMicroEdition)学习Java必须掌握的前提知识Javac.exe将java源程序编译成java字节码文件编译工具Java.exe在Windows系统上对java字节码文件进行解释执行的程序,即Java虚拟机Demo文件下是Sun公司提供的一些Sample。环境变量在dos中输入javac和java,若打印出详细帮助说明,则说明java虚拟机安装没问题。操作系统的环境变量就是在操作系统中定义的变量,可以供操作系统中所有程序访问。两种访问环境变量的方式:1)在dos中输入“set”查看环境变量2)在桌面上在“我的电脑”上单击右键系统属性高级环境变量用户环境变量:只对特定用户有效;系统环境变量:对所有用户有效。用户变量可以覆盖系统变量。set可查看所有环境变量set变量名查看特定环境变量set变量名=value可对变量进行赋值set变量名=空可将变量的值变为0追加path的内容:setpath=%path%;新变量名=值在变量名和值中,空格不被忽略,如”path“不等于”path”在“高级”“环境变量”中修改环境变量,需要注销后才会真正生效。Java–verbose会将需要装载文件的过程详细打印出来查看文件的全路径有两种方式:一种是将文件直接拖到“运行”框中,一种是拖到dos中。Publicclass类名{}类名和和文件名必须一致,一个java文件中可以有多个类,但只能有一个public类。print打印完以后不换行;println打印完以后换行;print+\n=printlnclasspathsetclasspath=类所在路径,java虚拟机会沿classpath所指定的路径查找该类setclasspath=路径名;.“.”代表当前目录classpath指定的目录中不能含有空格,不能含有中文jad-java的反编译文件,可以将*.class”反编译为”*.java”第二讲Java编程基础教程视频的配套书籍——《Java就业培训教程》Java基本语法Java语言是严格区分大小写的,可以分多行书写。语句分类:结构定义语句、功能执行语句功能语句需要在语句后面加上”;”。字符串不能随意分行书写,如果确实要分行,必须用”+”相连。三种注释方式:用”//”进行行注释,用”/*”plus“*/”进行多行注释,用”/**”plus“*/”进行生成java文档的多行注释。在”/*”plus“*/”之间不能再嵌套”/*”plus“*/”,可以嵌套”//”。标识符:大小写字母、数字、下划线、美元符号$组成,但不能以数字开头,同时不能用关键字作为变量名。Java中的变量整型变量:十进制,十六进制Ox12,八进制O12长整型变量:13L单精度浮点数:5.1f,2e3f在内存中占用4个字节双精度浮点数:5.1在内存中占用8个字节布尔常量:truefalse字符常量:用单引号引起来,’\r’表示键盘输入,相当于按下回车键,’\n’换行,’\t’制表符,’\b’退格键,’\’’单引号,’\”’双引号,’\\’表示一个斜杠。字符串常量:用双引号引起来Null常量:只有一个,用null表示,表示对象的引用为空。变量:就是系统为程序分配的一块内存单元,用来存储各种类型的数据。变量在使用前必须先初始化。数据类型基本数据类型:数值型:整数类型(byte,short,int,long),浮点类型(float,double);字符型:char;布尔型:boolean。引用数据类型:类:class;接口:interface;数组变量的字节大小:byte占用1个字节,short占用2个字节,int占用4个字节,logn占用8个字节,float占用4个字节,double占用8个字节,char占用2个字节(unicode编码),Boolean占1个字节。语句”floatf=3.5;”会报错,因为”3.5”是双精度数,正确写法应为”floatf=3.5f”。自动类型转换(也称隐式转换)强制类型转换(也称显式转换),有可能会存在隐患任何类型(包括null类型)都可以转换为字符串类型UltraEdit中,用“ctrl+G”可以定位行。在dos窗口中,如果进行了标记,则停止执行其他命令。变量要先定义,后使用,变量存在定义域,同时Java语言中不允许嵌套定义。注:蓝色部分字体从其他地方摘抄。为了能运行java程序,操作系统上必须有Java虚拟机即JVM(JavaVirtualMachine),JVM包含在JRE(JavaRuntimeEnvironment)中,要开发Java程序,必须取得JDK(J2SEDevelopmentKits),JDK包括了JRE以及开发过程中所需要的一些工具程序。安装完JDK以后,分别有JDK和公用的JRE,其中JDK比公用JRE多了个server的VM,在bin目录下。若使用serverVM,会花比较长的启动时间及消耗较多的内存。函数的返回值为void,相当于在该子程序最后加上一句”return”,即返回空值。Java中,函数允许重载,即在同一个类中允许同时存在一个以上的同名函数,只要他们的参数个数或类型不同即可。运算符算术运算符:其中”+”还能把非字符串转换成字符串,如对负数取模,则模数负号忽略不计赋值运算符:赋值语句可以连在一起,x=x+3等同于x+=3,其它类推比较运算符:“==”不能误写为“=”,切记!逻辑运算符:“&”和“&&”的区别在于,前者无论什么时候,“&”两边的表达式都会参与计算,后者如果“&&”左边的表达式为false,则右边的表达式不再参与运算,其它类推位运算符:右移运算,对于C语言而言,如果是最高位是1则补1,如果最高位是0则补0;对于Java语言而言,提供了右移运算“”和无符号右移“”,前者和C语言一样,后者则无论最高位是1或者0都补0。关系运算符:类型比较运算符instanceof将十进制的数转换成十六进制的数使用函数Integer.toHexString移位运算符使用数据类型包括:byte、short、char、int、long对于低于int型的操作数先自动转换为int型再移位如果移位数较大,将先对移位数取模再移位,int型整数移位数对32取模,long型整数移位数对64取模。一个数右移n位,等于这个数除以2的n次方;左移n位,等于这个数乘以2的n次方。运算符的优先顺序不用刻意去记,可以多使用括号,因为括号的优先顺序是最高的。有时老是把等号==写成赋值号=为了减少这种错误,我们在写程序的时候,如果要用等号时那就把常量写在前面例如if(3==a)这样即使错把==写成=在编译时会报错。程序的流程控制顺序结构,选择结构,循环结构switch语句中,case后面要加break,如果不加break,一旦碰到第一次case匹配,就回顺序执行以后所有的程序代码,而不管后面的case条件是否匹配;switch语句判断条件可以接受int,byte,char,short类型,不可以接受其他类型;case后面刻意跟多个语句,这些语句刻意不用大括号括起来。While(表达式)后面一定不要加“;”do…while(表达式);97-a13-回车10-换行符break语句和continue语句break语句可以终止循环中的子语句和switch语句,一个无标号的break语句会把控制传给当前循环(while,do,switch);如果有标号,控制会被传递到当前方法中带有这一标号的语句。continue语句只能出现在循环语句(while,do,for)的子语句块中,无标号的continue语句的作用是跳过当前循环的剩余语句块,接着执行下一次循环。用浮点数进行判断时要谨慎,不要轻易用“==”栈内存和堆内存栈内存是堆内存对象中的地址,堆内存中的对象无法使用变成“垃圾”以后,在之后的某个时间会被回收。如x=newint[100],x占用的是栈内存,int[100]占用的是堆内存。数组:声明数组时,不能指定其长度,否则编译时将出错。不能直接使用,必须经过初始化分配内存后才能使用Java中并没有真正的数组,只有数组的数组,java中多维数组不一定是规则矩阵形式。多维数组可以静态初始化,即如int[][]xx={{3,2,7},{6},{1,5}}第三讲面向对象(上)面向过程和面向对象面向过程:事物和属性(动作)之间的关系是动宾关系面向对象:事物和属性(动作)之间的关系是主谓关系面向对象的思想:将客观事物看做具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。面向对象的三大特征:封装、继承、多态类是对某一类事物的描述,是抽象、概念上的定义;对象是实在的该类事物的每个个体,因此也称实例。类成员函数可以访问同一个类中的成员变量。Java程序启动时,先寻找main函数,main函数放在哪个类中都无所谓,都不属于类的函数。对象的比较:“==”运算符与equeal()方法的区别,equal方法是比较对象的内容是否相等,“==”是比较对象的首地址是否相等。类的成员声明为私有成员以后,在别的类中就不能直接进行访问了,只能通过该类的public或protect方法来对该私有成员进行访问(变量/方法)。构造方法构造函数可以为成员变量进行初始化工作重载构造方法可以完成不同初始化的操作。写了一个新的构造函数以后,编译器不会再调用不带参数的构造函数了。因此写带参数的构造函数,还需要多写一个不带参数的构造函数。构造方法不同于一般方法的特征有3点:1.它具有与类名一样的名称2.它不含有返回值3.它不能用return语句返回一个值还有一点要注意的就是:它没有返回值但也没有void;如果有void那它就不再是构造方法了。当一个对象变成垃圾是指:引用这个对象的句柄不存在了,或它已经指向了别的对象.没有对应的句柄是对象变成垃圾的本质原因。this关键字每个成员方法内部,都有一个tiis引用变量,指向调用这个方法的对象;在形参和成员变量名字不一样的时候,this可以省略;如果形参和成员变量名字一样的时候,则可以利用this关键字来区分成员变量和形参。在实际运用中,经常让类的成员变量名和对其进行赋值的成员方法的形参变量同名,同时使用this关键字,这样可以增强程序的可读性和可理解性。当一个构造方法(较长)调用另外一个构造方法,可以使用this关键字。注意:在java的类中,类(A)可内嵌类(B),内嵌类B编译时会产生文件A$B.class;命令执行语句(不含声明这些语句)只能在main函数中,不能在main函数以外,否则编译时会提示出错;system方法只能在public方法中调用。在任何类中,都会有finalize()方法静态方法、静态类、静态变量在一个类中定义一个静态方法(如staticmain),不需创建该类的对象即可调用该静态方法。静态变量有点类似于C语言中的全局变量,但静态变量优于其他非静态变量,而且会先初始化。如果把静态类看作一个事先(执行main函数之前)生成好的设计图纸,那么静态变量可看作一个事先生成好的零件,当然这个零件是属于某个类的。静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能访问类中的非静态成员。这是因为,对于非静态的方法和类,需要先创建的实例对象后才可使
本文标题:Java视频(张孝祥)学习笔记
链接地址:https://www.777doc.com/doc-5539416 .html