方法(基础知识整理)

什么是方法

方法(method)是程序中最小的执行单元

方法的位置:main方法的外面,类的里面

实际开发中,什么时候用到方法

重复的代码、具有独立功能的代码可以抽取到方法中

实际开发中,方法有什么好处

提高代码的复用性

提高代码的可维护性

方法定义

把一些代码打包在一起

方法调用

方法定义后并不是直接可以运行的,需要手动调用才能执行,该过程称为方法调用

无参数方法定义和调用

定义格式:

public static void 方法名 () {
    //方法体(打包起来的代码);
}

范例:

public static void method () {
    //方法体;
}

调用格式:

方法名();

范例:

method();

代码的执行流程

看到方法进入方法,执行完毕回到调用处

带参数方法定义和调用

定义格式:参数由数据类型和变量名组成 -> 数据类型 变量名

参数范例:int a

public static void 方法名 (参数1) {
    方法体;
}
​
public static void 方法名 (参数1, 参数2, 参数3...) {
    方法体;
}

范例:

public static void isEvenNumber(int number){
    ...
}
public static void getMax(int num1, int num2){
    ...
}

注意:

方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
​
方法定义时,多个参数之间使用逗号( ,)分隔

调用格式:

方法名(参数);
    
方法名(参数1,参数2);

范例:

isEvenNumber(10);
​
getMax(10,20);

方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错

形参和实参

  1. 形参:形式参数,方法定义中的参数

  2. 实参:实际参数,方法调用中的参数

注意:方法调用时,形参和实参必须一一对应,否则程序将报错

带返回值方法定义和调用

方法的返回值其实就是方法运行的最终结果

返回给方法的调用处

定义格式

public static 数据类型 方法名 (参数) {
    方法体;
    return 返回值;
}

范例

public static int getSum(int a, int b) {
    int c = a + b;
    return  c;
}

注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错

调用格式

//直接调用,一般用于没有返回值的方法中
方法名 (实参);
//赋值调用
数据类型 变量名 = 方法名 (实参);
//输出调用
System.out.println(方法名 (实参));

范例

getSum(10,20,30);
int sum = getSum(10,20,30);
System.out.println(getSum(10,20,30));

注意:方法的返回值通常会使用变量接收,否则该返回值将无意义

​​​​​​​

什么时候用到有返回值的方法

如果在调用出要根据方法的结果,去编写另外一段代码逻辑,为了在调用出拿到方法产生的结果,就需要定义带有返回值的方法

方法定义的小技巧

  1. 我要干什么? 方法体

  2. 我干这件事情需要什么才能完成? 形参

  3. 方法的调用处,是否需要继续使用方法的结果? 返回值

如果要用,那么方法必须有返回值

如果不要用,方法可以写返回值,也可以不写返回值

方法的完整定义格式

格式:

//方法名要见名知意,小驼峰命名,一个单词全部小写
public static 返回值类型 方法名(参数) {
   方法体; 
   //如果没有返回值的话,return省略不写
   return 返回值;
}

方法的注意事项

  • 方法不调用就不执行

  • 方法与方法之间是平级关系,不能互相嵌套定义

  • 方法的编写顺序和执行顺序无关

  • 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写,如果要编写return,后面不能跟具体的数据

  • return语句下面,不能编写代码,因为永远执行不到,属于无效的代码

return关键字

方法没有返回值:可以省略不写。如果书写,表示结束方法

方法有返回值:必须要写。表示结束方法和返回结果

定义方法时的两个明确

明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型

明确参数:主要是明确参数的类型和数量

调用方法时的注意事项

void类型的方法,直接调用即可

非void类型的方法,推荐用变量接收调用

方法的重载

在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系

简单记:同一个类中,方法名相同,参数不同的方法,与返回值无关。

参数不同:个数不同、类型不同、顺序不同

顺序不同可以构成重载,但是不建议

Java虚拟机会通过参数的不同来区分同名的方法

在实际开发中,我们会把相同功能的方法名起成一样的名字。好处1:定义方法的时候可以不用那么多的单词了,好处2:调用方法的时候也不需要那么麻烦了

idea中如果方法没有被调用,那么方法名会变成灰色

调用方法,实参和形参要一一对应

方法调用的基本内存原理

方法执行完毕后,方法会出栈,变量也会随之消失

从内存的角度解释基本数据类型和引用数据类型

基本数据类型(四类八种):变量中存储的是真实的数据。数据值是存储在自己的空间中。赋值给其他变量,也是赋的真实的值。

引用数据类型(只要是new出来的,都是引用数据类型):变量中存储的是地址值,引用可以理解为使用了其他空间中的数据。数据值是存储在其他空间中,自己空间中存储的是地址值。赋值给其他变量,赋的地址值。

传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值

UIKit是苹果公司为iOS和macOS平台提供的核心框架之一,主要用于构建用户界面和应用程序交互。以下是UIKit的基础知识概述: 1. **视图层次结构**: UIKit的设计基于树状的视图层次结构,从根视图开始,包含窗口(Window)、视图容器(View Controller)以及各种UI元素(如UILabel, UIButton, UIImageView等)。 2. **视图控件**: UIView是所有UI元素的基本组件,它可以设置位置、大小、背景颜色和约束。UIViewController负责管理视图,并可以响应用户事件。 3. **Auto Layout**: 自动布局系统帮助开发者轻松地处理不同屏幕尺寸下的布局调整,通过设置view之间的约束来保持布局的一致性。 4. **手势识别**: UIGestureRecognizer允许处理各种触屏手势,例如Tap、Pan、Swipe等,为增强用户体验提供便利。 5. **文本和图像显示**: UILabel用于显示文本,UIImageView则用于显示图片。还可以使用NSAttributedString和Core Graphics进行更复杂的文本和图形渲染。 6. **事件处理**: 通过代理方法或通知机制,开发者可以监听和响应用户的操作,如按钮点击、键盘事件等。 7. **动画和过渡**: 使用UIView.animate或CADisplayLink进行界面动画,以及UIStoryboardSegue进行界面跳转时的平滑过渡效果。 8. **用户界面自定义**: 可以通过KVC、KVO、NSCoding等方式定制视图属性,或通过自绘视图Custom Drawing来实现独特的UI效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值