在授课老师波哥的带领下,Java基础语法中的Scanner键盘录入,方法基本的定义和调用,分支结构 if 。
1、Scanner键盘录入
Scanner键盘录入的三个步骤:
- 导包。2. 召唤精灵。3. 指挥精灵干活
public static void main(String[] args) {
Scanner sc = new Scanner(System.in)
方法基本的定义和调用
方法介绍:
方法(函数):一段具有独立功能的代码块,不调用就不执行 方法的出现:
- 可以将挤在一起的臃肿代码,按照功能进行分类管理,提高维护性
- 提高代码的复用性
代码块:
public class MethodTest {
public static void main(String[] args) {
getMax();
}
public static void getMax(){
int a = 10;
int b = 20;
int max = a > b ? a : b;
System.out.println("最大值为:" + max);
}
}
方法的调用流程
方法没有被调用的时候,在方法区中的字节码文件中存放 方法被调用的时候,需要进入到栈内存中运行 方法区:字节码文件加载时进入的内存 栈内存:方法运行时入栈,方法运行结束出栈
public class MethodDemo2 {
public static void main(String[] args) {
// 这里调用getMax方法时,传入的 10 和 20 是【实参】
getMax(10,20);
}
// 这里定义getMax方法时,括号里的 int num1 和 int num2 是【形参】
public static void getMax(int num1, int num2) {
int max = num1 > num2 ? num1 : num2;
System.out.println(max);
}
}
方法通用定义格式
方法定义核心规则:返回值类型决定是否需要return(void 无返回,其他类型必须 return 对应类型的值),参数列表要和业务需求的输入数据类型 / 数量匹配; 命名规范:方法名用小驼峰(getDoubleSum),见名知意(避免 abc、test 这种无意义名字); 类型匹配:参数类型、返回值类型要和业务数据类型一致(小数用 double,整数用 int,文本用 String)。
方法注意事项
1.方法不调用就不执行 2.方法与方法之间是平级关系,不能嵌套定义 3.方法的编写顺序和执行顺序无关 4.方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写 5.如果要编写return,后面不能跟具体的数据。 6.return语句下面,不能编写代码,因为永远执行不到,属于无效的代码
方法重载
在同一个类中,定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系 (Overload)
简单记: 同一个类中,方法名相同,参数不同的方法 参数不同:个数不同、类型不同、顺序不同
分支结构 if
格式: if (判断条件) { 语句体; }
执行流程: 首先计算判断条件的结果 如果条件的结果为 true 就执行语句体 如果条件的结果为 false 就不执行语句体
格式: if (判断条件) { 语句体1; } else { 语句体2; }
执行流程: 首先计算判断条件的结果 如果条件的结果为 true 就执行语句体1 如果条件的结果为 false 就执行语句体2
格式: if (判断条件1) { 语句体1; } else if (判断条件2) { 语句体2; } ... else { 语句体n+1; } 执行流程: 首先计算判断条件1的值 如果值为true就执行语句体1;如果值为false就计算判断条件2的值 如果值为true就执行语句体2;如果值为false就计算判断条件3的值 ... 如果没有任何判断条件为true,就执行语句体n+1。 if 语句注意事项 if 语句中,如果大括号控制的是一条语句,大括号可以省略不写 if 语句的 ( ) 和 { } 之间不要写分号 if 语句的 ( ) 中需要产生 boolean 类型的结果,根据结果决定程序的走向
分支结构 switch
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
if 适合做条件是区间判断的情况 switch 适合做:条件是比较值的情况、代码优雅、性能较好