Java学习笔记 第五天
第一章 开发工具 Intellij IDEA
1.1 开发工具概述
IDEA是专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。
它可以极大的提升开发效率。可以自动编译,检查错误。企业中,使用的就是IDEA开发。
免费的IDE当中,Eclipse
收费的IDE当中,Intellij IDEA
免费+收费所有的IDE当中,全世界用的最多的就是Intellij IDEA
1.2 IDEA软件安装
转载自博主“daponi”,博客链接:IDEA安装教程
1.3 IDEA项目结构
每个项目(project)下都有模块和External Libraries(这个东西实际上就是jdk而已)
每个模块(module)下有两个文件src文件夹和.iml文件(与开发无关,是IDEA的一些配置信息)。我们所有的代码都要写在src文件夹下
包(package):
在src文件夹下创建package。名称规范: 只使用英文小写,数字,英文句点。如:com.cqu.day04.demo01 该名称不是某个文件的名称,而是一个多层级文件(com—>cqu—>day04—>demo01)的嵌套名称。包的名称是指这些多层级文件夹整体的名称,名称里面的点就代表分层的作用
在包下创建class(.java)文件即可开始开发源代码
快速编写main方法:psvm(public static void main(String[] args){})
快速输出:sout(System.out.println())
-
IDEA会对代码文件自动保存,无需ctrl+s
-
IDEA对.java文件编译时产生的.class字节码文件会生成在项目文件夹下的out—>production—>day04code—>com—>cqu—>day04—>demo01路径下
1.4 IDEA的基本设置和常用快捷键
-
设置alt + /快捷键来进行代码提示
File—>Settings—>keymap—>duplicate,然后回车—>搜索basic—>双击删除原快捷键ctrl + 空格—>双击设置快捷键为alt + / -
常用快捷键
快捷键 | 功能 |
---|---|
Alt+ Enter | 导入包,自动修复代码 |
Ctrl + Y | 删除光标所在行 |
Ctrl + D | 复制光标所在行内容,插入光标位置下面 |
Ctrl + Alt + L | 格式化代码 |
Ctrl + / | 单行注释,再按取消注释 |
Ctrl + Shift + / | 选中代码注释,多行注释,再按取消注释 |
Alt + Ins | 自动生成代码,toString,get,set等方法 |
Alt + Shift + 上下箭头 | 移动当前代码行 |
第二章 方法
2.1 定义方法格式的详解
方法三要素:
返回值类型
方法名
参数列表
方法的定义格式
修饰符 返回值类型 方法名(参数列表){
// 代码省略;
return 方法的返回值;
}
- 修饰符: public static固定写法
- 返回值类型: 表示方法运行结果的数据类型,方法执行后将结果返回到调用处
- 参数列表: 方法在运算过程中的未知数据,调用方法时需进行传递
- return: 将方法执行后的结果返回给调用处,方法执行到return,整体方法运行结束
注意:
- 当方法无返回值时,要将返回值类型写为void
- 方法的调用方式有三种:
单独调用,赋值调用,打印调用。有返回值类型的方法三种调用方式均可,无返回值类型的方法只能进行单独调用。
2.2 方法的注意事项
- 1. 方法应该定义在类当中,但是不能在方法中再定义方法。不能嵌套
- 2. 方法定义的前后顺序无所谓
- 3. 方法定义后不会执行,如果希望执行,必须进行调用:单独调用,赋值调用,打印调用
- 4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有
- 5. return后的返回值数据,必须和方法的返回值类型,对应起来
- 6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写"return;",其功能也仅仅是代表方法结束而已。
- 7. 对于void方法当中最后一行的return可以省略不写。
- 8. 一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行,两个return不能连写
如:
public class Demo04MethodNotice {
public static int method1(){
return 10;
}
public static void method2(){
// return 10; // 错误的写法!方法没有返回值,return后面就不能写返回值
return; // 正确写法,代表结束方法而已。
}
public static void method3(){
System.out.println("AAA");
System.out.println("BBB");
// return; // 最后一行的return可以省略
}
public static int getMax(int a,int b){
if (a > b){
return a;
}else{
return b;
}
}
}
2.3 方法的重载
重载的意义: 对于功能类似的方法来说,因为参数列表不一样,而需要记住那么多不同的方法名称,太麻烦
方法的重载(OverLoad): 多个方法的名称一样,但是参数列表不一样。
好处: 只需要记住唯一一个方法名称,就可以实现多个类似的功能
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20));
System.out.println(sum(10,20,30));
System.out.println(sum(10,20,30,40));
// System.out.println(sum(10,20,30,40,50)); // 找不到任何方法来匹配,所以错误
}
public static int sum(int a,int b){
System.out.println("有两个参数的方法执行!");
return a + b;
}
public static int sum(int a, int b , int c){
System.out.println("有三个参数的方法执行!");
return a + b + c;
}
public static int sum(int a, int b, int c,int d){
System.out.println("有四个参数的方法执行");
return a + b + c + d;
}
}
2.3.1 方法重载与下列因素有关:
- 参数的个数不同
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20));
System.out.println(sum(10,20,30));
System.out.println(sum(10,20,30,40));
// System.out.println(sum(10,20,30,40,50)); // 找不到任何方法来匹配,所以错误
}
public static int sum(int a,int b){
System.out.println("有两个参数的方法执行!");
return a + b;
}
public static int sum(int a, int b , int c){
System.out.println("有三个参数的方法执行!");
return a + b + c;
}
public static int sum(int a, int b, int c,int d){
System.out.println("有四个参数的方法执行");
return a + b + c + d;
}
}
- 参数的类型不同
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10.2,20));
System.out.println(sum(10,20));
}
public static int sum(double a,int b){
System.out.println("前double,后int方法执行");
return (int)(a + b);
}
public static int sum(int a,int b){
System.out.println("前int,后int方法执行!");
return a + b;
}
}
- 参数的多类型顺序不同
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20.8));
System.out.println(sum(10.2,20));
System.out.println(sum(10,20));
}
public static int sum(int a,double b){
System.out.println("前int,后double方法执行");
return (int)(a + b);
}
public static int sum(double a,int b){
System.out.println("前double,后int方法执行");
return (int)(a + b);
}
public static int sum(int a,int b){
System.out.println("前int,后int方法执行!");
return a + b;
}
}
2.3.2 方法重载与下列因素无关
- 与参数的名称无关
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20));
}
public static int sum(int a,int b){
System.out.println("参数名为a和b的方法执行!");
return a + b;
}
// 错误写法!与参数的名称无关
// public static int sum(int x,int y){
// System.out.println("参数名为x和y的方法执行!");
// return x + y;
}
}
- 与方法的返回值类型无关
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20));
}
public static int sum(int a,int b){
System.out.println("有两个参数的方法执行!");
return a + b;
}
// 错误写法,与返回值的类型无关
// public static double sum(int a,int b){
// System.out.println("有两个参数的方法执行!");
// return a + b ;
}
}