首页 > 编程语言 >Java基础之方法

Java基础之方法

时间:2023-10-30 20:11:21浏览次数:34  
标签:Java int sum 基础 static 返回值 方法 public

方法

前言

1.程序开始执行的时候先从main方法开始

2.Java语言中所有的方法体的代码都要遵守从上到下执行

3.mian方法程序会自动调用,而main以外的方法需要程序员自己调用。

4.main以外的方法只有被调用的时候才会执行

什么是方法?为什么使用方法?

方法是一个可以重复使用的代码段。而如果某段代码在很多个地方都有使用时,如果在各个地方都重复编写这段代码,就会比较麻烦,而且修改的时候也不方便,这是就可以将这段代码定义为一个方法,让程序反复调用。

方法定义的语法

public static 返回类型 方法名(数据类型 变量名,数据类型 变量名,......,数据类型 变量名){
             代码块;       
 }

使用方法:
方法名(实参列表)

无参数无返回值

无参数:代表方法名后的()里面没有参数

无返回值:代表方法中返回类型为void

语法:

public static void 方法名 (){
      代码
}

举个例子:

需求是实现下面图片的效果:

思路:
①编写一个无参无返回值方法:用来打印一行*
②编写一个无参无返回值方法:用来打印一行字符串"How do you do!"

代码实现:

 1 public class Test {
 2     public static void main(String[] args) {
 3 
 4         //根据图片中的效果,进行调用方法
 5         print();
 6         print1();
 7         print();
 8         print();
 9         print1();
10         print();
11     }
12     //无参无返回值方法实现打印一行*
13     public static void print(){
14         System.out.println("*******************");
15     }
16     //无参无返回值方法实现打印一个字符串(How do you do!)
17     public static void print1(){
18         System.out.println("How do you do!");
19     }
20 }

效果展示:

 有参数无返回值

有参数:代表方法名后面的()需要有参数列表

无返回值:代表方法中返回类型为void

语法:

public static void 方法名(数据类型  变量名,.....,数据类型  变量名){
         代码块;
}

举个例子:

需求是实现下面图片的效果:

思路:
注意看这里的如果每一行写一个方法是完全可以实现的,但是你会发现它们之间是有共同点的。
第一行的*,第三行的@,第四行的-,第六行$它们只是改变了变量的内容,它们的数量是完全相同的,所以我们可以传入一个指定的符号,让方法去打印输出这个符号即可。
同理第二行输入的是字符串,第五行输入的同样是一个字符串,我们就可以通过传入一段字符串,让方法去打印这段字符串即可。

代码:

 1 public class Test {
 2     public static void main(String[] args) {
 3 
 4         //根据图片中的效果,进行调用方法
 5         print('*');
 6         print1("Hello world!");
 7         print('@');
 8         print('-');
 9         print1("How do you do!");
10         print('$');
11     }
12     //有参数无返回方法(输入字符,打印对应的字符)
13     public static void print(char a){
14         for (int i = 0; i < 20; i++) {
15             System.out.print(a);
16         }
17         System.out.println();
18     }
19     //有参数无返回方法(输入字符串,打印对应的字符串内容)
20     public static void print1(String a){
21         System.out.println(a);
22     }
23 }

效果展示:

 无参数有返回值

无参数:代表方法名后的()里面没有参数

有返回值:返回类型需要根据返回值类型的不同而改变

语法:

public static 返回类型 方法名(){
    代码;
}

举个例子

需求:方法内随机生成一个整数,在主方法中调用方法并打印整数值

思路:
①方法内生成一个随机数,需要用到Random类去生成一个整数,而方法的返回值为整型,所以返回类型为int
②在main方法中调用此方法并打印此方法返回的数值

代码:

 1 import java.util.Random;
 2 
 3 public class Test {
 4     public static void main(String[] args) {
 5 
 6         //由于有返回值,所以需要通过一个整型变量来接受返回值
 7         int i = randomInt();
 8         //打印变量
 9         System.out.println("随机数:"+i);
10     }
11     //无参数有返回方法(方法内随机生成一个整数)
12     public static int randomInt(){
13         Random random = new Random();
14         int i = random.nextInt(5);
15         return i;
16     }
17 }

效果展示:

 有参数有返回值

有参数:代表方法名后的()里面有参数列表

有返回值:返回类型需要根据返回值类型的不同而改变

语法:

public  static 返回类型  方法名(数据类型 变量名,......,数据类型 变量名){
         代码;
}

举个例子:

求整型m~n的和,并把结果返回。

思路:
①确定方法是否需要返回值?需要因为需求中说要将结果返回
②确定方法是否要传入参数?需要因为需求中说要求出整型的m~n的和,m是一个变量,n也是一个变量,都需要用户传入才能知道具体的数据值
③判断返回值类型?整型的数据之和仍为整型,所以返回值int类型

代码:

 1 public class Test {
 2     public static void main(String[] args) {
 3 
 4         //由于有返回值,所以需要通过一个整型变量来接受返回值
 5        int sum = sum(5,10);
 6         System.out.println("求5~10的整数和:" + sum);
 7     }
 8     //无参数有返回方法(方法内随机生成一个整数)
 9     public static int sum(int m,int n){
10         //定义一个求和的变量,并初始化
11         int sum=0;
12         //这里默认m为小的n为大的
13         for (int i = m; i <=n ; i++) {
14             sum+=i;
15         }
16         return sum;
17     }
18 }

效果展示:

方法重载

方法名相同,方法的参数类型不同,参数数量不同这种情况称为方法的重载,方法重写的好处是可以简化新建一个新的方法名来实现方法。

当程序调用方法时,会根据方法中参数类型,数量的不同,从而调用不同的方法。

举个例子:

需求是实现两个数的和,并返回值。

思路:
注意一点传入两个数,并不知道这两个数是什么数据类型的。
所以需要通过不同的数据类型来调用不同的方法。
这里就需要用到方法的重载。

代码:

 1 public class Demo {
 2     public static void main(String[] args) {
 3         /*
 4         这里就是使用方法的重载
 5         相同的方法名,但是方法中形参列表的数据类型不同,这就是重载  
 6          */
 7         System.out.println(sum(1, 2));
 8         System.out.println(sum(1.8, 2));
 9         System.out.println(sum(1.2, 1.5));
10         System.out.println(sum(3, 2.3));
11         
12     }
13     //假设传入的是两个整型的数
14     public static int sum(int a,int b){
15         int sum=a+b;
16         return sum;
17     }
18     //假设传入的是两个浮点数
19     public static double sum(double a,double b){
20         double sum=a+b;
21         return sum;
22     }
23     //假设传入的第一个数为浮点数,另一个为整数
24     public static double sum(double a,int b){
25         double sum=a+b;
26         return sum;
27     }
28     //假设传入的第一个数为整数,另一个为浮点数
29     public static double sum(int a,double b){
30         double sum=a+b;
31         return sum;
32     }
33 }

效果展示:

可变参数的方法

调用方法时可以根据需要传递若干个参数,但参数类型要一致

语法:

public static 返回类型 方法名(数据类型 ... 变量名){
        代码;
}

举个例子:

 1 import java.util.Arrays;
 2 
 3 public class Test02 {
 4     public static void main(String[] args) {
 5         fun(1);
 6         fun(1,4);
 7         fun(1,4,5);
 8         fun(1,3,5,6);
 9     }
10     //注意 ...不能多也不能少
11     public static void fun(int ...a){//a代表的是一个数组,用来存储传入的数据
12         System.out.println(Arrays.toString(a));
13     }
14 }

效果展示:

 

标签:Java,int,sum,基础,static,返回值,方法,public
From: https://www.cnblogs.com/gzyhrc/p/17795956.html

相关文章

  • # yyds干货盘点 #Python自动化办公——3个Excel表格中每个门店物品不同,想要汇总在一起
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公处理的问题,一起来看看吧。原始数据如下所示:二、实现过程这里【猫药师Kelly】给了一个代码和思路,如下所示:顺利地解决了粉丝的问题。下一篇文章,我们一起来看看另外一种方法。三、总结大家好,......
  • Java流程控制_01分支结构
    1. if分支  2.switch分支switch可以快速找到某个值,不用一个一个找(底层代码)  ......
  • javaweb学习每日总结-第十天
    第十天学习今天我没有学习什么新的知识,而且回顾我之前所学习的一切的java知识,陷入了思考。一切都是因为今天王建民老师的考试,今天的考试,我取得了相对比较优异的成绩。考试一共一个小时,虽然结果还不错,但是我心里明白,我的技术还相当不熟练,一旦动起手来敲代码,我好像就迷失了方向,我想......
  • jupyter_机器学习基础
    学习打他frame和一些基础操作importpandasaspdimportnumpyasnppd.DataFrame(np.random.randn(2,3))score=np.random.randint(40,100,(10,5))scorescore_df=pd.DataFrame(score)score_dfsubjects=['语文','数学','英语','体育',&#......
  • 怎么去除图片水印文字?这3个方法快来收藏
    图片怎么去除水印文字?现在嘛,图片已经成了我们生活和工作里必不可少的一部分,可是有时候看图的时候,总会碰到一些带水印的图片,这些水印总是搞得图片看起来不那么爽,所以很多人都想知道图片怎么去除水印文字,这样就能更好地用这些图片了,今天我就来跟你们说说几种常用的去水印方法,希望对你......
  • 这三个方法快学起来照片一键去文字水印
    照片去文字水印怎么弄?你有没有遇到过这样的烦恼呢?我经常在网上找一些好看的照片来做头像或者壁纸,但是总是遇到一些带水印或者不想要的文字的照片,影响了整体的美观度让人很头疼,每次重新找又得花费不少时间和精力,不过别担心现在有一些好用的去水印工具可以帮助我们轻松解决这个问题,接......
  • [Java]有无static的方法调用区分
    1.不带static的方法是实例方法,实例方法调用必须先创建对象,调用时:引用.2.带static的方法调用:类名.注:当引用指向的对象为空时,带staic的方法可采用引用.去调用,但此时引用无意义,反而会容易让别人误认为这个方法是实例方法,因此最好还是采用类名.来调用。下面是代码示例:publicclass......
  • JavaWeb-JS基础
    4.JS基础(1)JS的引入方式HTML内部引入将JS代码放在“<script></script>”标签之间在HTML文档中,可以在任意地方放置任意数量的<script>一般将其放在body元素的底部,改善显示速度<script>alert("WY")//JS代码</script>外部.js文件引入在外部单独编写js......
  • 爬虫电商平台数据获取方法
    爬虫是一种模拟人类浏览器行为的程序,可以自动访问互联网并提取所需数据。数据获取的方法因爬虫类型和应用场景而异。以下是一些常见的数据获取方法:通过发送HTTP请求获取网页内容,然后从响应内容中提取所需信息。这种方法适用于基于HTTP协议的爬虫,如Scrapy框架。通过解析HTML或XML等......
  • Java基于API接口爬取淘宝商品数据
    随着互联网的普及和电子商务的快速发展,越来越多的商家选择在淘宝等电商平台上销售商品。对于开发者来说,通过API接口获取淘宝商品数据,可以更加便捷地进行数据分析和商业决策。本文将介绍如何使用Java基于淘宝API接口爬取商品数据,包括请求API、解析JSON数据、存储数据等步骤,并提供相......