- 博客(63)
- 收藏
- 关注
原创 JAVA面向过程(三十四) 方法
方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。 方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。方法声明格式: 1 2 3 ...
2018-08-25 17:19:21
619
原创 JAVA面向过程(三十三) 语句块
语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句。块确定了局部变量的作用域。块中的程序代码,作为一个整体,是要被一起执行的。块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块。测试语句块 : 1 2 3 4 5 ...
2018-08-25 16:47:29
181
原创 JAVA面向过程(三十二) 带标签的break和continue
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在Java语言中得到正式使用;Java没有goto语句。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。 “标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。...
2018-08-25 16:45:33
255
原创 JAVA面向过程(三十一) break和continue区别
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。测试break语句: continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。注意事项 1. continue用在while,do-while中,continue 语句立刻跳到循环首部...
2018-08-25 16:32:23
157
原创 Eclipse快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上...
2018-08-21 15:51:17
117
原创 继承的实现
继承让我们更加容易实现类的扩展。 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子(don’t reinvent wheels)。 从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如: 图5-1 现实世界中的继承 上图中,哺乳动物继承了动物。意味着,动物的特性,哺...
2018-08-21 15:49:59
165
原创 导入类import
一、如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。import后,便于编写代码,提高可维护性。注意要点: 1. Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。 2. 如果导入两个同名的类,只能用包名+类名来显示调用相关类: 1 java.ut...
2018-08-21 15:29:56
3094
原创 package
1、包机制是Java中管理类的重要手段。 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理。 包对于类,相当于文件夹对于文件的作用。2、我们通过package实现对类的管理,package的使用有两个要点: 通常是类的第一句非注释性语句。 包名:域名倒着写即可,再加上模块名,便于内部管理类。【示例4-13】package的命名举例...
2018-08-21 15:27:05
247
原创 参数传值机制
Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。 也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。· 基本数据类型参数的传值 传递的是值的副本。 副本改变不会影响原件。· 引用类型参数的传值 传递的是值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着...
2018-08-20 11:16:17
193
原创 构造方法的重载
构造方法也是方法,只不过有特殊的作用而已。与普通方法一样,构造方法也可以重载。【示例4-6】构造方法重载(创建不同用户对象) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
2018-08-13 16:09:13
1177
原创 构造方法
构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。声明格式: 1 2 3 [修饰符] 类名(形参列表){ //n条语句 } 要...
2018-08-13 16:07:24
257
原创 面向对象的内存分析
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,不能实现线程间的共享! 4. 栈的存储特性是“先...
2018-08-10 15:54:51
305
原创 一个典型类的定义
【示例4-3】模拟学生使用电脑学习 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Computer {...
2018-08-08 17:28:03
310
原创 对象和类的概念
我们人认识世界,其实就是面向对象的(此对象可不是男女谈对象的彼对象呀)。比如现在让大家认识一下“天使”这个新事物,天使大家没见过吧,怎么样认识呢?最好的办法就是,给你们面前摆4个天使,带翅膀的美女,让大家看,看完以后,即使我不说,大家下一次是不是就都认识天使了。图4-1 认识天使 但是,看完10个天使后,我们总要总结一下,什么样的东东才算天使?天使是无数的,总有没见过的!所以必须总结...
2018-08-08 16:44:29
425
原创 对象的进化史(数据管理和企业管理共通之处)
事物的发展总是遵循“量变引起质变”的哲学原则;企业管理和数据管理、甚至社会管理也有很多共通的地方。本节课类比企业发展,让大家更容易理解为什么会产生“对象”这个概念。·数据无管理时代 最初的计算机语言只有基本变量(类似我们学习的基本数据类型),用来保存数据。那时候面对的数据非常简单,只需要几个变量即可搞定;这个时候不涉及“数据管理”的问题。同理,就像在企业最初发展阶段只有几个人,不涉及管理...
2018-08-08 15:38:09
217
原创 面向过程和面向对象
面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发各个阶段,对应面向对象就分别称为面向对象分析(O...
2018-08-08 15:22:10
206
原创 JAVA面向过程(三十) 嵌套循环
在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环。while、do-while与for循环可以任意嵌套多层。【示例3-14】嵌套循环 1 2 3 4 5 6 7 8 9 10 public class Test14 { public static void mai...
2018-08-07 17:22:21
198
原创 JAVA面向过程(二十九) for循环
for语法结构: 1 2 3 for (初始表达式; 布尔表达式; 迭代因子) { 循环体; } for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终...
2018-08-07 16:54:33
302
原创 JAVA面向过程(二十八) 循环结构----while
循环结构分两大类,一类是当型,一类是直到型。 当型: 当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。 直到型: 先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。(do-while用的较少) ...
2018-08-07 16:32:25
242
原创 JAVA面向过程(二十七) switch多选择结构
语法结构: 1 2 3 4 5 6 7 8 9 10 11 switch (表达式) { case 值1: 语句序列1; [break]; case 值2: 语句序列2; [break]; … … … … ...
2018-08-06 15:02:23
172
原创 JAVA面向过程(二十六) if-else if-else多选择结构
语法结构: 1 2 3 4 5 6 7 8 9 10 if(布尔表达式1) { 语句块1; } else if(布尔表达式2) { 语句块2; }…… else if(布尔表达式n){ 语句块n; } else { ...
2018-08-04 16:02:14
2681
原创 JAVA面向过程(二十五) if-else双选择结构
语法结构: 1 2 3 4 5 if(布尔表达式){ 语句块1 }else{ 语句块2 } 当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。流程图如图3-3所示。图3-3 if-else双选择结构流程图条件运算符有时候可用于代...
2018-08-04 15:19:13
255
原创 JAVA面向过程(二十四) if单选择结构
语法结构: 1 2 3 if(布尔表达式){ 语句块 } if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。流程图如图3-1所示。图3-1 if单选择结构流程图【示例3-1】if单选择结构 1 2 3 4 5 ...
2018-08-04 14:52:05
207
原创 JAVA面向过程(二十三) 控制语句
1、 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。控制语句分为三类:顺序、选择和循环。 “顺序结构”代表“先执行a,再执行b”的逻辑。比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚; “选择结构”代表“如果…,则…”的逻辑。比如,如果女朋友来电,则迅速接电话;如果看到红灯,则停车; “循环结构”代表...
2018-08-04 14:47:37
194
原创 JAVA面向过程(二十一)基本类型转换常见问题
1、操作比较大的数时,要留意是否溢出,尤其是整数操作时。【示例2-29】常见问题一1234567891011int money = 1000000000; //10亿int years = 20;//返回的total是负数,超过了int的范围int total = money*years;System.out.println("total="+total);//返回的total仍然是负数。默认是i...
2018-07-13 17:17:42
102
原创 JAVA面向过程(二十)类型转换
1、分为自动转换和强制转换。(1)自动类型转换: 自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如图2-6所示,黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。 特例:可以将整型常量直接赋值给byte、 short、 char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可。【示例2-26】自动类型转换特例short b = 12;...
2018-07-13 17:12:33
159
原创 JAVA面向过程(十九) 运算符优先级
运算符的优先级优先级运算符类结合性1()括号运算符由左至右2!、+(正号)、-(负号)一元运算符由左至右2~位逻辑运算符由右至左2++、--递增与递减运算符由右至左3*、/、%算术运算符由左至右4+、-算术运算符由左至右5<<、>>位左移、右移运算符由左至右6>、>=、<、<=关系运算符由左至右7==、!=关系运算符由左至右8&位运算符、逻辑...
2018-07-13 15:36:21
111
原创 JAVA面向过程(十八) 条件运算符
1、语法格式:1x ? y : z 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。2、可以用条件运算符写简单的if语句。3、测试代码:...
2018-07-13 15:33:37
108
原创 JAVA面向过程(十七) 字符串连接符
1、“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接2、【示例2-24】连接符“+”12 int a=12; System.out.println("a="+a);//输出结果: a=123、测试代码:...
2018-07-09 17:31:43
132
原创 JAVA面向过程(十六) 位运算符
1、位运算指的是进行二进制位的运算,常用的位运算符如表2-11所示。位运算符位运算符说明~取反&按位与|按位或^按位异或<<左移运算符,左移1位相当于乘2>>右移运算符,右移1位相当于除2取商【示例2-23】左移运算和右移运算1234int a = 3*2*2;int b = 3<<2; //相当于:3*2*2;int c = 12/2/2;int d ...
2018-07-09 17:06:03
102
原创 JAVA面向过程(十五) 逻辑运算符
1、逻辑运算的操作数和运算结果都是boolean值(true/false)。2、逻辑运算符运算符说明逻辑与&( 与)两个操作数为true,结果才是true,否则是false逻辑或|(或)两个操作数有一个是true,结果就是true短路与&&( 与)只要有一个为false,则直接返回false短路或||(或)只要有一个为true, 则直接返回true逻辑非!(非)取反:!fa...
2018-07-09 16:04:23
95
原创 JAVA面向过程(十四) 关系运算符
1、关系运算符用来进行比较运算 2、关系运算的结果是布尔值:true/false;表2-9 关系运算符运算符含义示例==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b3、注意事项=是赋值运算符,而真正的判断两个操作数是否相等的运算符是==。==、!= 是所有(基本和引用)数据类型都可以使用>...
2018-07-09 15:29:55
80
转载 JAVA面向过程(十三) 赋值及其扩展运算符
表2-8 赋值及其扩展运算符运算符用法举例等效的表达式+=a += ba = a+b-=a -= ba = a-b*=a *= ba = a*b/=a *= ba = a/b%=a *= ba = a%b【示例2-21】扩展运算符1234567int a=3;int b=4;a+=b;//相当于a=a+b;System.out.println("a="+a+"\nb="+b);a=3;a*=b+3...
2018-07-09 11:12:10
199
原创 JAVA面向过程(十二) 算术运算符
1、 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操作变量。2、运算符分类算术运算符二元运算符+,-,*,/,%一元运算符++,--赋值运算符=扩展运算符+=,-=,*=,/=关系运算符>,<,>=,<=,==,!= instanceof逻辑运算符&&,||,!,^位运算符&,|,^,~ , &g...
2018-07-09 11:04:12
160
原创 JAVA面向过程(十一) boolean布尔型
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。【示例2-19】boolean类型1234567 boolean flag ; flag = true; //或者flag=fa...
2018-07-09 09:39:41
214
原创 JAVA面向过程(十) 字符型
1、 字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。 2、char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。【示例2-16】字符型举例12char eChar = 'a'; char cChar ='中'; ...
2018-07-09 08:46:54
144
原创 JAVA面向过程(九) 浮点型
带小数的数据在Java中称为浮点型。浮点型可分为float类型和double类型。表2-5浮点型数据类型类型占用存储空间表数范围float4字节-3.403E38~3.403E38double8字节-1.798E308~1.798E308 float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double表示这种类型的数值精度...
2018-07-08 17:11:26
256
原创 JAVA面向过程(八) 基本数据类型及整型
基本数据类(primitive data type) . Java是一种强类型语言,每个变量都必须声明其类型。 . Java的数据类型分为两大类:基本类型(primitive type)和引用类型 (reference type) . Java中定义了3类8种基本数据类型 . 逻辑型-boolean q 文本型-...
2018-07-08 15:50:15
155
原创 上海智慧消防平台+向往+刘家楠+18.07.07
知识来源: 网络整理、张森鹏IT项目经验分享课程名: 软件项目实训 授课老师:张森鹏(新浪ID:sunlifestyle,中城投丝路、720科技)1、需求分析:消防报警产品的出现对微、小、大、较大、重大和特大型火灾隐患的发生提供了提前预警,而且进一步降低了对人民群众和国家安全的危害,使社会的和谐程度进一步深化。目前我国消防报警产品发展迅速且市场前景可观,随着其弊端的攻克以及技术的进一步完善,必...
2018-07-08 00:12:13
1085
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人