输入到控制台
- 有3中输入方式
System.out.println("输出换行");
System.out.print("输出不换行");
System.out.printf("%d\n",10);
从键盘输入
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();//读入一个整数
double d=scanner.nextDouble();//读入一个小数
String str=scanner.nextLine();//读入字符串
String str2=scanner.next();//读入字符串【遇到空格会停止】
🎇 注:当同时读整数和字符串时,要先读字符串。
例:循环读入n个数字
在这里插入代码片
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextInt){
int n=scanner.nextInt();
System.out.println(n);
}
方法的使用
方法的语法格式
public static 方法返回值 方法名(参数列表) {
方法体/函数体
}
注意问题
- 函数名用小驼峰
- 函数开辟的内存 =》栈帧
- Java中没有函数声明的概念
- 一个方法可被多次调用
- 传参的过程中要注意匹配问题【参数的类型和个数要匹配】
代码示例
计算阶乘的和
public static int fac(int n){
int ret=1;
for(int i=1;i<=n;i++){
ret =ret * i;
}
return ret;
}
public static int facSum(int n){
int sum=0;
for(int i=1;i<=n;i++){
sum=sum+fac(i);
}
return sum;
}
public static void main(String[] args){
System.out.println(facSum(5));
}
实参和形参的关系
在这里插入代码片
public static void swap(int a,int b){
int tmp=a;
a=b;
b=tmp;
}
public static void main(String[] args){
int a=10;
int b=20;
System.out.println("交换前:" + a + " " + b);//10 20
swap(a,b);
System.out.println("交换后:" + a + " " + b);//10 20
}
方法的重载
###🚨🚨🚨🚨🚨🚨 原则
(1)方法名相同
(2)参数列表不同
(3)返回值不做要求
代码示例
在这里插入代码片
public static int add(int a,int b){
return a+b;
}
public static double add(double a,double b){
return a+b;
}
puublic static void main(String[] args){
int a=10;
int b=20;
System.oout.println(add(a,b));
double d1=10.4;
double d2=34.5;
System.oout.println(add(d1,d2));
}