javaDay4-IDEA&方法

文章介绍了IntelliJIDEA作为Java集成开发环境的基础知识,包括IDEA的概述、安装步骤、项目结构,以及如何创建HelloWorld。此外,还强调了IDEA的常用快捷键、配置和项目管理。文章深入讲解了方法的定义、调用过程、参数与返回值的区别,并通过示例展示了方法重载的概念和实际应用。
摘要由CSDN通过智能技术生成

1.1 IDEA

1.1.1 集成开发环境IDE的概述

简述: IDEA是专门针对java的集成开发工具(IDE),由java语言编写.所以需要有JRE运行环境并配置好环境变量.他可以极大的提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是IDEA进行开发.
IDE: Integrated Development Environment 集成开发环境
回顾之前开发java开发步骤:

  • 编写代码
  • 启动cmd
  • 调用javac编译
  • 调用java运行

为什么选择Intellij
免费的IDE当中使用最多的是:Eclipse
收费的IDE当中使用最多的是:Intellij IDEA
免费+收费所有的IDE当中,全世界用的最多的就是Intellij IDEA

1.1.2 Intellij-IDEA的安装

下载地址: www.Jetbrains.com
下载版本: Community Edition版本(社区版本,免费但是功能不全)
Ultimate版本(旗舰版,收费的,功能齐全,但是里面有评估版本,可以免费适用)
安装注意: 别乱动,无脑下一步

1.1.3 IDEA的项目结构

在这里插入图片描述
创建一个空项目(empty project)
创建一个新模块(new modules)
注意:

  • 所有的文件都是写在src文件夹内部
  • .iml文件与开发并不相关,是.idea文件的一些配置信息
  • External Libraries外部的库,就是jdk
  • .idea是配置相关信息

包的命名规则:

  • 只能包含英文小写/数字/英文的.
  • 网址要颠倒,比如baidu.com,那么包的命名就要com.baidu
  • 比如命名cn.itcast.day04.demo01.cn是个大包,里面就包含了itcast,itcast包含了day04,day04包含了demo01

1.1.4 IDEA的HelloWorld

//输入:psvm+回车
public static void main(String[] args) {
        
    }
//输入:sout+回车
System.out.println();

生成的文件都在项目下的out文件夹

1.1.5 IDEA的基本配置

  • 调整字体大小(点开目录中Files选项->Settings->editor->font)(推荐使用Droid Sans Mono字体,大小为17号)
  • 自动补全快捷键(Settings->keymap所有快捷键所在位置->点击小齿轮选择duplicate)代表复制了一份快捷键设置,在此基础上你添加的设置->找到Main menu,代码自动补全是在这里->code->completion->basic->先remove再add

1.1.6 IDEA的常用快捷键

快捷键功能
ctrl + shift + f10运行代码
alt+ enter导入包
ctrl+Y删除光标所在行
ctrl+d复制光标所在行的内容,插入光标位置下面
ctrl+alt+L格式化代码
ctrl+/单行注释,再按取消注释
ctrl+shift+/选中代码注释,多行注释,再按取消注释
alt+Ins自动生成代码,toString,get,set等方法
alt+shift+上下箭头移动当前代码行

1.1.7 IDEA的项目关闭打开与模块导入

打开项目

  1. 点击open
  2. 在磁盘里找到项目名称(有小黑方块的)
  3. 点击OK

导入模块

  1. 点击File
  2. project structure
  3. 点击modules
  4. 点击import module
  5. 在磁盘中选中要导入的包
  6. 接下来一直确定就可

1.2 方法

1.2.1 复习简单方法的使用

print代表横向打印
println代表竖向打印(其中System.out.println();表示换行)
打印矩形

public static void main(String[] args) {
//        打印矩形4*5的矩形
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

方法名称首字母小写,后面字母大写
格式:

public static void 方法名称(){
方法体
}

调用格式

方法名称();

实例

public class Demo01Method {
    public static void main(String[] args) {
        printMethod();
    }

    //打印矩形4*5的矩形
    public static void printMethod() {
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

1.2.2 方法的定义格式

含义: 方法其实就是若干语句的功能集合.
参数:
返回值:
形象的例子:

方法好比是一个工厂
蒙牛工厂
            原料:奶牛,饲料,水
            产出物:奶制品
钢铁工厂
			原料:铁矿石,煤炭
			产出物:钢铁建材
参数就是原料:就是进入方法的数据.
返回值就是产出物:就是从方法中出来的数据

定义方法的完整格式:

修饰符 返回值类型 方法名称(参数类型 参数名称, ...){
	方法体
	return 返回值;
}

修饰符: 现阶段的固定写法,public static
返回值类型: 也就是方法最终产生的数据结果是什么类型
方法名称: 方法的名字,规则和变量一样,小驼峰
参数名称: 进入方法的数据对应的变量名称
p.s.参数如果有多个,使用逗号进行分割
return作用: 两个作用,第一个是停止当前方法.第二个是将后面的结果数据返回值还给调用处
返回值: 方法执行后最终产生的数据结果
return后面的返回值,必须和方法名称前面的返回值类型,保持对应.
定义一个方法的三要素:

  1. 返回值类型
  2. 方法名称
  3. 参数列表
public class Demo02MethodDefine {
    public static void main(String[] args) {
        sum(1, 14);//15
    }
    public static int sum(int a, int b) {
        int result = a + b;
        System.out.println(result);
        return 0 ;
    }
}

也可以写成

public class Demo02MethodDefine {
    public static void main(String[] args) {
        System.out.println(sum(1, 14));//15
    }

    public static int sum(int a, int b) {
        int result = a + b;
        return result ;
    }
}

1.2.3 方法的三种调用格式

单独调用: 方法名称(参数);
打印调用: System.out.println(方法名称(参数));
赋值调用: 数据类型 变量名称 = 方法名称(参数);
实例如下

public class Demo02MethodDefine {
    public static void main(String[] args) {
        sum(10,20);//单独调用
        System.out.println(sum(1, 14));//打印调用
        int jiafahe = sum(90,100);//赋值调用
    }

    public static int sum(int a, int b) {
        int result = a + b;
        return result ;
    }
}

1.2.4 方法调用的详细过程

public class Demo02MethodDefine {
    public static void main(String[] args) {
        int jiafahe = sum(90,100);//赋值调用
    }
    public static int sum(int a, int b) {
        int result = a + b;
        return result ;
    }
}

内部调用步骤:

  1. main方法里,执行语句 int jiafahe = sum(90,100);此时涉及到调用sum()方法的调用
  2. 找到sum()方法
  3. 将90,100这两个数字传递进去赋值给对应的参数
  4. 执行sum()方法内的方法体
  5. return把返回值传递给调用处

1.2.5 对比有参数和无参数

有参数: 小括号当中有内容,当一个方法需要一些数据条件才能完成任务的时候,需要有参数.例如两个数字相加,就需要知道两个数字是各自多少,才能相加.
无参数: 小括号当中留空,一个方法不需要任何数据条件,自己就能独立完成任务.例如定义一个方法,打印固定10次HelloWorld
实例

public class Demo03MethodParameter {
    public static void main(String[] args) {
        System.out.println(method1(10,3));
        method2();
    }
    //有参数
    public static int method1(int a,int b){
        int result = a * b;
        return result;
    }
    //无参数
    public static void method2(){
        for (int i = 0; i < 3; i++) {
            System.out.println("Hello World!");
        }
    }
}

运行结果

30
Hello World!
Hello World!
Hello World!

1.2.6 对比有返回值和无返回值

有返回值题目: 定义一个方法,用来求出两个数字之和…你帮我算,算完把结果告诉我

public class Demo04MethodReturn {
    public static void main(String[] args) {
        //我是main方法,我来调用你
        //我调用你,你来帮我计算一下,计算完了之后,再告诉给我的num变量
        int num = sum(10,20);
        System.out.println("返回值为" + num);
    }

    //我是一个方法,我负责两个数字相加
    //我有返回值int,谁调用我,我就把计算结果告诉谁
    public static int sum(int a ,int b){
        int result = a + b; 
        return result;
    }
}

运行结果

返回值为30

没有返回值题目: 定义一个方法,用来打印两个数字之和.你来计算,算完之后你自己显示结果,不用告诉我结果

public class Demo04MethodReturn {
    public static void main(String[] args) {
        //因为没有返回值,接收不了,所以直接调用
        sum(100, 200);
    }

    //没有返回值,可以用void
    public static void sum(int a, int b) {
        int result = a + b;
        System.out.println("返回值为" + result);
    }
}

没有返回值的方法,无法进行打印调用或赋值调用,只能进行单独调用

1.2.7 方法练习1_比较两个数字是否相同

代码如下:

public class Demo01MethodSame {
    public static void main(String[] args) {
        same(11, 20);
    }

    public static void same(int a, int b) {
        if (a == b) {
            System.out.println("这两个数相同");
        } else {
            System.out.println("这两个数不同");
        }
    }
}

运行结果

这两个数不同

有更简单的写法

public class Demo01MethodSame {
    public static void main(String[] args) {
        System.out.println(same(10, 10));
    }

    public static boolean same(int a, int b) {
        return a == b;//a == b返回的就是布尔值,所以返回的就是一个布尔值
    }
}

运行结果

true

只需要保证return后面的东西是一个boolean值就可以

1.2.8 方法练习2_求1到100的累加和

分析

  1. 三要素第一条返回值,有返回值,计算结果是一个int类型
  2. 三要素第二条方法名称,getSum
  3. 三要素第三条参数列表,数据范围已经确定,不需要任何参数

代码如下:

public class Demo02MethodSum {
    public static void main(String[] args) {
        System.out.println("1~100的和为:" + getSum());
    }

    public static int getSum() {
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            sum += i;
        }
        return sum;
    }
}

结果如下:

1~100的和为:5050

1.2.9 方法练习3_打印指定次数的HelloWorld

分析

  1. 三要素第一条返回值,只是进行一大堆打印操作,没有计算,也没有结果给调用处,不需要返回值
  2. 三要素第二条方法名称,printCount
  3. 三要素第三条参数列表,到底需要多少次?需要告诉我多少次

代码

 public class Demo02MethodSum {
    public static void main(String[] args) {
        printCount(5);
    }

    public static int printCount(int num) {
        for (int i = 0; i < num; i++) {
            System.out.println("HelloWorld!" + i);
        }
    }
}

结果

HelloWorld!0
HelloWorld!1
HelloWorld!2
HelloWorld!3
HelloWorld!4

1.2.10 方法的注意事项

  1. 如果方法有返回值,那么必须写return 返回值;不能没有
  2. return后面的返回值数据,必须和方法的返回值类型对应起来
  3. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己
  4. 对于方法当中最后一行的return,可以省略不写
  5. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到

第五个代码实例

public class Demo03MetrhodGetMax {
    public static void main(String[] args) {
        System.out.println("最大值为:" + getMax(10, 30));
    }

    public static int getMax(int a, int b) {
        if (a > b) {
            return a;
        } else {
            return b;
        }
    }
}

结果

最大值为:30

1.2.11 方法重载的基本使用

对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦.所以需要使用方法重载.
方法的重载(Overload): 多个方法的名称一样,但是参数列表不同
实例

public class Demo01MethodOverload {
    public static void main(String[] args) {
        System.out.println(sum(10, 20, 30, 21));
    }

    public static int sum(int a, int b) {
        return a + b;
    }

    public static int sum(int a, int b, int c) {
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        return a + b + c + d;
    }
}

结果

81

优点: 只需要记住一个方法名称,就可以记住类似的多个功能.

1.2.12 重载练习1_四种不同参数类型的方法

比较两个数据是否相等
参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型
代码

public class Demo02MethodOverloadPractice1 {
    public static void main(String[] args) {
        System.out.println(isSame(311112110.00, 90.00));
    }

    public static boolean isSame(byte a, byte b) {
        return a == b;
    }

    public static boolean isSame(short a, short b) {
        return a == b;
    }

    public static boolean isSame(int a, int b) {
        return a == b;
    }

    public static boolean isSame(long a, long b) {
        return a == b;
    }
    public static boolean isSame(double a, double b){
        return a == b;
    }
}

结果

false

1.2.13 重载练习2_实现重载的println方法

光标指向println,按住ctrl然后点击鼠标,就可以查看println的源代码.里面应用了大量的方法重载.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值