0
点赞
收藏
分享

微信扫一扫

Day06 方法、OPP

何以至千里 2022-03-11 阅读 39

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();

   //类中叫==变量==  对象中叫==属性==
   //类中定义了什么变量  此类创建的对象就有那些属性
   //调用类的变量和方法  ==必须通过类创建对象  然后通过对象来调用==
举报

相关推荐

Day06 方法

Day06

day06 笔记

Day06作业

【day06】Java方法基础认识

学习Day06

Java学习day06

Java自学 day06

0 条评论