这几天忙于置办年货,准备过年用的东西,只能断断续续的学,接下来估计也是这样了,只能尽量有时间就更一些

01_1方法

1.方法就是用来完成解决某件事情或者实现某个功能的办法

01_2方法的定义格式

  1. 方法的定义格式
    修饰符 返回值类型 方法的名字 (参数列表…){
    方法的功能主体
    循环,判断,变量,比较,运算
    return 返回值 ;
    }
  2. 修饰符: 目前暂时固定写法public static
  3. 返回值类型: 方法在运算后,结果的数据类型
  4. 方法名: 自定义名字,满足标识符规范, 方法名字首字母小写,后面每个单词首字母大写
  5. 参数列表: 方法的运算过程中,是否有未知的数据, 如果有未知的数据,定义在参数列表上 (定义变量)
  • 实际参数:就是实际参与运算的。
  • 形式参数;就是方法定义上的,用于接收实际参数的。
  1. return: 方法的返回, 将计算的结果返回. 结束方法

01_03定义方法计算面积

public class MethodDemo{public static void main(String[] args){//调用方法, 方法执行起来// 在方法main中,调用方法 getAreaint area = getArea(5,6);System.out.println("面积是: "+area);}/*要求: 计算一个长方形的面积定义方法解决这个要求分析方法定义过程:1.明确方法计算后的结果的数据类型 int  定义格式对应的就是返回值类型2.方法计算过程中,有没有未知的数据, 宽和长, 未知数据的数据类型 int未知数的变量,定义在方法的小括号内*/public static int  getArea(int w, int h){//实现方法的功能主体//int area = w * h;return w * h;}
}

01_4调用方法

1.在main函数中调用方法,让方法执行起来
2. 方法的形参
方法要什么参数我们就给什么类型的参数。
3. 方法的返回值
方法返回什么类型的值我们就用对应的数据类型的变量来接收

01_5调用方法执行流程

1.方法的定义是没有顺序的,写在main函数的上边或者下边都可以。
2.方法的执行,是把实参传递给形参,从而来执行的。
3.方法只有被调用才会执行。

01_6方法调用的内存图

01_7方法调用的练习

import java.util.Scanner;
public class MethodDemo_1{public static void main(String[] args){//printRect();//int number = getNumber();//System.out.println(getNumber());//printRect2(3,5);double avg = getAvg(2,2,3);System.out.println(avg);}/*定义有返回值有参数方法,如求三个数的平均值明确方法计算后的数据类型, 返回值类型 double明确方法未知数, 三个未知的整数*/public static double getAvg(double a, double b,double c){return (a+b+c)/3;}/*定义无返回值有参数方法,如打印指定M行,每行N个*号的矩形明确方法计算后结果,控制台输出图形,没有返回值的方法中有没有未知数,图形行数,和列数,是未知的, 数据类型整数int*/public static void printRect2(int m,int n){for(int i = 0 ; i < m ; i++){for(int j = 0 ; j < n ;  j++){System.out.print("*");}System.out.println();}}/*定义有返回值无参数方法,如键盘录入得到一个整数明确方法计算后结果的数据类型 int明确有没有未知数,没*/public static int getNumber(){Scanner sc = new Scanner(System.in);//int number = sc.nextInt();return sc.nextInt();}/*定义无返回值无参数方法,如打印3行,每行3个*号的矩形为什么没有返回值:打印矩形 ,输出效果,不需要将结果返回明确未知数: 不需要未知数*/public static void printRect(){for(int i = 0 ; i < 3 ; i++){for(int j = 0 ; j < 3 ;j++){System.out.print("*");}System.out.println();}}
}

01_8方法的定义和使用的注意事项

  1. 方法不能定义在另一个方法的里面
  2. 写错方法名字
  3. 写错了参数列表
  4. 方法返回值是void,方法中可以省略return 不写
    return 下面不能有代码
  5. 方法返回值类型,和return 后面数据类型必须匹配
  6. 方法重复定义问题
  7. 调用方法的时候,返回值是void, 不能写在输出语句中

01_9方法的重载

  1. 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

  2. 参数列表不同:
    * A:参数个数不同
    * B:参数类型不同
    * C:参数的顺序不同(算重载,但是在开发中不用)

  3. 案例代码

public static int getSum(int a,int b){System.out.println("两个int参数");return a+b;}public static int getSum(int a,int b,int c){System.out.println("三个int参数");return a+b+c;}public static double getSum(double a,double b){System.out.println("两个double参数");return a+b;}

01_10方法重载注意事项

1.参数列表必须不同
2.重载和参数变量名无关
3.重载和返回值类型无关
4.重载和修饰符无关
5.技巧: 重载看方法名和参数列表

01_11方法参数是基本数据类型

1.方法参数是基本类型时,传递的是值。

01_12方法参数是引用数据类型

  1. 方法参数是引用类型时,传递的是内存地址值。

01_13随机点名器

/*实现随机点名器1.存储所有学生姓名2.预览所有学生姓名,遍历数组3.随机数作为索引,到数组中找元素将功能独立出来, 作成方法,调用方法即可定义三个功能, 用到同一个姓名数据姓名存储到数组中,三个方法,使用一个数组中的数据, 方法传递参数*/import java.util.Random;public class CallName{public static void main(String[] args){//定义数组,存储学生姓名String[] names = new String[8];//调用添加姓名方法addStudent(names);//调用遍历数组方法printStudentName(names);//调用随机姓名的方法String name = randomStudentName(names);System.out.println(name);}/*定义方法,随机数,做索引,数组中找到学生姓名返回值?  学生姓名参数?  数组*/public static String randomStudentName(String[] names){Random ran = new Random();int index = ran.nextInt(names.length);return names[index];}/*定义方法,遍历数组返回值? 没有参数? 数组*/public static void printStudentName(String[] names){for(int i = 0 ; i < names.length ;i++){System.out.println(names[i]);}}/*定义方法,实现向数组中添加学生姓名返回值? 没有,参数?  参数就是数组*/public static void addStudent(String[] names){names[0] = "张三";names[1] = "李四";names[2] = "王五";names[3] = "李蕾";names[4] = "韩梅梅";names[5] = "小名";names[6] = "老王";names[7] = "小华";}}

01_14库存案例代码实现

/*实现商品的库存管理功能:1.展示用户选择功能清单2.根据选择的功能编号,进行不同的操作A. 展示所有库存B. 修改库存数量分析:1.展示用户清单:输出语句, 用户输入, 选择功能序号2.根据选择,调用不同的方法switch语句case 1 2 3A  展示库存将存储商品的数组,遍历B  修改库存修改所有的库存数量*/import java.util.Scanner;public class Shopp{public static void main(String[] args){//使用数组,保存商品的信息//品名,尺寸,价格,库存数, 定义5个数组String[] brand = {"MacBookAir","ThinkpadT450"};double[] size = {13.3,15.6};double[] price = {9998.97,6789.56};int[] count = {0,0};while(true){int choose = chooseFunction();switch(choose){case 1://调用查看库存清单方法printStore(brand,size,price,count);break;case 2://调用修改库存的方法update(brand,count);break;case 3:return ;default:System.out.println("没有这个功能");break;}}}/*定义方法,修改所有商品的库存用户输入1个,修改1个返回值,没有参数, 库存数的数组, 品名数组*/public static void update(String[] brand, int[] count){//遍历数组,遍历到一个,修改一个//接受键盘输入Scanner sc = new Scanner(System.in);//遍历数组for(int i = 0; i < brand.length ; i++){System.out.println("请输入"+brand[i]+"的库存数");//键盘输入,录入库存, 存储到库存的数组中int newCount = sc.nextInt();count[i] = newCount;}//int chooseNumber = sc.nextInt();}/*定义方法,展示所有的库存清单,遍历返回值,没有参数, 数组*/public static void printStore(String[] brand,double[] size,double[] price,int[] count){System.out.println("----------商场库存清单----------");System.out.println("品牌型号     尺寸    价格    库存数");//定义变量,计算总库存数,和总价格int totalCount = 0;int totalMoney = 0;//遍历数组,将数组中所有的商品信息打印出来for(int i = 0 ; i < brand.length ; i++){System.out.println(brand[i]+"   "+size[i]+"    "+price[i]+"   "+count[i]);totalCount += count[i];totalMoney += count[i]*price[i];}System.out.println("总库存数: "+totalCount);System.out.println("商品库存总金额: "+totalMoney);}/*定义方法,实现用户的选择功能,功能的需要返回来返回值, int参数, 没有*/public static int chooseFunction(){System.out.println("-------------库存管理------------");System.out.println("1.查看库存清单");System.out.println("2.修改商品库存数量");System.out.println("3.退出");System.out.println("请输入要执行的操作序号:");//接受键盘输入Scanner sc = new Scanner(System.in);int chooseNumber = sc.nextInt();return chooseNumber;}}

Java学习day05——方法及其调用重载相关推荐

  1. Java 学习 Day05

    Java 学习 Day05 一.Java面向对象学习的三条主线 1.Java类及类的成员:属性.方法.构造器:代码块.内部类 2.面向对象的三大特征:封装性.继承性.多态性.(抽象性) 3.其他关键字 ...

  2. java学习心得---方法

    java学习心得-方法 一.概念 方法是实现特定功能的一段代码,可以重复使用. 二.定义 一些列代码指令的合集(就是将一些代码整合再一起). 三.作用 提高代码的重复性. 四.定义的格式 访问修饰符+ ...

  3. JAVA学习day05

    1.方法就是用来完成解决某件事件或者实现某个功能的办法. 2.方法的定义格式: 修饰符 返回值类型 方法的名字 (参数列表....){方法的功能主体循环,判断,变量,比较,运算return ;}修饰符 ...

  4. java学习(方法)

    一.方法的基本用法 什么是方法 方法就是一个代码片段,类似于 C 语言中的函数.它是一个语句的集合,它们在一起执行一个功能 1)能够模块化的组织代码 2) 做到让代码被重复使用,一份代码可以用在多个位 ...

  5. 少儿编程里java_Greenfoot【java学习】-方法

    我们知道了什么是类和对象,本节我们来了解一下什么是方法. 在:Greenfoot[java学习工具]-直接调用方法这一节中我们通过鼠标右键点击角色,菜单中选择不同的选项(方法),来让树袋熊做一些动作. ...

  6. JAVA类之间方法的调用

    JAVA类方法的调用 一.静态方法调用其他方法: 1. 静态方法调用非静态方法 2.静态方法调用静态方法 二.非静态方法调用其他方法 1.非静态方法在同一类内调用其他方法 2.非静态方法在不同类之间调 ...

  7. Java变量与方法的调用:同类操作中与跨类操作中的对比

    变量与方法的调用 很多同志对Java中同一类和跨类的变量与方法调用不甚理解.今天让我们通过代码实例学习一下. 先上结论 在一个类中操作时 静态方法可以直接调用静态变量.静态方法. 初始化对象Objec ...

  8. java 获取当前方法的调用栈

    本文的出发点在于处理现场问题时,想看到方法的调用过程 StackTrace(堆栈轨迹)存放的就是方法调用栈的信息,每次调用一个方法会产生一个方法栈,当前方法调用另外一个方法时会使用栈将当前方法的现场信 ...

  9. java 异步调用方法_乐字节Java编程之方法、调用、重载、递归

    一.概述 方法是指人们在实践过程中为达到一定目的和效果所采取的办法.手段和解决方案. 所谓方法,就是解决一类问题的代码的有序组合,是一个功能模块.编程语言中的方法是组合在一起来执行操作语句的集合.例如 ...

最新文章

  1. java 两个等长数组的中位数_查询两个数组的中位数
  2. PHP连接mysql8.0出错“SQLSTATE[HY000] [2054] The server requested authentication method unknown to”的解决办法
  3. 【 Grey Hack 】万金油脚本:在路由器上获取shell
  4. 光滑噪声数据常用的方法_数据挖掘中常用的数据清洗方法
  5. 修改Jupyter Notebook默认工作目录
  6. MCGS 无限配方数据存储及U盘导入导出-第一集
  7. svn+http+ad域
  8. 计算机硬件系统组成说课稿,计算机的硬件组成说课稿
  9. 吴恩达机器学习学习笔记第八章:正则化
  10. CentOS7 按nodejs和npm的方法
  11. FreeSwitch+Sipml5实现SIP协议WebRTC视频聊天(没呼叫成功)
  12. micropython固件编译_Micropython编译固件的操作步骤
  13. 教你如何用C语言做一个简单的贪吃蛇
  14. android四级联动机制,小程序四级联动(wepy)
  15. Android实现用文字生成图片
  16. elementary 安装常用软件
  17. iOS-Swift3富文本(UILable文本图文混排)
  18. 第一章:一年365天,每天进步1‰,累计进步多少?一年365天,每天退步1‰,累计退步多少?format入门
  19. 计算机打字失灵,window_Win10键盘失灵无法打字提示错误代码19该怎么办?,我电脑的键盘无法打字了,显 - phpStudy...
  20. Codeforces 14E Camels (DP)

热门文章

  1. SpringBoot 三大开发工具,你都用过么?
  2. springboot 出现A component required a bean of type ‘com.cly.dao.OthersMapper‘ that could not be found.
  3. php获取微信公众号用户信息头像,微信公众号的web页面如何获取微信用户名和头像?...
  4. 倭黑猩猩机器人_倭黑猩猩会使用火柴生火做饭酷似人类(图)
  5. List多条件组合排序
  6. 【Scratch二次开发】05-翻译国际化
  7. 视频有黑边怎么办?如何裁剪视频画面的黑边?
  8. SICP读书笔记 2.5
  9. 使用不正确的主题来学习WordPress主题评论
  10. 一个json传参的错误:JSON parse error: Unrecognized token ‘xxx‘{ “timestamp“: “2022-03-06T16:06:29.866