Java学习笔记2024/2/3

1. 方法

1.1 什么是方法

package com.angus.method.whatIsTheMethod_1;public class note {public static void main(String[] args) {//什么是方法//方法是程序当中最小的执行单元//调用方法和使用数组很类似//方法->方法名//数组->数组名->地址值//什么时候用到方法//重复的代码,具有独立功能的代码可以抽取到方法当中//方法有什么好处//可以提高代码的复用性//可以提高代码的可维护性System.out.println("^^");}
}

1.2 方法的格式

package com.angus.method.theFormatOfTheMethod_2;public class note {public static void main(String[] args) {//关于方法的格式只要学习两点//如何打包//打包好后如何调用//方法定义//把一些代码打包在一起,该过程称为方法定义//方法调用//方法定义后并不是直接运行的,需要手动调用才能执行,//该过程称为方法调用//方法的定义格式//分为三种解析//最后一种可操作性最高,也是方法最完整的定义格式//第一种//最简单的方法定义和调用//方法定义//格式://public static Void 方法名(){//    方法体(就是打包起来的代码);//}//范例://public static Void playGame(){//    七个打印语句;//}//方法调用//格式://方法名();//范例://playGame();//注意:方法必须先定义后调用,否则程序将报错//看代码//看到方法进入方法//执行完毕后回到调用处//第二种//带参数的方法定义和调用//一个参数的定义和调用//public static void 方法名(参数){...}//public static void method(int number){...}//方法名(参数);//method();//method(变量);//多个参数//public static void 方法名(参数1,参数2,...){...}//public static void method(int number1,int number2,...){...}//方法名(参数1,参数2,...);//getSun(10,20);//getSun(变量1,变量2);//注意:方法调用时,参数的数量与类型必须与方法定义中//小括号里面的变量一一对应,否则程序将报错//形参和实参//形参://全称为形式参数,是指方法定义中的参数//实参://全称为实际参数,是指方法调用中的参数//注意:方法调用时,形参和实参必须一一对应,否则程序将报错//方法定义的小技巧//1.我要干啥? ->方法体//2.我干这件事情需要啥才能完成? ->形参//第三种//带返回值方法的定义和调用//方法的返回值其实就是方法运行的最终结果//如果在调用处要根据方法的结果,去编写另外一段代码逻辑//为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法//定义//格式://public static 返回值类型 方法名(参数){//方法体;//return 返回值;// }//范例://public static int getSum(int a, int b){// int c = a + b;// return c;// }//调用//直接调用: ->一般用于没有返回值类型的//方法名(实参);//赋值调用: ->最常用//整数类型 变量名 = 方法名(实参);//输出调用://System.out.println(方法名(实参));System.out.println("^^");}
}
package com.angus.method.theFormatOfTheMethod_2;public class demo1 {public static void main(String[] args) {//最简单的方法定义和调用格式playGame();System.out.println("^^");}public static void playGame(){System.out.println("afa");System.out.println("acaca");System.out.println("阿拉敖灿哦");}}
package com.angus.method.theFormatOfTheMethod_2;public class demo2 {public static void main(String[] args) {GFinfo();System.out.println("^^");}public static void GFinfo(){System.out.println("小美");System.out.println("1.63");System.out.println("萌妹子");}}
package com.angus.method.theFormatOfTheMethod_2;public class demo3 {public static void main(String[] args) {qiuHe();System.out.println("^^");}public static void qiuHe() {int a = 10;int b = 10;int sum = a + b;System.out.println(sum);}}
package com.angus.method.theFormatOfTheMethod_2;public class demo4 {public static void main(String[] args) {getSum(10,20);System.out.println("^^");}public static void getSum(int a, int b) {int sum = a + b;System.out.println(sum);}}
package com.angus.method.theFormatOfTheMethod_2;public class demo5 {public static void main(String[] args) {//目标:掌握带返回值方法的定义和调用格式//直接调用 ->一般不用于返回值的调用getSum(1,1,1);//赋值调用int sum =getSum(1,1,1);System.out.println(sum);//输出调用System.out.println(getSum(1,1,1));System.out.println("^^");}public static int getSum(int num1,int num2,int num3){int re = num1 + num2 + num3;return re;}}
package com.angus.method.theFormatOfTheMethod_2;public class demo6 {public static void main(String[] args) {//目标:掌握带返回值方法的定义和调用格式//计算全年的总营业额int sum1 = getSum(1,1,1);int sum2 = getSum(2,2,2);int sum3 = getSum(3,3,3);int sum4 = getSum(4,4,4);int sum = sum1 + sum2 + sum3 + sum4;System.out.println(sum);System.out.println("^^");}public static int getSum(int num1,int num2,int num3){int re = num1 + num2 + num3;return re;}}
package com.angus.method.theFormatOfTheMethod_2;public class test1 {public static void main(String[] args) {//需求:定义一个方法,求长方形的周长,将结果在方法中进行打印。c(1,1);System.out.println("^^");}//我要干甚么? 求长方形的周长//需要啥完成它? 长和宽public static void c(int a, int b) {int C = (a + b) * 2;System.out.println(C);}}
package com.angus.method.theFormatOfTheMethod_2;public class test2 {public static void main(String[] args) {//需求:定义一个方法,求圆的面积,将结果在方法中进行打印。//目标:根据不同的需求,选择定义无参的方法,还是带参数的方法 -> 带参getS(3);System.out.println("^^");}public static void getS(double r) {double S = r * r * 3.14;System.out.println(S);}}
package com.angus.method.theFormatOfTheMethod_2;public class test3 {public static void main(String[] args) {//目标:要能区分出什么时候使用带返回值的方法 ->要在调用处用到返回值的时候//需求:定义方法,比较两个长方形的面积double S1 = getArea(1,1);double S2 = getArea(2,2);if (S1 > S2){System.out.println("第一个面积大");;} else {System.out.println("第二个面积大");;}System.out.println("^^");}public static double getArea(double length,double width) {double area = length * width ;return area;}}

1.3 方法的重载

package com.angus.method.overloadingOfMethod_3;public class note {public static void main(String[] args) {// 方法的重载//// 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能// 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系//// 简单记:// 就是看是不是在同一个类中,方法名是不是相同,形参是不是不同,不看返回值// 形参不同有哪些不同:个数,类型,顺序(不建议用)System.out.println("^^");}
}
package com.angus.method.overloadingOfMethod_3;public class test1 {public static void main(String[] args) {long num1 = getNum(1);int num2 = getNum(2);if (num2 == num1) {System.out.println("相等");} else {System.out.println("不相等");}System.out.println("^^");}public static long getNum(long num) {return num;}public static int getNum(int num) {return num;}public static short getNum(short num) {return num;}public static byte getNum(byte num) {return num;}}
package com.angus.method.overloadingOfMethod_3;public class test2 {public static void main(String[] args) {com((byte)1,(byte)2);com((short)2,(short)3);com(3,4);com(56464646464464166L,6841864164164164189L);byte a = 1;byte b = 1;com(a,b);byte b1 = 5;byte b2 = 5;com(b1,b2);int c = 2;int d = 2;com(c,d);System.out.println("^^");}//方法重载的好处//1.一个单词就可以干很多事情//2.调用方法变得非常容易public static void com(byte b1,byte b2) {System.out.println("byte");System.out.println(b1 == b2);}public static void com(short s1,short s2) {System.out.println("short");System.out.println(s1 == s2);}public static void com(int i1,int i2) {System.out.println("int");System.out.println(i1 == i2);}public static void com(long n1,long n2) {System.out.println("long");System.out.println(n1 == n2);}}
package com.angus.method.overloadingOfMethod_3;public class test3 {public static void main(String[] args) {//需求:设计一个方法用于数组遍历,要求遍历的结果是在一行上的,例如:[1,2,3,4,5]int arr[] = {1,2,3,4,5};getArr(arr); //把数组名放进去,要记住方法名+数组名才可以调用System.out.println(); //只做换行处理,换行了下面的才不会接着System.out.println("^^");}public static void getArr(int arr[]){ // (int类型 数组名[]) ,要记住数据类型+变量名/数组名[],调用时变量直接写数值,数组写数组名,不绝对哈,这只是目前的领悟System.out.print("["); //->不换行,下面的才会接着for (int i = 0; i < arr.length; i++) {if ( i == arr.length - 1) {System.out.print(arr[i]);} else {System.out.print(arr[i] + ", ");}}System.out.print("]"); //->上一个不换行,自己才能接着}}
package com.angus.method.overloadingOfMethod_3;public class test4 {public static void main(String[] args) {//设计一个方法求数组的最大值,并将最大值值返回int arr[] = {1,5,6,7,2,4,6,9};int max = getMax(arr);System.out.println(max);System.out.println("^^");}public static int getMax(int[] arr) {int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}return  max;}}
package com.angus.method.overloadingOfMethod_3;public class test5 {public static void main(String[] args) {//定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处int arr[] = {1,2,3,4,5,6,7,8,9};boolean pan = pan(arr,9);System.out.println(pan);System.out.println("^^");}//1.干啥 -> 定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处//2.怎么干,需要啥 -> 数组,某一个数//3.返否 -> 返,因为判断public static boolean pan(int arr[], int num) {for (int i = 0; i < arr.length; i++) {if (arr[i] == num) {return true;}}return false;}}
//return结束方法并返回结果
//break结束循环或者switch

package com.angus.method.overloadingOfMethod_3;public class test6 {public static void main(String[] args) {//复制数组//需求: 定义一个方法copyOfRange(int[] arr,int from,int to)//功能: 将索引arr中从索引from(包含from)开始,//到索引to结束(不包含to)的元素复制到新数组中,//将新数组返回//老数组int arr[] = {1,2,3,4,5,6,7,8,9};//返回,又得定义一个新数组int newArr2[] = copyOfRange(arr,3,7);//遍历for (int i = 0; i < newArr2.length; i++) {System.out.print(newArr2[i] + " "); //下次注意,打印的是元素newArr2[i],不是索引i}System.out.println();System.out.println("^^");}public static int[] copyOfRange(int[] arr,int from,int to) {//index自增,伪造索引思想int index = 0;//新数组int newArr1[] = new int[to - from];for (int i = from; i < to; i++) { //遍历的话,不是谁固定遍历,而是只要有循环都可以遍历,所以数组赋值给数组的操作才能进行 -> test6_6演示//老数组复制给新数组newArr1[index] = arr[i];index++;}//返回return newArr1;}}
package com.angus.method.overloadingOfMethod_3;public class test6_6 {public static void main(String[] args) {int arr[] = {1,2,3};int brr[] = {4,5,6};for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);System.out.println(brr[i]);}System.out.println("^^");}
}

未完待续...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/668280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 AI 前端:回首展望,光芒未至,破晓之前!

前言 回望 2023 年&#xff0c;ChatGPT 的突然爆火&#xff0c;让 AI 无疑成为最为值得注目的新兴领域之一&#xff0c;我们也一起见证了生成式 AI 的寒武纪大爆发。这一年来&#xff0c;国内外的生成式 AI 、大模型和相关产品以令人眼花缭乱的速度更新迭代&#xff0c;新的创业…

服务器性能监控管理方法及工具

服务器是组织数据中心的主干&#xff0c;无论是优化的用户体验&#xff0c;还是管理良好的资源&#xff0c;服务器都能为您完成所有工作&#xff0c;保持服务器随时可用和可访问对于面向业务的应用程序和服务以最佳水平运行至关重要。 理想的服务器性能需要主动监控物理和虚拟…

JavaScript内嵌函数是传值还是传址

在一般编程语言中, 参数都是"传值", 假设一个C函数的原型是int Fun(int value); 当你调用这个函数时, Fun函数首先会在自己的函数栈上copy一份参数, 就是这个函数的副本, 当你在Fun外部修改value值, 并不会影响Fun内部的value. 而Javascript的内嵌函数很特殊, 如果传…

LeetCode 133:克隆图(图的深度优先遍历DFS和广度优先遍历BFS)

回顾 图的Node数据结构 图的数据结构&#xff0c;以下两种都可以&#xff0c;dfs和bfs的板子是不变的。 class Node {public int val;public List<Node> neighbors;public Node() {val 0;neighbors new ArrayList<Node>();}public Node(int _val) {val _val;…

windows10 利用DDNS-GO解析IPV6 IPV4 阿里云 腾讯云 华为云

这里写目录标题 [工具包DDNS-GO Windows 版](https://github.com/jeessy2/ddns-go/releases)创建ddns-go windows服务打开浏览器 输入127.0.0.1:9876 就可以使用ddns-go解析ipv4 或者 IPV6 了创建的服务已经在windows的服务管理里面自动启动了 工具包DDNS-GO Windows 版 创建dd…

C++:模板

C&#xff1a;模板 函数模板显式实例化模板参数缺省参数匹配规则 类模板类名与类型类成员的声明定义分离 非类型模板参数模板特化函数模板特化类模板特化全特化偏特化部分特化限制特化 在讲解模板前&#xff0c;我提出一个问题&#xff1a; 如何实现一个通用的swap交换函数&…

StringBuffer和StringBuilder的区别,设计目的

StringBuffer和StringBuilder是Java编程语言中用于处理字符串的两个类&#xff0c;它们在功能上非常相似&#xff0c;都用于创建可变的字符串。然而&#xff0c;它们之间存在一些关键的区别&#xff0c;主要体现在线程安全性和性能上。这两个类的设计目的反映了不同的使用场景需…

Java中的main方法和可变参数

目录 分析main方法形参为String[] 那么实参到底是什么&#xff1f;可变参数实例 分析main方法 在Java中&#xff0c;main方法是程序的入口点。当你运行一个Java程序时&#xff0c;JVM&#xff08;Java虚拟机&#xff09;会寻找一个名为main的方法&#xff0c;并从这里开始执行…

html2canvas 截图功能使用 VUE

html2canvas 是一个 JavaScript 库&#xff0c;可以将网页内容转换为 Canvas 元素&#xff0c;并生成图像或 PDF 文件。使用 html2canvas&#xff0c;你可以在客户端将网页的内容截图&#xff0c;并将其作为图像或 PDF 文件保存或分享。 以下是一些 html2canvas 库的特点和用途…

LeetCode 0292.Nim 游戏:脑筋急转弯

【LetMeFly】292.Nim 游戏&#xff1a;脑筋急转弯 力扣题目链接&#xff1a;https://leetcode.cn/problems/nim-game/ 你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a; 桌子上有一堆石头。你们轮流进行自己的回合&#xff0c; 你作为先手 。每一回合&#xff0c…

【NTN 卫星通信】基于NTN的多3GPP连接应用场景

1 概述 同时聚合两条3GPP接入链路&#xff0c;其中一条为非地面网络&#xff0c;可以提供以下5G业务使能&#xff0c;尤其适用于带宽有限或接入链路不可靠的服务不足地区:   -扩展流动宽频   -超可靠的服务通信 如技术报告38.821所述&#xff0c;若干服务场景(例如在偏远地…

【算法题】91. 解码方法

题目 一条包含字母 A-Z 的消息通过以下映射进行了 编码 &#xff1a; A -> "1" B -> "2" ... Z -> "26" 要 解码 已编码的消息&#xff0c;所有数字必须基于上述映射的方法&#xff0c;反向映射回字母&#xff08;可能有多种方法&…

缓存组件Caffeine的使用

caffeine是一个高性能的缓存组件&#xff0c;在需要缓存数据&#xff0c;但数据量不算太大&#xff0c;不想引入redis的时候&#xff0c;caffeine就是一个不错的选择。可以把caffeine理解为一个简单的redis。 1、导入依赖 <!-- https://mvnrepository.com/artifact/com.git…

STM32F407 CAN参数配置 500Kbps

本篇CAN参数适用 芯片型号&#xff1a;STM32F407xx系统时钟&#xff1a;168MHz&#xff0c;CAN挂载总线APB1为42M波 特 率 &#xff1a;500Kpbs引脚使用&#xff1a;TX_PB9&#xff0c;RX_PB8&#xff1b;修改为PA11PA12后&#xff0c;参数不变。 步骤一、打勾开启CAN&#xf…

百面嵌入式专栏(面试题)网络编程面试题

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍网络编程面试题 。 1、什么是IO多路复用 I/O多路复用的本质是使用select,poll或者epoll函数,挂起进程,当一个或者多个I/O事件发生之后,将控制返回给用户进程。以服务器编程为例,传统的多进程(多线程…

GaussDB新体验,新零售选品升级注入新思路【华为云GaussDB:与数据库同行的日子】

选品思维&#xff1a;低频VS高频 一个的商超&#xff0c;假设有50个左右的品类&#xff0c;每个品类下有2到10个不等的商品。然而如此庞大的商品&#xff0c;并非所有都是高频消费品。 结合自身日常的消费习惯&#xff0c;对于高频和低频的区分并不难。一般大型家电、高端礼盒…

HCIA--DHCP动态分配ip地址实验

要求&#xff1a; 1. pc1&#xff0c;pc2不能获取 250-254的地址 2. pc3固定获取172.16.1.3/24 pc4固定获取172.16.1.6/24 1. 在AR1上配接口ip、划分网段&#xff0c;创建地址池&#xff0c;开启dhcp: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 2…

FPGA开发

Quartus13.0使用 编译下载&#xff1a; 添加引脚&#xff1a; # ---------------- LED ---------------- # set_location_assignment PIN_K2 -to led_out[11] set_location_assignment PIN_J1 -to led_out[10] set_location_assignment PIN_J2 -to led_out[9] set_locatio…

C++实现鼠标点击和获取鼠标位置(编译环境visual studio 2022)

1环境说明 2获取鼠标位置的接口 void GetMouseCurPoint() {POINT mypoint;for (int i 0; i < 100; i){GetCursorPos(&mypoint);//获取鼠标当前所在位置printf("% ld, % ld \n", mypoint.x, mypoint.y);Sleep(1000);} } 3操作鼠标左键和右键的接口 void Mo…

Redis渗透SSRF的利用

Redis是什么&#xff1f; Redis是NoSQL数据库之一&#xff0c;它使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。默认端口是&#xff1a;6379 工具安装 下载地址&#xff1a; http://download.redis.io/redis-stable.tar.gz然…