一、
1、导包
improt 包路径.类名称
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句
默认只有java.long包下的内容可以不导包,其他路径下都需import导包
2、创建对象
3、使用成员方法
*(1)获取键盘输入的int数字 int num=sc.nextInt();
*(2)获取键盘输入的字符串 String str=sc.next();
二、 思路:
1、既然要用导键盘输入,就要用到Scanner
2、Scanner三个步骤:导包、创建、使用方法
3、需要两个int数字,应该使用nextInt()
4、在得到两个数字后,直接相加
5、打印输出结果
三、
1、为什么需要方法的重装
(1)对于功能类似的方法来说,因为参数列表不一样,却需要记住很多不同参数的方法
(2)方法的重载(Overload):多个方法的名称一样,但是参数列表却不一样
(3)好处:只需要记住唯一一个方法名称,就可以实现多个功能
2、重载与下列因素
(1)参数个数不同
(2)参数类型不同
(3)参数顺序不同
3、重载与下列因素无关
(1)与参数的名称无关
(2)与返回值类型无关
四、练习:
第一个包:
1、
package demo01;
public class demo01A {
public static void main(String[] agrs) {
int[] array= {10,20,30,40,50};
System.out.println(array);//地址的哈希值
printArray(array);
}
//数组作为参数,传递的始终是地址值
public static void printArray(int[] arrayTemp) {
System.out.println("printArray方法接收的参数是");
System.out.println(arrayTemp);//接收的是地址
for(int i=0;i<arrayTemp.length;i++) {
System.out.println(arrayTemp[i]);
}
}
}
2、
package demo01;
public class demo01AR {
public static void main(String[] args) {
int[] result=calculate(10,20,30);
System.out.println(“main方法接收到的返回值”);
System.out.println(result);
System.out.println(“总和:”+result[0]);
System.out.println(“平均值:”+result[1]);
System.out.println("============");
demo01A.printArray(result);
}
//这个方法始终只能返回一个值
public static int[] calculate(int a,int b,int c) {
int sum=a+b+c;
int avg=sum/3;
int[] array=new int[2];
array[0]=sum;
array[1]=avg;
System.out.println("calculate方法内部数组是");
System.out.println(array);
return array;
}
}
第二个包:
1、
package demo02;
//导包
import java.util.Scanner;
/*
- 1、导包
- improt 包路径.类名称
- 如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句
- 默认只有java.long包下的内容可以不导包,其他路径下都需import导包
*2、创建对象
*3、使用成员方法
*(1)获取键盘输入的int数字 int num=sc.nextInt();
*(2)获取键盘输入的字符串 String str=sc.next();
*/
public class Demo01Scanner {
public static void main(String[] args) {
//创建对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数字:");
int num=sc.nextInt();
System.out.println("输入的Int 数字是"+num);
System.out.println("请输入一个字符串:");
String str=sc.next();
System.out.println("请输入字符串是:"+str);
}
}
2、
package demo02;
/*
- 题目:
- 求输入两个int数字的和
- 思路:
- 1、既然要用导键盘输入,就要用到Scanner
- 2、Scanner三个步骤:导包、创建、使用方法
- 3、需要两个int数字,应该使用nextInt()
- 4、在得到两个数字后,直接相加
- 5、打印输出结果
*/
import java.util.Scanner;
public class Demo02ScannerSum {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入第一个数字:”);
int a=sc.nextInt();
System.out.println(“请输入第二个数字:”);
int b=sc.nextInt();
int result=a+b;
System.out.println(“结果是:”+result);
}
}
第三个包:
1、
package Demo03;
import java.util.Random;
/*
-
Random类用来生产随机数字
-
使用三步骤
-
1、导包
-
2、创建对象
-
3、使用成员方法
-
说明:
-
直接只用int num=ran.nextInt();
-
参数的随机数是整个int范围,有正负两种
-
[0,4) 0,1,2,3
-
[1-10] 整数
*/
public class Demo01Random {
public static void main(String[] args) {
Random ran=new Random();
int num=ran.nextInt();
System.out.println(“无参随机数是:”+num);System.out.println("=============="); for(int i=0;i<100;i++) { int num1=ran.nextInt(10);//[0,10]===[0,9]整数 System.out.println("有参的随机数是:"+num1); } System.out.println("=============="); for(int i=0;i<100;i++) { int num1=ran.nextInt(10)+1;//[0,9]---->[1,10]整数 System.out.println("有参的随机数是:"+num1); System.out.println("=============="); } for(int i=0;i<100;i++) { int num1=ran.nextInt(10+1);//[0,11]====[0 ,10]整数 System.out.println("有参的随机数是:"+num1); }
}
2、
package Demo03;
import java.util.Random;
import java.util.Scanner;
/*
- 猜数字0-1001之间的数字
- 75
*/
public class Demo02RandandomGame {
public static void main(String[] args) {
Random r=new Random();
int randomNum=r.nextInt(100)+1;//[1,100]
Scanner sc=new Scanner(System.in);
while(true) {
System.out.println(“请输入你猜的数字:”);
int guessNum=sc.nextInt();
if(guessNum>randomNum){
System.out.println(“太大了,请重试”);
}else if(guessNum>randomNum){
System.out.println(“太小了,请重试”);
}else {
System.out.println(“恭喜你,猜中了”);
break;
}
}
System.out.println(“游戏结束!”);
}
}
第四个包:
package demo04;
/*
- 1、为什么需要方法的重装
- (1)对于功能类似的方法来说,因为参数列表不一样,却需要记住很多不同参数的方法
- (2)方法的重载(Overload):多个方法的名称一样,但是参数列表却不一样
- (3)好处:只需要记住唯一一个方法名称,就可以实现多个功能
- 2、重载与下列因素
- (1)参数个数不同
- (2)参数类型不同
- (3)参数顺序不同
- 3、重载与下列因素无关
- (1)与参数的名称无关
- (2)与返回值类型无关
*/
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(num(10,20));
System.out.println(num(10,20.0));
System.out.println(num(10.0,20));
System.out.println(num(10.0,20.0));
System.out.println(num(10,20,30 ));
}
public static int num(int a,int b) {
System.out.println(“参数为int,int”);
return a+b;
}
//public static int num(int x,int y) {
//System.out.println(“参数为int,int”);
//return x+y;
//}
public static double num(int a,double b) {
//int+double -->double +double=double
System.out.println(“参数为int,double”);
return a+b;
}
//public static double num(int a,int b) {
//int+double -->double +double=double
//System.out.println(“参数为int,int”);
//return (int)(a+b);
//}
public static double num(double a,int b) {
//int+double -->double +double=double
System.out.println(“参数为double,int”);
return a+b;
}
public static double num(double a,double b) {
//int+double -->double +double=double
System.out.println(“参数为double,double”);
return a+b;
}
public static double num(int a,int b,int c) {
//int+double -->double +double=double
System.out.println(“参数为int,int,int”);
return a+b+c;
}
}