20200308 at home
目录:JavaStudy04 IDEA 方法
Part one 总结
一、今日内容+教学目标
二、今日Bug
https://blog.csdn.net/MF507/article/details/104535115
三、今日Question
https://blog.csdn.net/MF507/article/details/104731426
四、今日Up
https://blog.csdn.net/MF507/article/details/104729951
Part Two 内容
一、开发工具IntelliJ IDEA
1.1 概述
是针对Java的集成开发工具。自动编译,检查错误。公司开发通用。
1.2 IDEA安装
建议安装视频版本学习
代码写作src
包域名颠倒过来英文.数字和小写字母
简写 psv/psvm
简写 sout
1.3 IDEA常用快捷键
快捷键 | 功能 |
---|---|
ALT+Enter | 导入包,自动修正代码 |
Ctrl+Alt+L | 格式化代码 |
ALT+/ | 显示简写所代表的全语句信息 |
二、方法
2.1格式
修饰符 返回值类型 方法名称(参数类型 参数名称,…){
方法体;
return 返回值;
}
参数=进入方法的原料
返回值=方法出来的产出物
修饰符现阶段固定写法:public static
返回值类型:字面意思
方法名称:小驼峰
参数类型:进图方法的数据类型
参数名称:进入方法的变量名称
PS:参数如果多个,用,进行分隔
方法体:方法需要做的事
return:作用一是停止当前方法二是返回值给调用处
返回值类型必须和方法名称前一致
2.3 定义方法的两个明确
2.3调用方法的流程图
2.4定义方法练习
(一)比较两个整数相等
优化
(二)计算1-100的和
优化
(三)实现不定次数打印
优化后
2.5 调用方法的三种形式
2.6 对比有参数和无参数
2.7 对比有返回值和无返回值
有返回值:你帮我算,算完之后把结果告诉我。如定义一个方法,用来【求出】两个数字之和。
可以使用单独调用、打印调用或者赋值调用。
无返回值:你来计算,自己负责显示结果,不用告诉我。如定义一个方法,用来【打印】两个数字之和。
只能使用单独调用,不能使用打印调用或者赋值调用。
例子
package cn.itcast.day04.demo02;
/*
有返回值:你帮我算,算完之后把结果告诉我。如定义一个方法,用来【求出】两个数字之和。
可以使用单独调用、打印调用或者赋值调用。
无返回值:你来计算,自己负责显示结果,不用告诉我。如定义一个方法,用来【打印】两个数字之和。
只能使用单独调用,不能使用打印调用或者赋值调用。
*/
public class Demo04MethodReturn {
public static void main(String[] args) {
//我是一个main方法,我来调用你。
//我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
int num=getsum(1,3);
System.out.println(num);
System.out.println("=========");
System.out.println(getsum(1,3));//正确写法
getsum(1,3);//正确写法,但是返回值没有用到
System.out.println("=========");
printSum(3,8);
//对于void没有返回值的方法,只能单独,不能打印或者赋值
/* System.out.println(printSum(3,8));//错误写法
= System.out.println(void);*/
/*int num2=printSum(3,8);//错误写法
int num2=void;
System.out.println(num2);*/
}
//我是一个方法,我负责两个数字相加
//我有返回值int,谁调用我,我就把计算结果告诉他
public static int getsum(int a,int b) {
int sum=a+b;
return sum;
}
public static void printSum(int a,int b){
int sum=a+b;
System.out.println("结果是"+sum);
}
}
运行结果
2.8 使用方法时的注意事项
1、方法必须在类中,且方法与方法不能内嵌,定义顺序无关
2、方法定义后只有调用才执行,单独调用、赋值调用、打印调用三类
3、如果方法有返回值,必须写return 返回值;返回值类型必须一致;同时只有一个return被执行,两个return不能连写
4、没有返回值的方法不能写return后面的返回值,只能写return;(表示结束方法)或者不写return语句
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030813091677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01GNTA3,size_16,color_FFFFFF,t_70)
2.9 方法的重载
方法重载解决的是:功能类似因参数列表不同而需要多次调用不同方法名的问题
方法重载:方法名一样,参数列表不一样
使用范围:参数列表不同
1、参数个数不同
2、参数类型不同
3、参数多类型顺序不同
不可使用:
1、同一功能,参数名称不同
2、同一功能,返回值类型不同
如图所示
public class Demo06MethodOverload {
public static void main(String[] args) {
/* System.out.println(sumTwo(10,20));
System.out.println(sumThree(10,20,30));
System.out.println(sumFour(10,20,30,40));*/
System.out.println(sum(10,20));
System.out.println(sum(10,20,30));
System.out.println(sum(10,20,30,40));
}
public static int sum(int a,int b) {
System.out.println("有2个参数的方法执行!");
return a + b;//2个参数相加
}
//错误 参数名称不同
/* public static int sum(int x,int y) {
System.out.println("有2个参数的方法执行!");
return x + y;//2个参数相加
}*/
public static int sum(double a,int b) {
System.out.println("有2个参数的方法执行!");
return (int) (a+b);//2个参数相加
}
public static int sum(int a,double b){
System.out.println("有2个参数的方法执行!");
return (int)(a+b);//2个参数相加
}
public static int sum(int a,int b,int c){
System.out.println("有3个参数的方法执行!");
return a+b+c;//3个参数相加
}
public static double sum(int a,int b,int c,int d){
System.out.println("有4个参数的方法执行!");
return a+b+c+d;//4个参数相加
}
//错误 参数类型不同
/*public static int sum(int a,int b,int c,int d){
System.out.println("有4个参数的方法执行!");
return a+b+c+d;//4个参数相加
}*/
}
2.91 方法重载的练习
(一)比较两个数据是否相等
参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并在 main 方法中进行测试。
只比较了int结果未显示哪种类型
优化
30L表long类型,float 30.0F
(二)判断哪些方法时重载关系
连起来看
(三)模拟输出语句中的 println 方法效果
传递什么类型的数据就输出什么类型的数据,只允许定义一个方法名
println 。
package cn.itcast.day04.demo02;
//模拟println功能
//在调用输出语句时,println方法其实就是进行了多种数据类型的重载形式
public class Test05OverloadPrintln {
public static void main(String[] args) {
println(100);
println("hello");
println(true);
}
public static void println(byte num){
System.out.println(num);
}
public static void println(short num){
System.out.println(num);
}
public static void println(int num){
System.out.println(num);
}
public static void println(long num){
System.out.println(num);
}
public static void println(float num){
System.out.println(num);
}
public static void println(double num){
System.out.println(num);
}
public static void println(char num){
System.out.println(num);
}
public static void println(boolean is){
System.out.println(is);
}
public static void println(String str){
System.out.println(str);
}
}