一、
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;
}
}