JAVA培训总结重点都有.docx
- 文档编号:25460212
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:31
- 大小:34.18KB
JAVA培训总结重点都有.docx
《JAVA培训总结重点都有.docx》由会员分享,可在线阅读,更多相关《JAVA培训总结重点都有.docx(31页珍藏版)》请在冰豆网上搜索。
JAVA培训总结重点都有
第一课
一、java语言简介:
是由sun公司推出的新一代的纯面向对象的网络编程语言,1995年问世的。
二、java语言的特性:
1、简单的:
{
keepitsimpleandstupid(保持它的简单性和可操作性)
以人类正常的思维模式思考问题。
java是由c++语言发展而来。
java提供了非常丰富的内置资源库(API)
}
2、安全的:
健壮性
{
1、java中没有指针(指针,是一项能直接指向内存地址的)
2、java会内存释放--GC机制(垃圾回收器,自动释放)
3、预检索程序错误--在程序执行前,会检查程序是否有语法错误,有则不会允许执行。
4、异常处理机制--
}
3、可伸缩的:
{
1、平台:
把软件的语言,翻译成硬件所能识别的语言,即程序运行的硬件和软件的环境。
2、javaSE--java标准版(实现桌面应用程序)
3、javaEE--j2EE企业级版本
4、javaME--java微型版本(嵌入式开发)
}
4、跨平台的:
{
}
5、面向对象的:
{
1、现实世界是什么样子的:
(山川、河流、动物、植物。
。
。
。
分类组成的)
现实世界就是对所有的事物进行分类,分类就代表一个群体。
分类就是将具有相同特征和行为的事物进行概括。
每个分类下面都有无数的个体,在java语言中,和现实世界是一样的,也是要先分类再去实现分类下的个体(java中将个体称为:
对象)
根据:
特征(属性)、行为划分的
2、java语言中,类和对象的关系:
java语言中将现实世界中表示群体的分类称之为类,而是将群体下面的每一个个体称之为对象;
具有相同属性和行为的对象的集合抽象为类或称之为类型
对象是类的一个具体的实例,展示了类的不同属性和行为
实例化:
就是将抽象的类转化成具体的个体的过程
3、如何用java语言去描述类:
java语言中类的描述分为两部分:
1、要描述他的属性(特征、静态属性)
2、要描述的是行为(动态属性、方法)
语法格式:
classclass_name{静态属性;动态属性;}
类类名类体
静态属性:
相当于字段
动态属性:
用方法描述
}
主控制类:
1、声明对象并对对象进行实例化对象
类型名对象名=new类型名()//声明部分
2、使用对象,即向实体类发送消息。
对象名.属性名="属性值"-----字符串用""数值不用
对象名.方法名()
第二课
跨平台性:
*一、java如何实现跨平台的?
1、平台:
把软件的语言翻译成硬件所能识别的语言,即程序运行的软件或硬件环境。
java之所以能够实现跨平台性,是因为java有属于自己的平台,不直接与操作系统或硬件环境交流。
java平台系统由两部分组成:
1、java开发工具包;2、java运行的软环境(java虚拟机--JVM---javavirtualmachine)
API:
是一些已编写好的程序的集合,他提供java面对程序员的接口。
接口:
很多内置资源中,有一个数据包存储对市面上已经存在的各种操作系统进行解析。
java虚拟机:
(JVM)就是一个小型的计算机,也可称为java的解释器。
作用:
是翻译、解释java的语言,只认识字节码文件(.class文件)。
java实现跨平台的原理:
.java是程序员所能够识别的代码,通过编译器转换成解释器所能够识别的.class字节码文件,解释器将.class字节码文件转换成目标机器代码文件,以上就是java实现跨平台的原理。
*面向对象和面向过程两者之间的区别:
1、面向过程:
是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步的实现,当使用的时候,一个一个依次调用。
缺点,代码的可重用性和可维护性较差。
2、面向对象:
是把构成问题的每一个对象进行分类,分类的目的不是为了解决某一个步骤,而是为了描述某个事物在整个解决问题步骤中的行为。
优点:
代码的可重用性和可维护性较强。
分类--创建对象--发送消息
*作业1:
用自己的语言描述类、对象、实例化,三者之间的关系。
类就是拥有相同特征和行为的某一群体,而,对象就是这一群体中的某一个体,而实例化是对群体声明,使其从死的变成活的,使其从不占用系统内存--到占用系统内存。
类--人
个体--王宁
实例化--王宁定义成人的过程
作业2:
使用java语言描述汽车类(品牌、颜色、车牌号、排气量)行为:
汽车运行。
作业3:
用java语言,描述门类型(长、宽、材质)行为:
求面积、求周长
第二章方法的设计
第一课
方法的语法规则:
[限定修饰词]返回值类型方法名([形参列表])//方法头
{
方法体;//方法所要执行的一系列的语句(可以是一条或多条语句)
}
只要是被称之为语句的都要放在方法体中执行。
一、限定修饰词作用:
对类的成员施以一定的访问权限限制,实现类中的成员一定范围内信息的隐藏。
---限制方法被调用的范围。
1、public公共的,公有的,可以被所有的类进行访问。
对所有用户开放,所有的用户都可以直接进行调用。
可以被当前类下的程序访问,同一包(同一文件夹)下的类访问,子孙类访问,其他包下的类访问。
2、protected受保护的,可以被同一包下的类访问,父类和子类的继承关系中也可以访问。
3、friendly友好的,默认的限定修饰词,可以被当前类或同一包下的类访问。
4、private私有的,只能有本类来进行访问。
作用域当前类同一包子孙类其他包
public****
protected***x
friendly**xx
private*xxx
二、返回值类型:
1、有返回值⒈基本数据类型整形的byte(字节数据类型,1个字节)、
short(短整型,2个字节)、int(4个字节,默认的整形)、
long(长整形,8个字节)
浮点数float(单精度浮点数,4个字节)
double(双精度浮点数,8个字节,默认的类型)
其他char(字符数据类型,1个字节,用''号)
boolean(布尔数据类型,占1/8字节,只有true/false)
⒉复合数据类型(引用数据类型)
类类型
数组
枚举
接口
泛类型
标注
(如果方法设定时,将其设定为有返回值类型的,那么,在方法体内必须有一条return语句。
return语句的作用:
1、返回给调用者一个确切的值,而且该值的数据类型,必须与方法定义的返回值类型相一致。
return语句使用的注意事项:
1、一个方法体内只能出现一条可执行的return语句;2、return语句后可以是常量、变量或表达式,但是必须保证只能得到一个准确值;3、return语句有结束方法体的作用,所以在return语句后不允许出现任何的可执行语句。
)
2、无返回值void
(如果是无返回值类型的,往往方法体内描术的是一系列的动作,不需要给方法调用者一个返回值。
)
有返回值与无返回值在执行上的区别:
1、无返回值方法的调用步骤:
传递参数、执行方法体中的各条语句
2、有返回值方法的调用步骤:
传递参数、执行方法体中的语句、返回给调用者一个确切的值
三、方法名
标识符的命名规则和规范:
规则:
1、必须以字母、下划线、或美元符号开头,后面可以跟随字母、下划线、美元符号、或数字。
2、区分大小写。
3、不可以单独使用java中的关键字和保留字。
类名的规范:
1、简单单词做为类名,要求首字母大写,其余字母小写。
2、复合单词作为类名,要求每一个单词的首字母都要大写,其余字母小写。
变量名及方法名的规范:
1、简单单词作为变量名及方法名时,要求所有字符全部小写。
2、复合单词作为变量名及方法名时,要求第一个单词所有字母小写,从第二个单词之后首字母大写,其余字母小写。
其他要注意的规范:
1、严格区分大小写。
2、一个源文件中,只允许写一个类。
3、源文件的名字要与类名字,相一致。
四、参数
参数:
在调用方法的过程中,可以由参数对数据进行传递。
参数的分类:
1、形式参数:
是在方法定义时,所定义的变量,就称之为形式参数,或简称为形参。
可以一次定义多个,中间用,号分隔。
:
是方法接受参数的占位符。
2、实际参数:
调用方法时,为形式参数所传递的具体值,就叫做实际参数。
简称为实参,实参可以有多个,中间用,号分隔。
形式参数在使用时的注意事项:
1、形式参数可以有一,个到多个,中间必须用,号分隔。
2、每一个形式参数就是声明一个变量,但是不能为其赋值。
3、在我们的方法体内,可以直接使用声明的形式参数。
4、形式参数只能在调用方法的时候,由方法的调用者为其赋值。
实际参数在使用时的注意事项:
1、实际参数的数据类型必须与形式参数的数据类型相一致或相兼容。
2、实际参数的顺序必须与形式参数定义的顺序相一致。
3、实际参数的个数必须与形式参数的个数相一致。
参数传递的分类:
1、值传递:
就是基本数据类型之间数据的交互就称之为值传递
2、地址传递:
就是对象与对象之间数据的传输。
有三个类男女中男要向女送一朵玫瑰花
某男孩喜欢某女孩送一朵玫瑰花
第二课
一、事件委托机制
就是两个类型不想做正面接触,又想达到一定的目的,可以委托第三类完成。
方法体:
就是程序功能的描述。
通过运算符和表达式体现出来。
运算符与表达式:
运算:
就是对数据进行的操作。
运算符:
就是运算时所使用的符号,称为运算符。
操作数:
参与运算的数据。
表达式:
由操作数和运算符,按一定语法形式组成的有意义的符号序列。
结合性:
左,从左到右开始运算
右,从右向左开始运算
运算符:
1、赋值运算符:
变量名=值;(=是将右边的值赋给左边的变量)
复合赋值运算符:
+=、-=、*=、/=、%=
2、算术运算符:
1、一元---元:
指操作数的个数(+正号,-负号,++自增1符号,--自减1符号)
例:
inta=3
intb=++a前缀intb=a++后缀
如果自增或自减运算符,在变量之前,那么我们就先自加1或自减1后在使用,如果自增或自减运算符在变量之后,那么我们就先使用,后自加1或自减1的操作。
2、二元(+、-、*、/、%)
如果两个操作数都为整数的情况下,/表示整除,那么得到的结果就是整数。
+、-、*、/中只要操作数是整数,的到的结果就是整数,操作数是浮点数,得到的结果就是浮点数。
%取模操作数1和操作数2如果是负数的话,看%符号,左边的操作数符号赋给最终结果。
如果操作数有一个负数,先忽略操作数的符号,进行运算,然后,将左边操作数的符号赋给最终结果。
浮点数取模:
a%b=a-((inta/b)*b)
总结:
3、三元(表达式1?
表达式2:
表达式3;)
判断表达式1的结果(必须是布尔类型)如果是true值时,执行--表达式2,如果是false值,执行--表达式3;
先算一元,再算二元,最后算三元。
3、其他运算符
编写程序的三点原则:
1、就是保证程序运行速度快,每一条语句尽量做到优化。
2、就是节省内存资源。
3、保证程序运行的安全系数。
***如果一个类是public来修饰的,类名必须与原文件名相同。
第三课
一、关系运算符(>、<、>=、<=、==、!
=)
任何一个由关系运算符链接的表达式,其返回值一定是一个布尔类型的值。
二、逻辑运算符(&&与、||或、!
非)
逻辑运算符链接的表达式(前面或后面)必须是一个布尔数据类型的值,或能够获得布尔值的表达式。
对“||”运算,如果左边的表达式的值为true,则不必对运算符右边的表达式再进行运算,整个表达式的结果就为true。
对“&&”运算,如果左边的表达式的值为false,则不必对运算符右边的表达式再进行运算,整个表达式的结果就为false。
(先算非!
,再算与&&,最后算或||)
位运算符:
对二进制数进行的运算。
~按位取反:
对数据的每一个二进制位取反运算,1--0,0--1
&按位与运算:
要求有两个操作数进行运算,如果两个相应位均为一,则该位结果为1,否则结果为0。
8&9--1000&1001
|按位或运算:
8|9要求有两个操作数进行运算,只要两个相应位中有1个为1,则该位结果为1,否则该位结果为0。
^按位异或运算:
相同数值为假,不同数值为真。
相同的数字进行按位异或运算得到的结果及为0,不同的数字进行按位异或运算得到的结果及为1。
<<左移运算:
x<<,箭头指向则是要移的方向。
x左移移动n位,就相当于x*2的n次幂。
>>右移运算(算术右移--相当于除法运算):
8>>2===8/2
x右移n位,就相当于x/2的n次幂。
>>>逻辑右移:
不管正数还是负数,空出来的左侧的高位,全部补0。
逻辑右移又被称为不带符号位的右移,x逻辑右移n位,就是将x的各位右移n位,移到右端的低位舍弃,左移后左边留下的空位一律补0.
负数的二进制数求法:
先忽略符号,得到正数的二进制数,在进行按位取反,在在最后一位加一。
空出来的高位,正数用0补,负数用1补。
逻辑与和或与按位与和或的区别:
1、&&逻辑与||或运算符,&按位与|或运算符。
2、逻辑与||或的两个操作数都必须是布尔数据类型,而按位与|或的操作数可以是任意的基本数据类型。
3、逻辑与||或有短路功能,而按位与无短路功能。
1、new运算符:
就是对对象进行实例化。
2、对象名instanceOf类名
判断你所给出来的对象是否属于这个类得到的结果是布尔类型值,返回值为true说明该对象属于该类,如果返回false说明该对象不属于该类。
第四课
一、复合语句:
1、流程控制语句:
循环语句---使用的时机,当程序中有一条到多条需要重复执行时,我们就要用到循环语句。
1、当型while循环
while(条件表达式)--当条件表达式满足的时候进入循环体
{
循环体;
}
工作流程:
while是当的意思,当条件表达式的内容为真时,进入循环体,循环体执行结束后,再一次判断循环条件,如为真,继续回到循环体执行,直到循环条件为假时,终止循环。
在使用while循环时要考虑的内容:
1、什么时候进入循环体,什么时候退出循环体;2、进入循环体之后做什么;
2、直到型循环(do……while循环)
do
{
循环体;
}while();
do。
。
。
while循环的工作流程:
在没有判断循环条件的情况下进入循环体,循环体执行结束后,判断是否满足循环条件,如果返回值为true,在一次进入到循环体,直到返回false为止。
while与do。
。
while的区别:
1、while是先判断条件在决定是否进入循环体。
do。
。
while是先进入循环体,然后在判断条件,在决定是否继续进入循环。
2、使用dowhile循环时,循环体至少被执行一次。
3、for循环
for(表达式1;表达式2;表达式3)
{
循环体;
}
表达式1:
循环变量的初始值。
表达式2:
循环条件,得到的必须是一个布尔值。
表达式3:
循环步长,循环变量的增量值。
要注意的:
1、可同时为空,当所有条件都为空时,表示的是死循环,
2、表达式1,与表达式3的位置可以同时存放多个表达式,中间用逗号,分隔。
3、表达式2的位置,必须返回一个布尔值。
4、循环体可以为空。
工作流程:
1、执行表达式1;
2、执行表达式2,判断条件是否成立;
3、执行循环体;
4、执行表达式3;
5、回到表达式2,判断是否成立,成立3--4--5,不成立退出循环;
第五课
Integer.parseInt(args[0])//转换成int类型
System.err.println("请输入一个值");//从标准错误流中输出一句话。
System.exit(-1);//退出java虚拟机,exit方法需要传递一个int类型的参数,此参数只能是0或-1。
当传递值为0时,表示正常状态退出java虚拟机;当参数为-1时,表示非正常状态退出java虚拟机。
}
1、命令行参数传递给谁?
传递给main方法中定义的String类型的args数组。
2、命令行出现多个参数由谁分隔?
多个参数通过空格分隔
3、命令行传递的值是什么数据类型?
String数据类型
4、令行参数如何进行数据类型的转换?
1)转换为int类型Integer.parseInt();
2)转换为double类型:
Double.valueOf(args[0]).doubleValue();
5、Stringargs[]中args是否可由其他名字来代替?
可以
6、String[]args和Stringargs[]两种写法是否都是正确的?
两种写法都是正确的。
方法分三类:
1、构造方法:
又叫做构造函数、构造器,构造方法名与类名相同。
没有返回值,但是不用void修饰。
一个类中,可以有一个到多个构造方法。
如果有多个构造方法,那么要求每个构造方法的参数类型、个数一定不同。
由此,决定调用哪一个构造方法。
构造方法只能通过new运算符调用。
作用:
1、在内存中分配一块空间,给实例化的对象;2、为成员变量初始化;默认的构造方法:
参数体、方法体为空,在一个类中,只要人为的设置了构造方法,那么,默认的构造方法就会被销毁。
2、实例方法:
必须由对象调用的方法。
3、静态方法:
又叫做类方法,是由static来修饰的方法。
可以由对象名或类名直接调用。
main方法由java虚拟机自动调用而不是由用户显示调用。
作业:
1、为什么main方法必须由static来修饰?
main作用:
1声明对象2、传递信息
在main方法加载之前是没有对象的,但main方法可以加载,就说明是由类名调用,main方法是静态方法,所以必须由static来修饰。
2、设计一个三角形的类,构造方法为三角形的三边初始化;返回三角形的周长;面积,高通过形参获得;在main方法中判断,同过命令行传递的三个值是否能够成三角形。
第六课
嵌套:
包含的意思。
在一个完整的结构内,包含另一个结构。
循环嵌套:
在一个完整的循环内包含另一个循环。
外层循环;//在循环体内,包含另一个完整的循环语句,就叫做外层循环。
{
内层循环;//放在另一个循环语句体内的循环,就叫做内层循环。
}
循环可以嵌套若干层。
for(表达式1;表达式2;表达式3)
{
for(表达式4;表达式5;表达式6)
{
内层循环体;
}
}
工作流程:
1、表达式1;
2、表达式2;
3、表达式4;
4、表达式5;
5、内层循环体;
6、表达式6;
7、表达式5;为真:
4、5、6直到表达式5不成立;
8、表达式3;
9、表达式2;为真:
2、3、4、5、6、7
口诀:
外层循环执行一步,内层循环要执行满足条件的一轮。
第七课
流程控制语句:
二、条件分支语句:
1、if不带else:
if(条件表达式)
{
语句体;
}
带else:
if(条件表达式)
{
语句体1;
}
else
{
语句体2;
}
if的嵌套使用:
if(条件表达式1)
{
语句体1;
}
elseif(条件表达式2)
{
语句体2;
}
......
else
{
语句体n;
}
2、switchcase
switch(表达式)//他的返回值必须是byte、short、int、char、enum(枚举)
不可以出现其他数据类型的返回值,而且返回的必须是一个常量值
{
case常量1:
语句体1;[break;]
case常量2:
语句体2;[break;]
.......
default:
语句体n;[break;]
}
常量可以有多个,但不可以出现相同的常量值。
为什么switch比if嵌套执行效率高?
:
所有流程控制语句,都是由cpu内部提供的运算器中的高速缓存来处理,高速缓存处理if语句时,先找到条件1,如果判断为turn,在找条件2,判断为turn在找条件3,以此类推,直到所有条件都判断完毕,才会确定要执行的语句体。
而,在执行switch语句时,先去找满足条件的找到,就执行相应的语句,没找到就退出。
由此看来,switch语句比if嵌套语句的执行效率高。
第八课
跳转语句(转向语句):
一、cantinue:
作用:
退出本次循环。
1、不带标号的:
语法:
循环
{
[条件判断]
{continue;}
}
执行过程:
进入循环体内,判断条件是否成立,成立执行continue;语句,从而跳过continue;语句后面的其他语句,完成本次循环。
继续进行下一次循环的条件判断,已决定是否继续循环。
\t:
相当于table位,及4个空格。
2、带有标号的:
(goto)标号:
就是给循环起个名字。
结束标号所指名的循环本次循环,继续标号所指名循环的下一次循环条件判断,继而决定是否执行下一次循环。
语法:
标号:
循环
{
循环
{
[条件判断]
{continue标号;}
}
}
使用标号要注意内容:
1、标号的后面应该紧随一个循环结构,否则编译出错;
2、标号单独使用没有任何意义,要与break或continue一起使用;
3、标号对于单层循环来说意义不大。
二、break:
终止循环的作用。
1、不带标号的:
作用:
结束break所在循环,转去执行该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 培训 总结 重点