第四讲 方法 北京理工大学计算机系金旭亮
方法 北京理工大学计算机系 金旭亮 第四讲
软件工程模块化原则 ● Modules(模块) ○将一个复杂的系统划分为子模块,便于设计 实现和维护 分而歼之是百试百灵的法宝。毛泽东的军事指 挥艺术 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 2 软件工程模块化原则 ⚫Modules(模块) 将一个复杂的系统划分为子模块,便于设计、 实现和维护 分而歼之是百试百灵的法宝。毛泽东的军事指 挥艺术
Java中的程序模块 ●Java中的程序模块: ○方法 O类 包 ● JavaAP本身提供了大量类,程序员也可 以开发自己的类 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 3 Java中的程序模块 ⚫Java中的程序模块: 方法 类 包 ⚫Java API 本身提供了大量类,程序员也可 以开发自己的类
方法与方法调用 B。ss worker worker workers worker workers Bos要求 Worker去完成某项任务。他并不关心此工作是如何完 成的,他只注重结果。 这个过程在计算机中被描述为方法调用( method cal)。 我们看看Java提供的方法实例.(见下一页) 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 4 Boss worker1 worker2 worker3 worker4 worker5 Boss要求Worker去完成某项任务。他并不关心此工作是如何完 成的,他只注重结果。 这个过程在计算机中被描述为方法调用(method call)。 我们看看Java提供的方法实例……(见下一页) 方法与方法调用
Java提供的Math类方法 o Class java. lang Math ○提供了通用的数学函数 ○例如:求900的平方根 Math. sqrt( 900.0 需要指出的是,这些数学方法都是静态方法。 所以可以用 类名方法名 的方式直接调用 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 5 Java提供的Math类方法 ⚫Class java.lang.Math 提供了通用的数学函数 例如: 求900的平方根 ⚫Math.sqrt( 900.0 ) 需要指出的是,这些数学方法都是静态方法。 所以可以用 类名.方法名 的方式直接调用
Method Description Example abs( x bsolute value of x abs(23.7)is23.7 (this method also has versions for float, abs( 0.0 )is 0.0 nt and long values) abs(-23.7)is23.7 eil( x )rounds x to the smallest integer not less than ceil( 9.2 )is 10.0 a1(-9.8)1s-9.0 cos( x trigonometric cosine ofx cos(0.0)1s1.0 is in radians) exp( x ) exponential method ex e(1.0)is2.71828 ex(20)is738906 floor( x)rounds x to the largest integer not greater floor( 9.2 )is90 than x £1oor(-9.8)1s-10.0 log( x) natural logarithm ofx(base e) 1og(2.718282)is1.0 1og(7389056)is2.0 larger value of x andy max(2.3,12.7)is12.7 y ( this method also has versions for float, max(-2.3, -12.7 )is-2.3 int and long values mn smaller value of x andy min(2.3,12.7)1s2.3 y (this method also has versions for float, min(-2.3,-12.7)is-12.7 nt and long values p。w(x, raised to power y(xy) pow(2.0,7.0)is128.0 y (9.0,.5)1s3.0 sin( x trigonometric sine of x sin(0.0 )is 0.0 (r is in radians) sqrt(x)square root of x sqrt(900.0)is30.0 sqxt(9.0)1s3.0 tan( x) trigonometric tangent of (x is in radians) tan(0.0)is0.0 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 6
方法的定义 ●自定义各种方法:这是程序员在结构化编程时的 主要工作。 ●在面向对象的时代,程序员除了要编写函数,更 主要的精力则放在如何将这些函数合理地分配、 包装成类 ●从JDK提供的数学方法类Mat我们可以知道,将 方法放入类中,并将其定义为静态( static)的是面 向对象软件提供公共方法( public method)的基 本作法。 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 7 方法的定义 ⚫ 自定义各种方法:这是程序员在结构化编程时的 主要工作。 ⚫ 在面向对象的时代,程序员除了要编写函数,更 主要的精力则放在如何将这些函数合理地分配、 包装成类 ⚫ 从JDK提供的数学方法类Math我们可以知道,将 方法放入类中,并将其定义为静态(static)的是面 向对象软件提供公共方法(public method)的基 本作法
示例: SquareIntegers. java ●这个例子中,程序员自定义了一个求平方 的方法 Square 感 Applet Viewer: Squarelnteger.=回x Applet The square of 1 is 1 The square of 2 is 4 The square of 3 is g The square of 4 is 16 The square of 5 is 25 The square of 6 is 36 The square of 7 is 49 The square of 8 is 64 The square of g is 81 The square of 10 is 100 Applet started 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 8 示例:SquareIntegers.java ⚫这个例子中,程序员自定义了一个求平方 的方法Square
方法的定义 ●语法格式 返回值类型方法名(参数列表) 语句 ●方法的返回值: return表达式; 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 9 方法的定义 ⚫语法格式: 返回值类型 方法名(参数列表 ) { 语句… } ⚫方法的返回值: return 表达式;
鸟wput Enter first floating-point value 37.3 这个例子中,程序员编写了 Cance 个自己的函数,用来找出三个 Java Applet window 数中的最大值 o Enter second floating-point value 9932 Maximum java Cancel Java Applet window 國m Enter third floating-point value 27.1928 Cancel ava Applet window 感 Applet Viewer: Maximum class=回 number1 37.3 number2: 99.32 number3: 27.1928 maximum is: 99.32 Applet started
Maximum.java 这个例子中,程序员编写了一 个自己的函数,用来找出三个 数中的最大值