1.输入
2.输出
3.方法的使用
3.1:什么是方法
3.2:方法的语法
3.3:方法的调用过程
3.4:实参和形参的关系
3.5:返回值的有无
4.方法的重载
4.1:重载要解决的问题
4,2:重载的使用
4.3:重载的规则
5.关于栈帧
5.1:什么是栈帧
5.2:栈帧包含
5.3:栈帧的应用
1.输入:
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
Scanner sc = new Scanner(System.in);
float salary = sc.nextFloat();
例:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//先读字符串,再读整数
String str = scanner.nextLine();//读入字符串
System.out.println(str);
int n = scanner.nextInt();//读入数据
System.out.println(n);
}
2.输出:
输出到控制台:
基本语法:
System.out.println(msg); // 输出一个字符串 , 带换行System.out.print(msg); // 输出一个字符串 , 不带换行System.out.printf(format, msg); // 格式化输出
注:快捷键 -> sout
3.方法的使用:
3.1:什么是方法
概念 方法就是一个代码片段. 类似于 C 语言中的 "函数“。
方法存在的意义:
是能够模块化的组织代码 ( 当代码规模比较复杂的时候 ).2. 做到代码被重复使用 , 一份代码可以在多个位置使用 .3. 让代码更好理解更简单 .4. 直接调用现有方法开发 , 不必重复造轮子 .
3.2:方法的语法
基本语法:
// 方法定义public static 方法返回值 方法名称( [ 参数类型 形参 ...]){方法体代码 ;[ return 返回值 ];}// 方法调用返回值变量 = 方法名称 ( 实参 ...);
3.3:方法的调用过程
调用过程:
关于调用过程中的匹配问题:
1.参数的类型要匹配
2.参数的个数要匹配
3.4:实参和形参的关系
形参:形参是一个虚拟参数,在定义方法的时候使用的参数,形参是方法被调用时用于接收实参值的变量。
实参:实参实际存在的参数。实参可以是常量,变量,表达式,类等,实参必须要有确定的值。
总:形参和实参的类型,个数是要一一对应的
public class MethodTest2 {
public static void main(String[] args) {
sum(4,6);//这里边的4,6就是实参
}
public static void sum(int a,int b){
//sum(int a,int b) 这里边的int a,int b 就是形参
//它们的类型和传进来的4,6的类型和个数都是一一对应的
//这里边的a就是4 b就是6
int c = a + b;//相当于int c = 4 + 6;
System.out.println("a + b = " + c);
//结果:a+b=10
}
}
3.5:返回值的有无
4.方法的重载
有些时候我们需要用一个函数同时兼容多种参数的情况, 我们就可以使用到方法重载.
4,2:重载的使用
同一个方法名字, 提供不同版本的实现, 称为 方法重载
public static int add(int a,int b){
return a+b;
}
public static double add(double a,double b){
return a+b;
}
public static void main18(String[] args) {
int a = 10;
int b = 20;
System.out.println(add(a, b));
double a1 = 10.3;
double b1= 20.4;
System.out.println(add(a1, b1));
}
4.3:重载的规则
5.关于栈帧:
5.1:什么是栈帧
栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。
5.2:栈帧包含
1.函数的返回地址和参数。
2.临时变量。包含函数的非静态局部变量以及编译器自动生成的其他临时变量
3.栈帧状态值
5.3:栈帧的应用
函数开辟的内存 - 》 栈帧
每个函数,在调用的时候,都会开辟栈帧,属于这个函数的内存。
所有的程序入口:都是main函数: