java整理(简)

来源:互联网 发布:js手机号正则表达式 编辑:程序博客网 时间:2024/04/30 20:41

结构化程序设计
结构化的程序设计,如C、Basic、Pascal语言都属于结构化语言。通过一个个函数完成程序的功能,
程序设计三种不同的结构
(1) 顺序结构:在源代码按照顺序被依次执行的代码块
(2) 选择结构:表示程序在处理需要根据某个特定的条件选择其中的一个分支进行执行,选择结构有单选择、双选择、多选择三种模式。
(3) 循环结构:表示程序反复的执行某个或者某些操作,直到某个条件不成立时才停止循环。
面向对象程序设计
在Java中,“一切皆为对象”,程序是由一个个类构建出来,类是Java程序的最小组织单元。
面向对象是从现实世界中客观存在的事物(对象)出来来构建软件系统。并在系统构建中,并尽可能的运用人类的自然思维方式,强调直接以现实世界中的事物(对象)为中心来思考。
面向对象的特性:封装、继承和多态。
封装:将对象的细节隐藏起来,通过一些公用的对外的方法暴露该对象的功能。
继承:是面向对象实现软件复用的重要手段。
多态:子类对象可以直接赋给父类变量,但是在运行时依然表现出子类的行为特性,意味着同一类型的对象在执行同一方法时,可以表现出多种行为特性。
分隔符
ü 花括号{}:定义代码块,逻辑上是个整体,在Java语言里,类定义的部分必须放在{}内,方法体的内容页要定义在{}内,静态的代码块、条件语句的执行体、循环语句的循环体也要放在{}内。
ü 分号;在Java语言里用;作为语句的结束。而且一条语句必须要由;结束,多条语句可以定义在一行里,但是每条语句还是必须要由;结束。
ü 方括号[] 用于数组中访问数组元素。
ü 圆括号() 在方法定义时必须使用()来包含所有的形参声明,在调用方法的时候使用()来传入实际参数值。在进行表达式运算的时候,可以定义优先级。
ü 空格:单个空格、Tab键、Enter键,空格的出现都不会影响程序的运行,但是提高良好的缩进,可以有效的提高代码的可读性。
关于Java代码编写的规范性:后续整理
圆点(.):通常用于类/对象和他的成员之间的分隔符,表明调用某个类或者对象的属性或方法
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java使用运算符将一个或多个操作数连接成可执行的语句,用以实现特定的功能。包括算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、类型相关运算符。我们着重的讲解其中的算术、赋值、比较、逻辑、类型相关的运算符。
算术运算符
+、 - 、*、 / 、%、 ++、 –。
其中要注意的是/,如果两个整数相除有小数,则小数部分将会被截取。
++ 是自增,是个单目运算符
–是自减,是个单目运算符
其中+号除了数学运算外,还有字符串连接的功能。
-号除了数学减法运算外,还有取负的功能。
.1.1.1 赋值运算符
= 用于为变量指定变量值。
扩展的赋值运算符
+= -= *= /= %= 可读性较差,但是效率会得到提升。
比较运算符
用于判断两个变量或常量的大小,返回结果只有true和false。

:只支持左右两边的操作数是数值类型
=:同上
<:同上
<=:同上
==:如果比较的两个操作数是数值类型的,即时他们的数据类型不一样,只要他们的值相等就返回true。
在引用数据类型中,如果两个变量指向相同的对象,则返回true
!=:同上
.1.1.1 逻辑运算符
逻辑运算符用于操作一个或两个布尔型的变量或者常量,在我们应用程序开发中,只要关心与、或、非
&&:两个操作数必须都是布尔类型的,只要有一个是false,就返回false。
||:同上,只要有一个是true,就返回true。
!:true返回false,false返回true
继承是面向对象的三大特性之一,也是实现软件复用的重要手段。
Java中是单继承,每个子类只有一个直接父类。有的时候把父类也成为基类或者超类
继承的特点
父类和子类是一种一般和特殊的关系。例如水果和苹果,苹果是一种特殊的水果。
在Java中定义子类继承父类的语法为
[修饰符] class SubClass extends SuperClass {
// 类定义部分
}
extends字面解释为扩展,其实就是子类除了拥有父类所有的成员变量和方法之外,还具备自己的特殊属性。
在子类中是不能访问父类中定义的private相关的成员变量和方法的,这点也完全符合private的使用方式。
重写父类的方法
在子类中包含与父类同方法签名的现象称为“方法重写(Override)”,有时也称为方法覆盖。我们可以说子类重写了父类的方法,也可以说子类覆盖了父类的方法。
返回值和访问控制修饰符可以不一样,但是要符合“两同两小一大原则”
作为两同就是方法名和方法的参数列表相同
两小:子类的返回值类型和抛出的异常类要比父类的返回值类型和抛出的异常类更小或者相等。这里说的返回值类型小值得的是子类和父类的关系。
一大:子类的访问权限要比父类的访问权限要大或者相等
super限定
super的使用和this的使用很相似。
如果需要在子类中调用父类被覆盖的方法,可以使用super关键字。
同样也可以通过super.fun()调用没有被覆盖的方法,但是这样写没有什么特别的意义,因为本身在子类中就可以直接调用,无需使用super关键字。
关于继承的几点说明
子类能够继承父类的信息包括:
(1) 没有使用private修饰符修饰的成员变量和方法,子类都能够继承
(2) 子类重写了父类的方法,则父类的方法会被隐藏,隐藏的方法或者成员变量可以通过super关键字进行访问
(3) 引入super关键字的原因是可以访问被隐藏的成员变量和属性,而且super只能在子类的方法定义中使用。
调用父类的构造器
在子类的构造器中,无论如何在第一行语句中都会调用一次父类的构造器。
如果没有显式的调用,那么会调用父类的没有参数的构造器,如果父类没有定义空参数的构造器,则此时会无法编译。
对象创建的过程就是调用对象类的构造器的过程,一个构造器最基本的组成
[修饰符] 类名 {
super(…); 调用父类的构造器,如果没有会调用父类的无参构造器
}
super()必须出现在第一行,而且只能有一个。
this和super在同一构造器中只可能出现一次。
子类构造器调用父类构造器可能出现的情况有
(1) 子类构造器执行体的第一行显式的使用super调用父类的构造器,此时系统将根据super(params)调用对应的构造器。
(2) 子类构造器执行提的第一行显式的使用this调用重载的构造器,系统将根据this(params)调用对应的重载构造器,本类中的对应的构造器在去调用父类的构造器。
(3) 子类构造器中既没有super又没有this,子类在执行构造器语句前执行父类的无参构造器。
无论如何子类都会调用一次父类的构造器。
在实际的开发过程中,我们一般都会保证在一个类中有一个无参的构造器的存在。因为如果在其类的子类中没有定义构造器,或者定义了构造器没有显式的去调用父类的构造器,子类也能被成功的编译。
在JSP之中,request对象的最主要作用就是服务器端接收客户端的请求参数。
.1.1 获取参数值
获取单个参数:其中最常用的一个方法就是request.getParameter(),但是此方法只能接收单个参数
获取多个参数:但是对于checkbox这类的表单元素,多个元素name一样,我们在后台获取请求参数使用request.getParameterValues()。

爱好: 足球 篮球 乒乓 高尔夫
原创粉丝点击