java-5 键盘录入和方法定义
一.键盘录入
1.导包(位置放到class定义的上面) import java.util.Scanner;
2.创建对象 Scanner sc = new Scanner(System.in);
3.接收数据 int x = sc.nextInt();
import java.util.Scanner; //导包 public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //创建对象 System.out.println("请输入成绩:"); int i = sc.nextInt(); //接收数据 System.out.println("你的成绩是:"+i); } }
二、方法
1.定义方法的格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
例: public static void 方法名称(){
方法体
}
ublic class MethonDemo1 { public static void main(String[] args) { //调用farmer you(); //方法调用 调用格式; 方法名(); me(); he(); } //farmer 定义方法 public static void you() { System.out.println("大数据牛逼"); //方法体 } //me public static void me() { System.out.println("我爱大数据"); } //定义变量如果右侧没有超过左侧的范围,编译器补上强转,如果超过了,则报错 public static void he() { char zifu = 65 ; System.out.println(zifu); } }
2.方法使用注意事项:
2.1.方法定义先后顺序无所谓
2.2.方法定义不能嵌套包含关系
2.3.方法定义好后不会执行,如果要执行,一定要进行方法的调用
2.4.方法定义的时候参数之间用逗号隔开
2.5 方法调用的时候不用在传递数据类型
2.6 如果方法有明确的返回值,一定要有return带回一个值
3.方法调用
3.1 有明确返回值的调用
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式
import java.util.Scanner; public class MethonDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); //赋值调用 int sum =sumNum(a,b); System.out.println(sum); //输出调用这个方式有意义,但是不够好,如果我们后续好需要继续在这个结果上做操作的话就没办法完成了 //System.out.println(sumNum(x,y)); } public static int sumNum(int a,int b) { int sum = 0; sum = a + b; return sum ; } }
3.2 没有明确返回值的调用
3.2.1、即使方法没有明确的返回值,也是需要调用才能执行的
3.2.2、没有明确返回值的方法,是单独调用的,直接调用方法名即可 格式: 方法名();
public static void main(String[] args) { //输出4行4列的星星 printStar(); // System.out.println("=========="); // printStar(); } public static void printStar() { for (int i=1;i<=4;i++) { for (int j=1;j<=4;j++) { System.out.print("*"+"\t"); } System.out.println(); } }
4 方法重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
4.1方法重载的特点:
4.1.1、与返回值无关,只看方法名和参数列表
4.1.2、在调用的时候,Java虚拟机通过参数列表的不同来区分同名的方法
public class FunctionDemo5 { public static void main(String[] args) { //求加法 int a = 18; int b = 19; int c = 20; int d = 21; byte e = 3; //求a+b的和 int sum1 = sumNum(a, b); System.out.println(sum1); //求a+b+c的和 int sum2 = sumNum(a, b, c); System.out.println(sum2); //求a+b+c+d的和 int sum3 = sumNum(a, b, c, d); System.out.println(sum3); //求a+e的和 int sum4 = sumNum(a,e); System.out.println(sum4); } public static int sumNum(int a1,byte b1){ return a1+b1; } public static int sumNum(int a1, int b1) { return a1 + b1; } public static int sumNum(int a1, int b1, int c1) { return a1 + b1 + c1; } public static int sumNum(int a1, int b1, int c1, int d1) { return a1 + b1 + c1 + d1; } }