JAVA培训总结重点都有1.docx_第1页
JAVA培训总结重点都有1.docx_第2页
JAVA培训总结重点都有1.docx_第3页
JAVA培训总结重点都有1.docx_第4页
JAVA培训总结重点都有1.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一课一、java 语言简介:是由 sun 公司推出的新一代的纯面向对象的网络编程语言,1995年问世的。二、java语言的特性:1、简单的:keep it simple and stupid(保持它的简单性和可操作性)以人类正常的思维模式思考问题。java 是由c+语言 发展而来。java 提供了非常丰富的内置资源库(API)2、安全的:健壮性 1、java 中没有指针(指针,是一项能直接指向内存地址的) 2、java 会内存释放- GC机制(垃圾回收器,自动释放) 3、预检索程序错误- 在程序执行前,会检查程序是否有 语法 错误,有则不会允许执行。 4、异常处理机制 -3、可伸缩的: 1、平台:把软件的语言,翻译成硬件 所能识别的语言,即程序运行的硬件和软件的环境。 2、java SE-java 标准版(实现 桌面应用程序) 3、java EE-j2EE 企业级版本 4、java ME-java 微型版本 (嵌入式 开发)4、跨平台的: 5、面向对象的: 1、现实世界是什么样子的:(山川、河流、动物、植物。分类组成的) 现实世界 就是对所有的事物进行分类,分类就代表一个群体。 分类就是将具有相同特征和行为的事物进行概括。 每个分类下面都有无数的个体,在java 语言中,和现实世界是一样的,也是要先分类再去实现分类下的个体(java 中将 个体称为:对象) 根据:特征(属性)、行为 划分的 2、java 语言中,类和对象的关系: java 语言中将现实世界中表示群体的分类称之为类,而是将群体下面的每一个个体称之为对象; 具有相同属性和行为的 对象的集合 抽象为类或称之为类型 对象是类的一个具体的实例,展示了类的不同属性和行为 实例化:就是将抽象的类 转化成具体的个体的过程 3、如何用java语言去描述类: java 语言中类的描述分为两部分:1、要描述 他的属性(特征、静态属性) 2、要描述的是行为(动态属性、方法)语法格式:class class_name静态属性;动态属性; 类 类名 类体静态属性:相当于 字段动态属性:用方法描述主控制类:1、声明对象 并对 对象 进行 实例化对象 类型名 对象名=new 类型名() /声明部分 2、使用对象,即向实体类发送消息。 对象名.属性名=属性值-字符串用 数值 不用 对象名.方法名()第二课跨平台性:*一、java如何实现跨平台的?1、平台:把软件的语言翻译成硬件所能识别的语言,即程序运行的软件或硬件环境。java 之所以能够实现跨平台性,是因为 java 有属于自己的平台,不直接与操作系统或硬件环境交流。java 平台系统由两部分组成: 1、java开发工具包;2、java运行的软环境(java虚拟机-JVM-java virtual machine) 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 * * * xfriendly * * x xprivate * x x x二、返回值 类型: 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 符号)例:int a=3 int b=+a 前缀 int b=a+ 后缀如果 自增或自减 运算符,在变量之前,那么 我们就先自加1 或 自减1 后在使用,如果自增 或 自减 运算符 在变量之后,那么 我们就先使用,后自加1 或 自减1 的操作。 2、二元 (+、-、*、/、%) 如果两个操作数 都为整数的情况下,/ 表示整除,那么得到的结果就是 整数。 +、-、*、/ 中 只要操作数是整数,的到的结果 就是整数,操作数 是浮点数,得到的结果就是浮点数。 % 取模 操作数1 和 操作数2 如果 是负数的话,看% 符号,左边的 操作数符号 赋给最终结果。 如果操作数有一个负数,先忽略操作数的符号,进行运算,然后,将左边操作数的符号 赋给 最终结果。 浮点数取模:a%b=a-(int a/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 右移 运算(算术右移-相当于除法运算):82 = 8/2 x右移 n位,就相当于 x/2的 n次幂。 逻辑右移 : 不管正数 还是 负数 ,空出来的左侧 的高位, 全部补 0。 逻辑右移 又被称为 不带符号位的右移,x逻辑右移n 位,就是将x 的各位 右移n 位,移到右端的低位 舍弃,左移后 左边 留下的空位 一律 补0. 负数的二进制数 求法: 先忽略 符号,得到正数 的二进制数,在进行 按位取反,在在最后一位加一。 空出来的高位,正数 用 0 补,负数 用 1补。 逻辑与和或 与 按位与和或 的 区别: 1、& 逻辑与 |或运算符, & 按位与 |或 运算符 。 2、逻辑与 |或 的两个操作数 都必须 是布尔数据类型 , 而 按位与 |或 的 操作数 可以是任意的 基本数据类型。 3、逻辑与 |或 有短路功能 ,而 按位与 无短路功能。 1、 new 运算符 :就是对 对象 进行实例化。 2、 对象名 instance Of 类名 判断你所给出来 的 对象 是否 属于这个类 得到的结果 是布尔类型值,返回值 为true 说明 该对象 属于该类 ,如果 返回false 说明该对象 不属于 该类。 第四课一、复合语句: 1、流程控制语句: 循环语句-使用的时机,当程序中 有一条 到多条 需要 重复执行时,我们就要用到 循环语句。 1、当型 while 循环 while(条件表达式)-当 条件表达式 满足的时候 进入 循环体 循环体; 工作流程:while 是当的意思,当条件表达式的 内容为真时,进入循环体,循环体 执行结束后,再一次判断循环条件,如为 真 ,继续回到 循环体 执行,直到循环条件为假 时,终止 循环。 在使用 while循环时要考虑的内容:1、什么时候进入循环体,什么时候退出循环体;2、进入循环体之后做什么; 2、直到型循环(dowhile 循环) do 循环体; while(); do。while 循环的工作流程:在没有 判断循环条件的情况下 进入循环体,循环体 执行结束后,判断 是否满足 循环条件,如果 返回值 为 true,在一次 进入到 循环体,直到 返回 false 为止。 while 与 do。while 的区别: 1、while 是先 判断条件 在 决定 是否 进入循环体。 do 。while是先进入 循环体,然后在判断条件,在决定 是否继续进入循环。 2、使用 do while 循环时,循环体 至少被 执行 一次。 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(args0) / 转换 成 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(args0).doubleValue();5、String args中args是否可由其他名字来代替? 可以6、Stringargs和String args两种写法是否都是正确的? 两种写法都是正确的。方法 分三类: 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; else if(条件表达式2) 语句体2; . else 语句体n; 2、switch caseswitch(表达式) / 他的 返回值 必须是 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 所在循环,转去执行 该循环体 后的其他语句。 语法: 循环 循环条件; break; 其他语句; 2、带有标号的:作用:终止 标号 所标示 的循环体,转去 执行 该循环 外的 其他语句。 语法: 标号: 循环 循环 循环条件; break 标号; continue 与 break 的 区别:1、continue 是用来 跳出 某一次 循环。而 break 是终止循环。2、continue 只能出现在循环 结构中,而 break 除了可以出现 在循环结构 中之外,还可以出现 switch 开关 语句中。作业:1、输出1-1000 能 被 3整除的 前10个 较小的数,每行 输出 5个值。2、找出1-100 之间,第 3个 既能被 4整除,又能 被7整除的 数。第九课 算法:1、算术模型算法2、非算术模型算法:解决三方面:1、代码的重用性;2、代码的可扩展性;3、代码 的可维护性。 1、穷举(枚举)算法:定义:遍历一个域,穷尽 该域 范围内的所有可能。 性能最差的一个算法。 使用时机:只有一个 查询条件,可是要查询的数据 是海量的,此时就要用 到 穷举算法。 使用穷举算法需要确定的三个因素:1、需要确定 循环的范围,将可能的范围一一列举出来,不重复,不遗漏;2、确定筛选条件,根据条件对结果,逐一判断,挑选出符合条件的;3、优化,壳体条件是在保证,不遗漏掉 解 的情况下,尽量减少 循环的层数和 循环的范围。 2、迭代算法:由一个已知的值,不断地去推出新值的过程。 使用时的要素:1、确定迭代变量的初始值;2、迭代公式:就是能够从变量的当前值,推出下个值得公式;3、迭代的范围,迭代的终止条件。 3、递归算法:就是方法的自调用。(两部分:1、递推;2、回归) 1、迭代的公式;2、终止的条件;3、初始值的确定(确定每一次调用方法时的参数,及返回值) 重复:1、每一次方法的调用,都是在规模上有所缩小;2、相邻两次的调用有紧密的联系,前一次要为后一次做准备;3、在问题规模极小 的情况下,必须用直接给出解答的方式,而不能在递推调用,因此,每一次递归 调用 都是有条件的。无条件的递归 调用,终将成为死循环。在一个类中,相互调用 静态方法时,类名 可以不写。第二章总结:在设计方法时 应秉承的原则: 1、在一个方法体里,尽量少的书写 代码;一个方法体中 只完成一个功能。 2、要有好的 运行效率:1、尽可能少的占用资源(内存资源、和 cpu(中央处理器) 资源)第三章 数据的设计第一课一、变量的声明语法:数据类型 变量名声明变量中 数据类型的作用:1、开辟多大的空间;2、存放 哪种类型的数据二、数据类型 1、基本数据类型- 所声明的叫 变量 byte 、short 、int 、long float 、double char、 booleanint a=3 ; - 叫做 值引用基本数据类型 在java 虚拟机 的运行原理: java 虚拟机 看到 int 类型的 a 变量 ,就会 开辟一个 4 个字节的 空间 ,名字 叫做 a ,每个 基本数据类型的变量 只能对应 一个 准确的 值, 所以我们 将其 称之为 值引用。基本数据类型的两大特点:1、值引用2、基本数据类型 可以参与 各大数据类型的运算。 2、复合数据类型- 所声明的叫 对象 类类型 、数组 、标注 、泛类型 、枚举 、接口两大特点:1、可以实现 地址 引用;2、复合数据类型 不可以 参与各大数据类型的运算,但是 可以 比较地址是否相同(=)。三、变量的 初始化 分为:1、直接初始化 ;/a=3 2、间接初始化 ;/b=a*2 一个基本数据类型的变量 在使用之前,一定要对其 进行 初始化,否则 该变量无法使用;成员变量的初始化 由构造方法 实现;静态方法的初始化 由 静态初始化器实现;局部变量在使用之前 必须 赋值。 1、自动类型的转换也成为 隐式转换;小空间 向 大空间 转换时,可以自动(直接)进行转换的叫做:自动数据类型的转换特例:1、long 数据类型 可以自动 转换成 float、或 double 数据类型2、byte 数据类型 不能 自动转换成 char 数据类型3、布尔数据类型 不参与自动数据类型的转换。byte-short-int -long-float-double char -自动类型 转换的时机:1、赋值时;2、方法调用时;3、算术运算时( 一元运算中:1、操作数的数据类型是byte、short、char 时,结果将自动转换成int数据类型;2、+ 或- 运算 等到的结果,任然是操作数本身的数据类型,及+ 或- 符号不参与 自动数据类型的转换 二元运算中:1、在大多数情况下,两个操作数进行运算,会自动转换成范围 较大的数据类型;2、假设 操作数类型为 byte、short、char 的情况下,运算结果会自动转换成 int数据类型;3、复合赋值运算符,不参与 自动数据类型的转换) 2、强制类型的转换也叫做 显示转换; 大空间 向 小空间 转换,用到 强制数据类型的转换; 语法格式:(目标数据类型)常量、变量、表达式; 情况: 1、如果 被转换的数据类型的值的大小 没有超出 目标数据类型的取值范围,则值不发生任何改变; 2、如果要转换的值,超出了目标数据类型的取值范围,那么,用该值 对目标数据类型的值域变化范围 进行 取模 的操作。(该值 大于 目标数据类型 的最大取值 ,并且超出了其值域变化范围); 3、如果该值 大于 目标数据类型 的最大取值,但是没有超出了目标数据类型值域变化范围,则用 该值-值域变化范围。 4、浮点数 转换成 整数时,直接 舍去 小数部分,保留 整数部分。 5、布尔数据类型 不参与 强制数据类型 转换。第二课自动绑定的三部曲:1、加载 静态初始化器2、加载主方法3、通过 new 关键字 调用构造方法局部变量:如果 局部变量 与成员变量 同名的情况下,那么在局部变量的作用范围内 隐藏 成员变量,想要在 局部变量 作用范围内 引用 成员变量 ,那么 要用到 this 关键字 引用成员变量。相同作用域内 不允许 出现同名 变量,而不相同 的作用域范围内,可以出现 同名变量。成员变量 与 局部变量的 区别:1、声明的位置不同,成员变量 在一个类的方法体外 声明;而 局部变量 可以放在方法体内、也可以作为 方法的参数、或 放在 语句块内。2、作用域不同,一对花括号 就是一个作用域。3、成员变量的初始化,可以由 静态初始化器、或 构造方法来完成;而 局部变量的初始化 只能由 直接 或者 间接 来完成,而不能由 静态初始化器 或 构造方法来完成。最终变量:它是指 在程序 运行过程中,其值 不变的 变量。最终变量在使用前 必须 为其 初始化。语法:1、final 数据类型 变量名=赋值;/ 声明最终 变量时 直接 初始化。2、final 数据类型 变量名; / 先声明,在使用之前 在为其 初始化。 变量名=赋值;目的:防止 值发生 改变。数组:就是具有 相同类型 名称的 数据的集合。1、声明的语法格式: 数据类型 数组变量名; 数据类型 数组变量名 ;2、实例化 声明的同时 对其实例化;/ 数据类型 数组变量名=new 数据类型数组长度; 先声明,在实例化; / 数组变量名=new 数据类型数组长度;数组长度 只能是:byte、short、int 三种 数据类型,不能是其他数据类型。new 数据类型这样的语句有两个作用:1、在内存中开辟一块 连续的存储空间,每块空间的大小 由 数据类型来 进行决定;2、为每一个空间 进行 初始化。作业:1、为什么使用数组?:2、声明,实例化数组的语法?3、什么是数组元素?4、如何得到 数组最大下标值?5、如何为 数组元素赋值?6、如何遍历数组?7、数组与 数组 变量区别?第三课数组对象的方法:一、冒泡法排序:两个循环,外层控制 轮数,内层 控制 每轮比较的 次数。import java.util.Arrays; / 引包(冒泡法)Arrays.sort(a);二、在一个数组 当中 查找 元素 所在的位置;int pos=Arrays.binarySearch(sum,15*15);/ 采用2分 查找法,先找中间值,小于中间值得向前找,大于中间值得先后找,只能 对有序的数组 进行查找。三、数组复制System.arraycopy(Object src,int src_pos,Object dst,int dsc_pos,int length)Object src: 代表 元素组;int src_pos: 代表 元素组的起始位置;Object dst: 目标数组;int dst_pos: 目标数组的起始位置;int length: 要拷贝 数组元素的个数;数组的特点:1、数组的长度是固定的,必须在创建数组的时候指定数组长度,数组的长度一经确定,就不能修改;2、一个数组 只能用来保存 同一数据类型的数据;第四课多维数组:(二维数组)声明:数据类型 数组变量名=new 数组类型高维长度-必选低维长度-可选高维-一维:行数低维-二维:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论