day04_Idea、方法

开发工具IntelliJ IDEA

开发工具概述

IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是IDEA进行开发。

IDEA软件安装

进入官网https://www.jetbrains.com/idea/download/#section=windows,下载我们需要的版本进行安装。此软件集成了32位和64位,双击下载好的版本ideaIU-2017.3.2.exe 进入安装。

  • 1. 欢迎界面
  • 2. 选择安装路径,路径中最好不要包括中文和空格。
  • 3. 配置安装选项
  • 4. 添加到开始菜单 
  • 5. 安装完毕

IDEA的项目结构

项目结构如下图所示

IDEA首次驱动 

  • 1. 选择不导入任何设置,点击 OK 
  • 2. 选择 Create New Project
  • 3. 点击 new 按钮,配置安装的 JDK9 版本 

 

 

  • 4. 不使用模板
  • 5. 为工程起名字 demo ,并存储到 d:\ideawork\demo 目录下,如果d盘没有这个目录,会自动创建。 
  • 6. 打开一个每日一帖对话框,勾掉每次启动显示,点击 close
  • 7. IDEA的工作界面,我们的项目已经创建好了,如果再新建项目,点击 File->new->Project 

创建包和类 

  • 1. 展开创建的工程,在源代码目录 src 上,鼠标右键,选择 new->package ,键入包名 com.itheima.demo ,点击确定。
  • 2. 在创建好的包上,鼠标右键,选择 new->class 创建类,键入类名。
  • 3. 在代码编辑区,键入主方法,并输出 HelloWorld 。 
  • 4. 运行程序,在代码编辑区鼠标右键,选择 Run HelloWorld 即可,或在菜单中选择 Run->Run HelloWorld 。 

字体设置

IDEA工具的默认字体非常小,代码编辑器和控制台的输出字体都需要进行调整。
  • 点击菜单栏上的 File->Settings->Editor->Font 修改字体

 

IDEA的项目目录

我们创建的项目,在d:\ideawork目录的demo下
  • .idea 目录和 demo.iml 和我们开发无关,是IDEA工具自己使用的
  • out 目录是存储编译后的.class文件
  • src 目录是存储我们编写的.java源文件 

IDEA常用快捷键

IDEA修改快捷键 

在IDEA工具中, Ctrl+空格 的快捷键,可以帮助我们补全代码,但是这个快捷键和Windows中的输入法切换快捷键冲突,需要修改IDEA中的快捷键。
  • File->Settings->keymap->Main menu->code->Completion->Basic 

 

扫描二维码关注公众号,回复: 8776624 查看本文章

IDEA导入和关闭项目

  • 关闭IDEA中已经存在的项目, File->Close Project 
  • File->Close Project 这时IDEA回到了刚启动界面,点击项目上的 X ,IDEA中就没有这个项目了
  • 在IDEA的启动界面上,点击 OPEN ,选择项目目录即可 
  • 若想通过IDEA同时开启多个项目,点击OPEN打开项目时,点击New Window按钮 

方法

概述

我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

定义方法的格式

格式详解:

  • 修饰符:控制方法的访问权限和状态的关键字。现在我们一般使用public static修饰,以后根据需求来确定。
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
  • 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
    • 参数类型:进入方法的数据是什么类型
    • 参数名称:进入方法的数据对应的变量名称
    • 参数如果有多个,使用逗号进行分隔

小贴士:

  • return 结果; 这里的"结果"在开发中,我们正确的叫法成为方法的返回值
  • return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。

定义方法的三个明确

  • 明确返回值类型
  • 明确参数列表
  • 明确方法名称

举例

定义方法实现两个整数的求和计算

分析:
  • 明确返回值类型:方法计算的是整数的求和,结果也必然是个整数,返回值类型定义为int类型。
  • 明确参数列表:计算哪两个整数的和,并不清楚,但可以确定是整数,参数列表可以定义两个int类型的变量,由调用者调用方法时传递
  • 明确方法名称:符合标识符的是规则就可以,最好是见名知意

代码实现

package demo01;

public class Demo02Method {
    public static void main(String[] args) {
        /*
        调用方法getSum,传递两个整数,这里传递的实际数据又称为实际参数
        并接收方法计算后的结果,返回值
         */
        int sum = getSum(5, 6);
        System.out.println(sum);//11
    }
    /*
        定义计算两个整数和的方法
        返回值类型和计算
        参数:不确定数据求和,定义int参数.参数又称为形式参数
    */

    public static int getSum(int a, int b) {
        return a + b;
    }
}
程序执行,主方法 main 调用 getSum 方法,传递了实际数据 5和6 ,两个变量 a和b 接收到的就是实际参数,并将计算后的结果返回,主方法 main 中的变量 sum 接收的就是方法的返回值。 

调用方法的三种形式 

  • 直接调用:直接写方法名调用 
  • 赋值调用:调用方法,在方法前面定义变量,接收方法返回值 
  • 输出语句调用:在输出语句中调用方法, System.out.println(方法名()) 。 

注意事项:

  • 对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
  • 但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。

举例

package demo01;

/*

参数(原料):就是进入方法的数据。
返回值(产出物):就是从方法中出来的数据。

定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称, ...) {
    方法体
    return 返回值;
}

修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
PS:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:也就是方法执行后最终产生的数据结果

注意:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。

定义一个两个int数字相加的方法。三要素:
返回值类型:int
方法名称:sum
参数列表:int a, int b

方法的三种调用格式。
1. 单独调用:方法名称(参数);
2. 打印调用:System.out.println(方法名称(参数));
3. 赋值调用:数据类型 变量名称 = 方法名称(参数);

注意:此前学习的方法,返回值类型固定写为void,这种方法只能够单独调用,不能进行打印调用或者赋值调用。
*/
public class Demo02MethodDefine {

    public static void main(String[] args) {
        // 单独调用
        sum(10, 20);

        // 打印调用
        System.out.println(sum(10, 20)); // 30

        // 赋值调用
        int number = sum(15, 25);
        number += 100;
        System.out.println("变量的值:" + number); // 变量的值:140
    }

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

}

调用方法的流程图解 

如何确定方法是否需要定义参数

package demo01;


/*
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如两个数字相加,必须知道两个数字是各自多少,才能相加。

无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如定义一个方法,打印固定10次HelloWorld。
 */
public class Demo03MethodParam {

    public static void main(String[] args) {
        //有参数的方法
        method1(10, 20);
        //没有参数方法
        method2();
    }

    // 有参数,两个数字相乘,做乘法,必须知道两个数字各自是多少,否则无法进行计算
    public static void method1(int a, int b) {
        int result = a * b;
        System.out.println("结果是:" + result);
    }

    // 例如打印输出固定10次文本字符串
    public static void method2() {
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello, World!" + i);
        }
    }

}

如何确定方法是否有返回值

package demo01;


/*
定义一个方法,用来【求出】两个数字之和。(你帮我算,算完之后把结果告诉我。)
定义一个方法,用来【打印】两个数字之和。(你来计算,算完之后你自己负责显示结果,不用告诉我。)
 */
public class Demo04MethodReturn {

    public static void main(String[] args) {
        // 我是main方法,我来调用你。
        // 我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
        int num = getSum(10, 20);
        System.out.println("返回值是:" + num);//返回值是:30
        printSum(100, 200);
    }
    // 我是一个方法,我负责两个数字相加。
    // 我有返回值int,谁调用我,我就把计算结果告诉谁
    public static int getSum(int a, int b) {
        int result = a + b;
        return result;
    }

    // 我是一个方法,我负责两个数字相加。
    // 我没有返回值,不会把结果告诉任何人,而是我自己进行打印输出。
    public static void printSum(int a, int b) {
        int result = a + b;
        System.out.println("结果是:" + result);//结果是:300
    }

}

使用方法的时候,注意事项:

  • 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
  • 方法定义的前后顺序无所谓。
  • 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
  • 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
  • return后面的返回值数据,必须和方法的返回值类型,对应起来。
  • 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
  • 对于void方法当中最后一行的return可以省略不写。
  • 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。

举例

public class Demo04MethodNotice {
    public static void method1() {
        // return 10;  错误的写法!方法没有返回值,return后面就不能写返回值。
        return; // 没有返回值,只是结束方法的执行而已。
    }

    public static void method2() {
        System.out.println("AAA");
    //  return; 最后一行的return可以省略不写。
    }

    public static int getMax(int a, int b) {
    //一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
        if (a > b) {
            return a;
        } else {
            return b;
        }
    }

}

方法重载

方法重载
  • 指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表
  • 个数不同,数据类型不同,顺序不同。
重载方法调用
  • JVM通过方法的参数列表,调用不同的方法。 

举例

package demo03;


/*
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。

方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。

方法重载与下列因素相关:
1. 参数个数不同
2. 参数类型不同
3. 参数的多类型顺序不同

方法重载与下列因素无关:
1. 与参数的名称无关
2. 与方法的返回值类型无关
 */
public class Demo01MethodOverload {

    public static void main(String[] args) {
        //定义不同数据类型的变量
        byte a = 10;
        byte b = 20;
        short c = 10;
        short d = 20;
        int e = 10;
        int f = 10;
        long g = 10;
        long h = 20;
        // 调用
        System.out.println(compare(a, b));//false
        System.out.println(compare(c, d));//false
        System.out.println(compare(e, f));//true
        System.out.println(compare(g, h));//false
    }

    // 两个byte类型的
    public static boolean compare(byte a, byte b) {

        return a == b;
    }

    // 两个short类型的
    public static boolean compare(short a, short b) {
        return a == b;
    }
    // 两个int类型的

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

    // 两个long类型的
    public static boolean compare(long a, long b) {
        return a == b;
    }
}

猜你喜欢

转载自www.cnblogs.com/wurengen/p/12227941.html
今日推荐