首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Java方法小白版

编程知识
2024年08月11日 14:40

一、方法的定义

方法就是 将功能重复的代码封装成一段独立的代码,通过调用方法的方式 (作用)提高代码的复用性(减少代码重复)

每一个方法只能完成一个功能。

二、方法的声明格式

[修饰符1,修饰符2] 返回值类型 方法名 (参数类型 形式参数1,参数类型 形式参数2,...){
    
    执行语句块;
    return 返回值;

}

例:

boolean isLeapYear (int year){  //定义方法
    boolean isLeap = false;
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public class MethodDemo01 {
    //提取一个方法,计算两个数的和并返回
    public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一个方法,计算三个数的和并打印
    public static void addNum2(int a,int b,int c){
        int sum = a +b +c;
        System.out.println(sum);
    }
    public static void main(String[] args) {
        //调用方法1,计算1+2的和
        int sum1 = addNum(1,2);
        System.out.println(sum1);

        //调用方法1,计算3+4的和
        System.out.println(addNum(3,4));

        //调用方法,计算5+6+7的和并打印
        addNum2(5,6,7);
    }
}
  • 返回值类型:方法输出数据的类型(如果方法没有返回值,则用关键字void来表示)
  • 方法名:类似变量名,可以自定义方法名(需符合Java标识符规则)
  • 形式参数:变量(用于存储调用方法输入的数据)
  • 实际参数:调用方法输入的数据。
  • 返回值:调用方法返回的数据。

三、方法的调用

int year= 2020;
boolean leapYear =isLeapYear(year); //调用方法
if(leapYear){
    System.out.println(year +"是闰年!")
}
year = 2052;
leapYear =isLeapYear(year);//调用方法
if(leapYear){
    System.out.println(year +"是闰年!")
}

四、特殊方法:程序入口main方法

main方法是一个特殊方法,它是Java程序的入口方法,执行Java程序时,JVM会调用main方法。

public static void main (String[]args){}

五、方法的局部变量

局部变量是指在方法中声明的变量,其作用范围仅限于方法中

局部变量使用前必须进行初始化。(定义在main方法中的变量也是局部变量)

boolean isLeapYear (int year){
    boolean isLeap = false;//声明了一个局部变量并进行初始化
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public classA{
    public static void main (String[]args){
    int i =6; //整数(实参,局部变量)
    int [] array = {1,2,3}; //数组(实参,局部变量,传数组的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){  //形参
        i += 3;
        array[0] += 3;
    }
}
//输出结果:6 4

六、类的静态变量

静态变量(也称为类变量)是使用static关键字声明的变量,这些变量属于类本身,而不是类的任何特定实例(静态变量在使用前无需初始化。)

public class HellWorld{
    public static boolean isLeap;//全局变量(默认自动化)
    
    public static void method01(){ //
        isLeap = true;//共享全局变量
    }
    public static void method02(){
        isLeap = true;//共享全局变量
    }
}

七、类的静态方法

静态方法是使用static关键字定义的方法,静态方法可以访问类的静态变量和静态方法,但不能访问类的实例方法和实例变量。

八、方法的传参

1.实参和形参

实参:调用方法输入的变量或常量值

形参:方法中定义的数据类型变量。

2.值传递

实参将数据传递给形参时,形参的改变改变不影响原实参的值,即值传递只会改变形参,不会改变实参。(基本数据类型)

3.引用传递

引用传递:是指在调用函数时,将实际参数的地址传递给函数,这样在函数中对参数的修改,将影响到实际参数。(引用数据类型)

引用数据传递的不是真正的数据地址,是引用的堆内存中的地址,无论引用传递的数据怎么改变,它也只是引用的堆内存中的地址,原数据组的数据地址并没有被改变,改变那部分的值只是形参复制给实参使用的的地址,并不是把原地址改变。

4.总结

  1. 在Java中,参数传参本质上只存在值传递。

  2. 值传递时,形参改变并不会影响到实参。

在函数中,只有修改了实参所指向的对象内容,也就是引用堆内存中的地址,才会影响到实参

public classA{
    public static void main (String[]args){
    int i =6; //整数(实参,局部变量)
    int [] array = {1,2,3}; //数组(实参,局部变量,传数组的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){//形参
        i += 3;
        array[0] += 3;
    }
}
//输出结果:6 4

九、方法的重载

方法的重载指的是在同一个类中,有一个以上的同名方法,但方法的参数个数或参数类型有所不同(与方法的返回值无关)

方法重载是对于 一个类。

 public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一个方法,计算三个数的和并打印
 public static int addNum2(int a,int b,int c){
        int sum = a +b +c;
        return sum;
    }

例如,以下都属于方法的重载

void show (int a,char b,double c);

void show (int a,double b,char c);

void show (int a,int b);

void show (int a);

double show(int a,char b,double c);

十、Java内存划分

From:https://www.cnblogs.com/wmshun/p/18353489
本文地址: http://shuzixingkong.net/article/985
0评论
提交 加载更多评论
其他文章 Java数组小白版
一、数组概念 一、数组定义 数组就是指在计算机内存中开辟的连续存储空间,用于存放程序运行中需要用到的一组相同类型数据的容器。 二.数组的声明 +数组的长度 定义数组时需要确定数组的长度(元素的个数),确定后不能更改; 获取数组长度:数组名.length 1. 格式1(默认初始值) 数据类型 [ ]
横扫鸿蒙弹窗乱象,SmartDialog出世
前言 但凡用过鸿蒙原生弹窗的小伙伴,就能体会到它们是有多么的难用和奇葩,什么AlertDialog,CustomDialog,SubWindow,bindXxx,只要大家用心去体验,就能发现他们有很多离谱的设计和限制,时常就是一边用,一边骂骂咧咧的吐槽 实属无奈,就把鸿蒙版的SmartDialog写
横扫鸿蒙弹窗乱象,SmartDialog出世 横扫鸿蒙弹窗乱象,SmartDialog出世 横扫鸿蒙弹窗乱象,SmartDialog出世
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
​不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。 除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用WebRTC技术,有关We
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
HTB-Permx靶机笔记
Permx靶机笔记 概述 permx靶机是HTB的简单靶机,这台靶机整体考验渗透人员的信息搜集能力,可以收只有信息搜集的快速,才能快速拿到它的flag。 整体是比较简单的靶机 靶机连接:https://app.hackthebox.com/machines/PermX 一、nmap扫描 1)端口扫描
HTB-Permx靶机笔记 HTB-Permx靶机笔记 HTB-Permx靶机笔记
项目管理工具Maven的简单配置示例
本文简要介绍了Maven是一个强大的项目管理工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。本文重点介绍了关于Maven的具体例子,涵盖了项目配置、依赖管理、插件使用等方面,直观易懂。
旧物利用 - 将机顶盒改造为一台Linux开发机!
前言 家里的机顶盒淘汰下来,博主想要物尽其用,看看是否能将其改造为一台Ubuntu"开发机",故开始倒腾 准备工作 机顶盒型号:移动魔百盒CM201-2(CH),芯片组: hi3798mv300(hi3798mv3dmm),其他型号类似 理论上适用于以下SOC的机顶盒:Hi379
旧物利用 - 将机顶盒改造为一台Linux开发机! 旧物利用 - 将机顶盒改造为一台Linux开发机! 旧物利用 - 将机顶盒改造为一台Linux开发机!
这是DDD建模最难的部分(其实很简单)
本文书接上回《为了落地DDD,我是这样“PUA”大家的》 ,欢迎关注我的同名公众号。 https://mp.weixin.qq.com/s/DjC0FSWY1bgJyLPIND5evA 什么是最重要的事 如果你认真读过前面的文章,那么一定知道我们的核心逻辑:领域驱动是一种价值观,这个价值观是:“领域
这是DDD建模最难的部分(其实很简单) 这是DDD建模最难的部分(其实很简单) 这是DDD建模最难的部分(其实很简单)
FreeSWITCH对接http协议的tts服务
操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 FreeSWITCH里面有个mod_tts_commandline模块,可以用来对接http协议的tts服务,今天整理下这方面的笔记,并提供相关演示效果及资源下载。 我将从以下几个方面进行展开: 自建tts服务模拟测
FreeSWITCH对接http协议的tts服务 FreeSWITCH对接http协议的tts服务 FreeSWITCH对接http协议的tts服务