java基础03

目录

一、课程说明

1.1课程简介

1.2课程收获

二、方法

2.1需求演示

2.1.1《吃鸡体验》流程分析

2.1.2吃鸡体验流程传统实现

2.1.3疑问

2.1.4需求衍生

2.2 初识方法

2.2.1 何为方法

2.2.1.1生活中

2.2.1.2程序中

2.2.2 方法的分类

2.2.2.1系统提供的方法

2.2.2.2用户自定义的方法

2.2.3用户自定义的方法

2.2.3.1无返回值、无参数

2.2.3.2无返回值、有参数

2.2.3.3有返回值、无参数

2.2.3.4有返回值、有参数

2.2.3.5说明

2.2.4方法的核心提炼

2.2.4.1 方法的本质

2.2.4.2 方法的优点

2.2.4.3 方法的定义

三、break、continue、return的区别

3.1 break

3.2 continue

3.3 return

3.4 break、continue、return的使用场景

四、方法的随堂练习

4.1练习一

4.2练习二

4.3练习三

4.4练习四

4.5练习五​编辑

4.6练习六

五、IDEA

5.1 Java语言编译器介绍

5.2 IDEA相关介绍

5.2.1 IDEA自身

5.2.2 IDEA所在的公司

5.3 IDEA下载与安装

5.3.1 IDEA下载

5.3.2 IDEA安装

5.4 IDEA破解

5.4.1第一步:点击试用idea

5.4.2第二步:打开或者新建一个java项目

5.4.3第三步:将破解jar程序拖入idea窗口中

5.4.4第四步:关闭idea并重启

5.4.5第五步:查看安装的插件

5.5 弹窗解决

5.6 IDEA卸载

5.7 IDEA页面介绍

5.8 IDEA常用设置

5.8.1进入设置界面

5.8.2主题设置

5.8.3自动导包设置

5.8.4忽略大小写提示

5.8.5多个类多行显示,不隐藏

5.8.6设置字体大小、行间距

5.8.7设置文档注释头

5.8.8设置项目的编码格式

5.8.9设置自动编译

5.8.10省电模式

5.9 IDEA常用快捷键

5.10 Moudle概念与使用

5.10.1 Moudle概念介绍

5.10.2创建项目与添加模块

5.10.3删除模块

5.11 IDEA代码模板

5.11.1代码模板分类

5.11.2 常用代码模板

5.11.3 修改代码模板

5.12 IDEA断点调试

5.12.1辅助程序

5.12.2断点调试快捷键

5.12.3断点调试之查看表达式

六、IDEA中编写程序

6.1程序一

6.2程序二

6.3程序三

6.4 IDEA中包的解析

6.4.1 整体概述

6.4.2包的作用

6.4.3包的好处

6.4.4包的分类

6.4.5创建包

6.5 通配符*代表所有类

6.6方法习题加练

6.5.1习题一

6.5.3习题二

七、方法的重载

7.1概念

7.2作用

7.3方法重载的使用

7.4相关疑问

​​​​​​​八、总结


一、课程说明

1.1课程简介

  • 方法
  • break、continue、return在方法中的应用
  • 方法的重载

1.2课程收获

  • 可理解Java中方法的优点
  • 可理解Java中方法的分类
  • 可理解方法重载的特点与好处
  • 可了解包的作用

二、方法

2.1需求演示

2.1.1《吃鸡体验》流程分析

2.1.2吃鸡体验流程传统实现

2.1.3疑问

如果有第2、3、N位用户应该怎么办?

2.1.4需求衍生

对这段重复执行的代码片段进行封装,并且做到“随时任意使用

2.2 初识方法

2.2.1 何为方法
2.2.1.1生活中
  • 一般是指为达到某种目的而采取的一种行为方式。
2.2.1.2程序中
  • 方法就是对重复执行的代码片段处理的行为方式,它可以对重复执行地代码片段进行封装,并可做到随时任意使用,提升程序开发效率

2.2.2 方法的分类
2.2.2.1系统提供的方法
  • 常用方法
    • println()
    • nextInt()
    • nextDouble()
    • next()
2.2.2.2用户自定义的方法
  • 无返回值、无参数
  • 无返回值、有参数
  • 有返回值、无参数
  • 有返回值、有参数
2.2.3用户自定义的方法
2.2.3.1无返回值、无参数
  • 修饰符 void 方法名称(){

                   代码块

        }  

  • 使用无返回值,无参数方法完成,《吃鸡体验流程》

  • 注意事项
    • 在Java中,方法是不支持嵌套的,只能编写在类中,或者编写在其它方法的外面
      •  修饰符 void 方法名称(){

                 代码块

         }

    • 仿照main方法编写
    • 当使用java命令来运行字节码文件的时候,会自动找到程序的入口,也就是main方法,如果找到main()方法则就从main方法中的第一条语句开始逐行向下执行。
    • 因此得到,用户自定义的方法不会自动执行,则需要方法的调用
    • 调用方法的语法格式:类名.方法名称()
    • 简述方法执行流程
  • 结论
    • 方法的好处:
      • 使程序变得更简短而清晰。
      • 有利于程序维护。
      • 使程序变得更简短而清晰。
      • 提高代码的复用性。
      • 一个方法编写好以后可以调用任意多次
  • 需求拓展
    • 如何通过方法完成当前是第几位用户开始体验
2.2.3.2无返回值、有参数
  • 修饰符 void  方法名称(参数类型 参数名称,……){

                代码块

        }  

利用无返回值,有参数方法完成当前是第几位用户开始体验

  • 程序的执行流程
  • 总结
    • 有利于程序维护
    • 提高代码的复用性
    • 暂时方法的修饰符编写为public static
    • 返回值类型有两种情况:
      • 第一种:无返回值类型,也就是编写为void
      • 第二种:有(带)返回值类型(基本数据类型,引用数据类型中的任何一种)
    • 方法名称也就是:标识符
      • 建议:方法名称编写为实现该方法功能的单词,比如:sum
      • 建议:方法名称采用驼峰命名法,比如JavaAndBigData
    • 参数类型有两种情况:
      • 第一种:无参数
      • 第二种:有参数(基本数据类型,引用数据类型中的任何一种)
    • 方法体也就是:编写该方法实现具体功能的代码
    • 带参方法的注意事项
      • 参数编写在方法名称后面的小括号中
      • 每个参数都必须编写为:数据类型 参数名,多个参数之间使用英文逗号隔开
      • 参数名也就是标识符,建议:编写单词,最好采用驼峰命名法
      • 在编写方法时,未知的数称为形式参数,简称形参,比如:n就是形参
      • 在调用方法时,给具体的值称为实际参数,简称实参
        • 其实,也就是:实参的值赋给形参的变量名称,必须保证实参与形参的个数一致、类型一致、顺序一致
        • 当方法是无返回值类型时,在调用方法时,只需要编写调用方法即可,不需要将调用后的结果输出。
    • 参数方法的练习
      • 使用方法完成计算两个整数的差
        • 分析得到:
          • 该方法有未知的数,则就可以编写为带参数的方法完成,比如int a,int b 建议:实参最好编写为键盘接收用户输入
          • 该方法实现减法功能,因此方法名编写为sub
    • 方法什么时候编写为带参?
      • 该方法中有未知数时,则就可以编写为带参的方法完成
2.2.3.3有返回值、无参数
  • 修饰符 返回值类型 方法名称(){

                代码块

        }  

  • 使用有返回值,无参数方法实现两个整型数字之和,在main方法中进行调用时,将得到的结果返回和main方法中另一个整型变量进行相加运算并输出结果。
  • 带返回值类型方法的注意事项
    • 当方法带有返回值类型时,则建议:在调用处进行方法的处理,否则调用后没有结果输出
    • 如果方法带有返回值类型,则就不能编写为void,也就是:编写返回结果的对应数据类型,比如:结果是3对应数据类型为int
    • 当方法带有返回值类型时,则必须要在方法体中编写return,否则就出现编译错误,其中return表示返回
  • 程序的执行流程
  • 方法什么时候编写为带返回值类型的?
    • 方法只有一个结果,则就可以编写为带返回值类型的方法完成
2.2.3.4有返回值、有参数
  • 修饰符 返回值类型 方法名称(参数类型 参数名称,……){

                代码块

        }  

  • 使用有返回值,有参数方法实现任意两个整型数字之和,在main方法中进行调用时,将得到的结果返回和main方法中另一个整型变量进行相加运算并输出结果。
  • 程序的执行流程
  • 带返回值类型方法的注意事项
    • 如果方法带有返回值类型,则就不能编写为void,也就是:编写返回结果的对应数据类型,比如:结果是3对应数据类型为int
    • 当方法带有返回值类型时,则必须要在方法体中编写return,否则就出现编译错误
    • 其中return表示返回

    • 当方法带有返回值类型时,建议:在方法的调用处要进行处理
2.2.3.5说明
  • 暂时方法的修饰符编写为public static
  • 返回值类型有两种情况:
    • 第一种:无返回值类型,也就是编写为void
    • 第二种:有(带)返回值类型(基本数据类型,引用数据类型中的任何一种)
  • 方法名称也就是:标识符
    • 建议:方法名称编写为实现该方法功能的单词,比如:sum
    • 建议:方法名称采用驼峰命名法,比如JavaAndBigData
  • 参数类型有两种情况:
    • 第一种:无参数
    • 第二种:有参数(基本数据类型,引用数据类型中的任何一种)
  • 方法体也就是:编写该方法实现具体功能的代码
2.2.4方法的核心提炼
2.2.4.1 方法的本质
  • Java方法是代码2语句的集合,它们在一起执行一个功能。
  • 方法是解决一类问题的步骤的有序组合
  • 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。
  • 我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
2.2.4.2 方法的优点
  • 使程序变得更简短而清晰。
  • 有利于程序维护。
  • 可以提高程序开发的效率。
  • 提高了代码的重用性。
2.2.4.3 方法的定义
  • Java的方法也叫函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法,包含以下语法:
    • 方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
    • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
    • 返回值类型 方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
    • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
      • 形式参数:在方法被调用时用于接收外界输入的数据。

      • 实参:调用方法时实际传给方法的数据。

    • 方法体:方法体包含具体的语句,定义该方法的功能。

三、break、continue、return的区别

3.1 break

  • break在哪使用
    • 在switch case中使用,还可以在循环中使用
  • break作用:
    • 当遇到break,则结束当前整个switch case或者结束当前整个循环,执行外面的语句

3.2 continue

  • continue在哪使用
    • 只能在循环中使用
  • continue作用:
    • 当遇到continue,则结束当前这一次循环,继续执行下一次循环

3.3 return

  • return在哪使用
    • 在方法中使用
  • return作用:
    • 当遇到return,则结束当前这个方法的执行,返回到方法的调用处
  • return特殊情况:
    • 当方法是无返回值类型时,则可以在方法体中使用return,但是必须编写为return;

3.4 break、continue、return的使用场景

  • 根据具体业务需求

四、方法的随堂练习

4.1练习一

  • 判断一个三位整数,是否是水仙花数
  • 结论
    • 其实main方法中也可以使用return 但是只能编写为return;表示结束当前main方法的执行

4.2练习二

  • 使用方法完成,判断一个数是奇数还是偶数
  • 结论
    • 当方法带有返回值类型,并且是二选一时,则有如下三种形式的写法
    • 当方法带有返回值类型时,则建议:在调用处进行方法的处理,否则调用后没有结果输出

4.3练习三

  • 使用方法完成,根据星期,得到每天要做的事情
  • 结论
    • ​​​​当方法带有返回值类型,如果在case或者default中编写return,则return后面就不需要再编写break,否则出现编译错误,无法访问的语句

4.4练习四

  • 使用方法完成,判断一个数是否是两位的正数
    • 分析得到
      • 因此得到:该方法就编写为带参且带有返回值类型的方法完成
      • 该方法只有一个结果,则就可以编写为带返回值类型的方法完成,比如:String
      • 该题实现判断功能,因此方法名编写为judge
      • 该方法中有未知的数,则就可以编写为带参数的方法完成,比如double num

  • 使用方法完成,判断一个数是否是两位的正数

4.5练习五

  • 使用方法完成,判断一个数是否是水仙花数
    • 注意
      • 该方法只有一个结果,则就可以编写为带返回值类型的方法完成
        • 当方法实现判断功能,并且是2选1时,则就可以返回boolean类型的值
        • 当方法返回boolean类型的值时,方法名称建议前面编写为is+实现功能单词,比如isFlower()
      • 该方法中有未知的数,则就可以编写为带参数的方法完成,比如int num
      • 因此得到:该方法就编写为带参且带有返回值类型的方法完成

4.6练习六

  • 使用方法完成,输出所有三位数中的水仙花数
    • 分析得到
      1. 该题实现输出功能,因此方法名编写为print
      2. 该方法中没有未知的数,也就是100~999,因此不需要编写参数
      3. 该方法的结果可能会有多个,也就是:编写为无返回值类型的方法
      4. 因此得到:该方法就编写为无参无返回值类型的方法完成

  • 结论
    • .在java中,方法之间是可以相互调用的,除了main方法之外
    • 当方法带有返回值类型时,建议:在调用处进行方法的处理
      • 处理方法:比如将结果输出,或将结果进行判断……

五、IDEA

5.1 Java语言编译器介绍

记事本

Eclipse 微服务时代

IDEA

5.2 IDEA相关介绍

5.2.1 IDEA自身

集成开发环境,其实本质上就是一种用于提供程序开发环境的应用程序,具体包含代码的编写功能,分析功能,编译功能,调试功能等一体化的软件开发服务

目前主流的大型项目都是分布式部署的,结构都是类似于这种多Moudle结构

5.2.2 IDEA所在的公司

JetBrains是一家的软件公司,该公司最牛逼的一款产品就是Java编程语言所用的集成开发环境:Intellig IDEA。

公司旗下还有其它的产品,比如:

5.3 IDEA下载与安装

5.3.1 IDEA下载

从idea官网https://www.jetbrains.com/idea/下载软件

5.3.2 IDEA安装

第一步:双击安装程序

第二步:省略……下一步

第三步:不勾选任何选框

第四步:不勾选任何选框

5.4 IDEA破解

5.4.1第一步:点击试用idea

5.4.2第二步:打开或者新建一个java项目
5.4.3第三步:将破解jar程序拖入idea窗口中

5.4.4第四步:关闭idea并重启
5.4.5第五步:查看安装的插件

第六步:选择开启软件自动重置试用期

到此idea就能无限使用啦!!!

5.5 弹窗解决

打开idea总会弹出如下窗口,使用idea会很不方便

解决办法如下:

第一步:选择file->setting设置

第二步:关闭自动访问服务器安全验证信息

5.6 IDEA卸载

控制面板直接点击卸载就可以啦

5.7 IDEA页面介绍

5.8 IDEA常用设置

5.8.1进入设置界面

如何进入设置界面

5.8.2主题设置

5.8.3自动导包设置

5.8.4忽略大小写提示

5.8.5多个类多行显示,不隐藏

当打开多个类时,一行显示不下,会隐藏最开始打开的类,通过如下设置,可以让类多行显示

5.8.6设置字体大小、行间距

5.8.7设置文档注释头

5.8.8设置项目的编码格式

现在开发普遍都使用UTF-8编码,具体设置如下

5.8.9设置自动编译

每次写完代码,不用运行就可以完成自动编译

5.8.10省电模式

5.9 IDEA常用快捷键

5.10 Moudle概念与使用

5.10.1 Moudle概念介绍

在Eclipse中我们有WorkSpace(工作空间)和Project(工程)的概念,在IDEA中只有Project(工程)和Moudle(模块)的概念,对应关系为:

总结:

如果建立的项目是空项目,模块之间没有任何关联,

此时空项目可以当做工作空间来用,模块可以当做独立的项目来用。

从Eclipse转过来的人总是下意地要在同一个窗口管理n个项目,这在IDEA中会无法做到的,IDEA提供的解决方案是打开多个项目实例,即打开多个窗口,即:一个Project打开一个Window窗口

在IDEA中Project是最顶级的级别,次级别是Moudle,一个Project可以有多个Moudle,目前主流的大型项目都是分布式部署的,结构都是类似于这种多Moudle结构

5.10.2创建项目与添加模块

第二步:建立模块

打开项目管理

检查模块在项目目录下

至此模块就建立好啦

5.10.3删除模块

注意:该模块只是从列表中删除了,但是还在本地磁盘中

5.11 IDEA代码模板

配置一些常用的代码的字母缩写,例如输入psvm生成main方法,这样的模板设置就是代码模板

5.11.1代码模板分类
  1. Live Templates:可以做用户的个性化定制
  2. Postfix Completion:只能用,不能改
5.11.2 常用代码模板

psvm

sout

5.11.3 修改代码模板

5.12 IDEA断点调试

5.12.1辅助程序
public class Demo {
    public static void main(String[] args) {
        int i = 1;
        int[] arr = {1,2,3};
        arr[0] = 4;
        test();
        System.out.println("结束");
    }

    private static void test() {
        for(int i = 0 ; i < 100 ; i++){
            System.out.println(i);
        }
    }
}
5.12.2断点调试快捷键

List  Set  Map Mybatis SpringMVC

5.12.3断点调试之查看表达式

当断点执行到某一步的时候,我们可以通过右键点击Evaluate Expression执行查看表达式,在搜索框中输入自己想要查看的变量值,如下所示:

六、IDEA中编写程序

6.1程序一

  • 需求:判断一个整型数字是奇数还是偶数

  • 结论
    • 体验用idea编程的智能性

6.2程序二

  • 需求:判断一个数是否是两位的正数 * <p> * 注意:在idea中,其实也可以现在main方法中编写该题的所有思路,然后将单独实现的某个功能编写为方法 * 就是在idea中,可以先调用方法,然后出现错误,当main()方法中所有的思路编写完以后再使用快捷键生成该方法 * 生成方法的操作步骤: * 第一步:光标放在当前Java源文件的任意位置,按住shift+F2 表示光标自动跳转到语法错误的位置 * 第二步:再按Alt+Enter表示修复,选择第一项,表示在指定的类中创建指定的方法,按回车键即可 * 第三步:然后在生成的方法体中编写实现具体功能的代码
  • 结论
    • 体验使用idea在main方法中实现编程思路再创建方法的过程

6.3程序三

  • 需求:使用方法完成,计算一个三位正整数的各个位之和 
  • 结论
    • 体验使用idea在main方法中实现编程思路再创建方法的过程
    • 体验方法是特殊功能的封装

6.4 IDEA中包的解析

6.4.1 整体概述

package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。它的格式为:

package 顶层包名.子包名 ;

举例:pack1\pack2\PackageTest.java

package pack1.pack2; //指定类PackageTest属于包pack1.pack2 
public class PackageTest{ 
    public void display(){ 
        System.out.println("in method display()"); 
    } 
} 

包对应于文件系统的目录,package语句中,用 “.” 来指明包(目录)的层次;

包通常用小写单词标识。通常使用所在公司域名的倒置:com.yg.xxx

www.baidu.com

com.baidu.百度地图

com.baidu.百度外卖

源文件布局:

6.4.2包的作用
  • 包帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:MVC的开发模式
  • 包可以包含类和子包,划分项目层次,便于管理
  • 解决类命名冲突的问题
  • 控制访问权限(访问权限修饰符)

包package:类似于文件夹,其实包中可以存放包的,也可以存放Java源文件

6.4.3包的好处
  • a
    • Hello.java
  • b
    • Hello.java
6.4.4包的分类

  • 系统提供的包
    • java.lang
      1. Java语言基础包,也就是说:该包中的类可以直接使用不需要导入包
      2. 常用的类,比如String、System……
    • java.util
      1. 工具包
      2. 常用的类,比如:Scanner
  • 用户自定义的包
6.4.5创建包
  • 注意事项:
    • 包在src目录中创建或者在指定的包中创建
      • 创建包有两种方式,分别是:
        • 第一种方式:先创建包,然后再创建类
        • 第二种方式:创建类的同时创建包
        • 当创建类的同时创建包时,如果该包不存在,则会在指定位置创建包,并且将类存放在包中

        • 当创建类的同时创建包时,如果该包存在,则会将指定的类存放在指定的包中


        • 包名建议编写单词,并且建议包名全部小写
        • 当一个类在指定的包中存放时,则该类中的第一行必须是包的声明,否则该类存放在src目录中
          • 声明包语法格式为:package 包名;
        • 其实包名也可以编写为域名反写
          • www.baidu.com-> com.baidu.wwww
          • com.hy.program

6.5 通配符*代表所有类

  • 为使用定义在不同包中的Java类,需用import语句来引入指定包层次下所需要的类或全部类(.*)。import语句告诉编译器到哪里去寻找类。
  • 语法格式:

import 包名. 类名;

  • 应用举例:
import pack1.pack2.Test; //import pack1.pack2.*;表示引入pack1.pack2包中的所有结构 
public class PackTest{ 
    public static void main(String args[]){ 
        Test t = new Test(); //Test类在pack1.pack2包中定义 
        t.display(); 
    } 
}

6.6方法习题加练

6.5.1习题一

6.5.3习题二
  • 需求:输出2000~2021年中所有的闰年

1.在默认情况下,会在当前包中找该类,如果找到该类则直接使用,否则就出现编译错误
2.导入包
当在一个类中,如果想使用其它包中的类,则必须要导入包
3.导入包的方式有三种
第一种方式:import 包名.类名;
第二种方式:import 包名.*;(其中*代表所有类)
第三种方式:在使用类时,直接编写完整类名
4.当使用快捷键生成方法时,默认是private static 其中private表示私有的,也就是只能在本类中使用该方法,则改为public static
5.在IDEA中,建议设置为自动导入包

七、方法的重载

7.1概念

  • 在一个类中允许同时存在两个或者两个以上拥有相同名字的方法,且参数列表不同,与返回值类型无关,这样的方法就可以构成方法的重载(overload)
    • 参数列表:参数的个数不同,参数的数据类型不同,参数类型的顺序不同。

7.2作用

  • 方便程序人员快速对方法进行调用,在使用时相对更灵活

7.3方法重载的使用

  • 需求:编写程序实现任意类型数值之和,比如说:
    • int a,int b
    • int a,int b,int c
    • int a,int b,float c
    • float a,int b,int c

7.4相关疑问

  • 当构成方法重载后,如何确定执行的是哪个方法?
    • 在调用时会自动根据实参找相匹配的方法执行
  • 方法重载的验证
  • 方法重载的特点:
    •  要求方法名称必须相同
    • 参数列表至少有一要素不同
      • 参数的个数
      • 参数的类型
      • 参数的类型顺序
    • 和返回值类型无关

​​​​​​​​​​​​​​八、总结

  • 方法
  • break、continue、return在方法中的应用
  • 方法的重载
  • IDEA的下载与安装及使用说明
  • IDEA的配置
  • IDEA的快捷键
  • IDEA中编写程序
  • IDEA中包的解析
  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值