# 一个33岁新手小白在黑马学习程序员的第三天

0 阅读4分钟

在授课老师波哥的带领下,Java基础语法中的Scanner键盘录入,方法基本的定义和调用,分支结构 if 。

1、Scanner键盘录入

Scanner键盘录入的三个步骤:

  1. 导包。2. 召唤精灵。3. 指挥精灵干活
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in)

方法基本的定义和调用

方法介绍:

方法(函数):一段具有独立功能的代码块,不调用就不执行 方法的出现:

  1. 可以将挤在一起的臃肿代码,按照功能进行分类管理,提高维护性
  2. 提高代码的复用性
代码块:
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);

    }
}

ae0cfe8fa0d5d1e9bee9da6b49062074.png

方法通用定义格式

方法定义核心规则:返回值类型决定是否需要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(表达式) {
    case1:
	语句体1;
	break;
    case2:
	语句体2;
	break;
    …
    default:	
	语句体n+1;
	break;
}

if 适合做条件是区间判断的情况 switch 适合做:条件是比较值的情况、代码优雅、性能较好