1 方法
1.1 概念
在类中定义的 具有指定功能的代码块
方法可以认为我们写程序中所要实现的某一个功能;
方法中会包含很多条语句,流程控制,循环等,这些内容组合起来去处理一件事情
实质:代码块
位置:类中
意义:表示一个指定功能
作用:代码的复用 功能的封装
方法格式
方法关键字: ()
方法格式:
修饰符 返回值类型 方法名(参数列表){
实现功能的代码块
return(返回值);
}
调用方法:方法名(原始数据);
如果 方法有返回 可以定义变量接收返回值
理解:
方法 又名小程序
程序(软件) 计算机命令和数据的集合
程序作用:(处理数据) 把原始数据,按程序指定算法,运算后,得到结果数据
1.2 方法调用
修饰符: 一些用于修饰的关键字 让被修饰者 具有一些本来不具有的特征
static 可以被main方法调用
返回值: 原始数据被方法处理后 得到的结果数据
返回值类型: 返回值的数据类型
方法名: 标识符 方便调用 同类区分 除了第一个单词 其他单词首字母大写
参数列表: 定义的变量列表 来接收调用者给予的原始数据
return: 1. 结束方法 ; 2. 把返回值返回给调用者
方法重点: 确定方法参数列表 确定方法返回值
调用格式(3
1.单独调用 方法名称(参数);
qiuHe(2, 3.1)
2.打印调用 System.out.println(方法名称(参数));
System.out.println(qiuHe(2, 3.1));
3.赋值调用 数据类型 变量名称 = 方法名称(参数);
double qq=qiuHe(2, 3.1);
public static void main(String[] args) {
double dd=qiuHe1(1, 2.1);
System.out.println("dd="+dd);
dd=qiuHe1(1, 2);//方法可以被调用多次
System.out.println("dd="+dd);
qiuHe1(13, 2.2);//可以不接收方法的返回值<<<<<<<
int[][] arr = { { 1, 2 }, { 3, 4, 5 }, { 7, 8, 9 } };
pr(arr);
}
static double qiuHe1(int n,double d) {
double sum=n+d;
System.out.println("n="+n+",d="+d);
return sum;
}
//二维数组---------------------
static void pr(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + (j == arr[i].length - 1 ? "\n" : ","));
}
}
}
------------------------------------------------------
//方法注意事项1:如果方法没有返回值 返回值类型用void表示
// 没有返回值 return可以省略
//方法注意事项2:如果方法有返回值 方法的调用者可以不接受
实参–形参
基本数据类型和引用数据类型作为参数
//方法注意事项3:定义方法时的参数列表---形参
// 调用方法时传递的数据---实参
//方法注意事项4:
//基本数据类型作为方法参数时 实参给形参传递的是常量值:把实参的值复制一份给了形参
//引用数据类型作为方法参数时 实参给形参传递的是对象内存地址:实参和形参指向同一个对象
实例
public static void main(String[] args) {
int max=getMax(1, 3, 5);
System.out.println(max);//------------
int[] array= {1,5,89,9,3};
max=getArrayMax(array);//把array指向的数组对象传递给了方法getArrayMax
//int[] arr=array;
System.out.println(max);//----------
}
//方法1:获取三个int中的最大值
//方法原始数据:三个int
//方法结果数据:int
static int getMax(int a,int b,int c) {
int max=(a>b&&a>c)?a:(b>c?b:c);
return max;
}
//方法2:获取一个int数组的最大值
//参数列表:int数组
//返回值:int
static int getArrayMax(int[] arr) {
int max=arr[0];
for (int i = 1; i < arr.length; i++) {
max=max>arr[i]?max:arr[i];
}
return max;
}
2 面向对象编程 OOP
OOP Object Oriented Programming 面向对象程序设计
POP procedure oriented programming 面向过程编程
编程思想:写代码的套路/模板
- OOP
是当前主流的程序设计架构,使我们编程过程更符合人们的日常生活习惯
强调的是对象;找具有帮我解决问题功能的对象 指挥对象解决问题
面向对象的语言:java c# object-c
优点:
1 提高代码的复用性
2 面向对象更符合现在人处理问题的方式
3 程序员从pop的执行者 转化为指挥者 - POP
强调的是过程::每个动作对应一个步骤::每个步骤必须亲历亲为
把解决问题的过程 按动作分成多个步骤 逐个步骤去完成 最终解决问题
面向过程的语言:c
过程
1 让电脑描述人这个类型
class Person{}
数据----用变量表示
功能----用方法表示
2 电脑根据人类型的描述 创建一个对象(实例/模型)
对象类型 对象名=new 对象类型();
Person p1p1=new Person();
3 把对象的话数据和现实中 的数据保持一致
对象名.变量名=值;
p1.age=50;
4 指挥模型做事情
对象名.方法名(实参);
p1.show();
public class Demo06OOP {
public static void main(String[] args) {
//步骤2:根据Person类 在内存中创建一个对象
//创建对象名:对象类型 对象名;
Person p1;
//创建对象 并让对象名指向此对象::对象名=new 对象类型();
p1=new Person();
//步骤3:让内存中对象的数据和现实中实物的数据保持一致
p1.age=50;
p1.name="则连斯基";
//步骤4:调用对象的方法 解决问题
p1.show();
}
}
//类是代码的载体
//步骤1:创建一个类描述人这个类型
class Person{
//定义变量 描述数据
String name;
int age;
//定义方法 表示功能
//(声明:oop中的方法 不再需要加修饰符static)
void show(){
System.out.println(name+":"+age+" 来了");
}
int add(int a,int b){
return a+b;
}
void smoke(String yan){
System.out.println(name+"正在吸的烟的牌子是:"+yan);
}
}
(深入学习)
1 类和对象的概念、关系
类: 是代码的载体
是描述一类事物的封装体:描述数据的变量+描述功能的方法
是创建对象的模板、工厂、图纸
对象 : 多个基本数据有机组合整体
根据类在电脑中创建的一个实例
现实实物在电脑中的模型
2. 类中定义的变量和方法 此类创建的每个对象中都拥有一套属于自己的变量和方法
Person p2=p1; //给p1指向的对象又起个名字p2 //根据一个类 可以创建多个对象
p2.age=11;
System.out.println(p1.age); //11
3. 对象中的变量 不赋值 有==默认初始值==
p3.show();
//类中叫==变量== 对象中叫==属性==
//类中定义了什么变量 此类创建的对象就有那些属性
//调用类的变量和方法 ==必须通过类创建对象 然后通过对象来调用==