文章目录
一、IDEA
IDE 俗称集成开发环境。可以进行非常丰富的操作,让写代码更加丝滑。而IDEA又是其中佼佼者。
- 开发具体的项目,有固定的项目结构,如下:
使用IDEA可以很容易地管理这个多层级结构。
1. IDEA初体验
我这里安装的是收费版,功能多些,收费版有30天试用期。也可凭教育邮箱免费申请。当然想永久free使用的话,可以私我。还是支持正版。
按图操作
还可以,创建更小的“包”
包名有规定:英文小写or英文句点or数字
比如把包名输入"Test.base.day4"
这个包最后形成了一个多层级的文件夹
2. 使用IDEA写HelloWorld
- 新建一个java文件
- 可以看到自动生成了文件头
- 输入psv按回车,自动生成main函数
- 输入sout按回车,自动生成打印函数
注: IDEA每进行一次修改就会自动保存,也可以使用Ctrl S
保存(手动保存没意义)
- 运行程序(快捷键
Ctrl Shift F10
),结果会直接显示在下方
3. IDEA常用快捷键
快捷键 | 功能 |
---|---|
Alt+Enter | 导入包,自动修正代码 |
Ctrl+Alt+L | 格式化代码 |
Ctrl+/ | 单行注释 |
Ctrl+Shift+/ | 选中代码注释,多行注释,再按取消注释 |
Alt+Insert | 自动生成代码,toString,get,set等方法 |
Alt+Shift+ 上下箭头 | 移动当前代码行 |
4. 项目文件夹相关操作
4.1 关闭当前项目
4.2 删除项目
(不会真删,只是删了项目记录)
4.3 打开项目
4.4 删除模块
(不会真删,文件还在)
4.5 导入模块
无脑下一步、完成、同意、确定之类的就行
二、方法进阶
1. Demo:打印矩形
先写一个小Demo,打印一个5*20的矩形,由*
填充。(要用方法实现)
- 先来实现打印一行,要打印20个星,就是循环20次,就在IDEA中输入:
20.fori
然后输入回车
,把 i 替换为 j 。然后输入sout
然后输入回车
,得到一个打印函数。
怎么是一列?因为println
就是打印后换行,如果不希望换,就用print
- 打印出整个矩形。在循环内部,输入
5.fori
然后输入回车
。移动到刚刚的打印行,按住Alt shift 上下键
把打印函数移动到较小的循环内部。
现在又不换行了怎么办?在小内循环外部,使用println
换行。(我发现我把行列弄反了,把循环内数字改了下)
- 要用简单方法实现。
2. 方法的完整定义格式
2.1 方法再解释
还记得我们怎么做数学题的嘛?举个例子,鸡兔同笼
。
- 我们会解答
鸡兔同笼
问题的方法,这个方法叫做二元一次方程组
。 - 不能只有方法吧?首先我得知道有多少兔子多少鸡,多少脚。这个是给我们的信息。有个专业术语叫
参数
。 - 我们最后解答出了答案,得写在卷子上啊。这个答案就是我们的
返回值
,返回值的使用者是老师,卷子是返回值的接收者。(关于接收者,可以理解为卷子是一个变量,把答案赋值给了它。关于使用者,这就是面向对象的概念了,老师是一个对象,我们不需要知道老师三维怎样改卷,我们只要知道,把卷子给她,她能给我们返回一个分数就够了。可以暂时理解为,别人已经写好的,超级巨大方法。)
- 画成图是这样的
2.2 方法定义的完整格式
修饰符 返回值类型 方法名称(参数类型 参数名称, ...){
方法体;
return 返回值;
}
- 修饰符: 当前阶段学习的修饰符,只有
public static
一种 - 返回值类型: 最终产生的结果是什么样的数据。void的意思是空的、不存在的,表明这个方法只能直接调用,无返回值。
- 方法名称: 和变量一样,小驼峰
- 参数类型 参数名称: 多个参数以
,
隔开。参数名称即变量名称。 - return: return会立即停止当前方法;把返回值返回给调用处
- 返回值: 必须和方法名称前面的返回值类型,保持对应。
2.3 一些练习
- 下面是一个两数相加的Demo
- 下面是一个两数是否相等的Demo
- 下面是一个求阶和的Demo
2.4 方法的重载(overload)
我们之前写了一个让两个整数相加的方法,如果有一个是浮点呢?
我们可以写多个这样的方法,一个叫“sum2Int”,一个叫"sumIntDouble",一个叫"sumDoubleInt",一个叫"sumDoubleDouble"。。。
这样调用起来多麻烦,能不能都叫"sum"呢?
- 方法的重载: 可以定义功能相似的一组函数,函数名一模一样,具体使用哪个函数,由传入的参数决定。(有一个专业术语,描述这种同一个方法传入不同参数执行不同功能的行为,叫 多态 。)
- Demo:
- 方法重载的注意事项:
- 方法重载是方法名 相同,参数列表 不同
- 参数列表 可以是个数不同,可以是类型不同,可以是多类型顺序不同。
- 与形参 无关,与返回值 无关。
把鼠标移动到 println 上,按住ctrl
点击一下鼠标左键,查看 println 源码
- 原来,不管输入什么,它都能打印到终端的原因是使用了重载
- newLine()方法是换行的意思。这就是为什么它会换行(还记得打印矩形的Demo嘛?)