Java学习

Day15
一、学习目标
1.数组的使用
2.导包
3. 关键字
4.方法重载
二、知识点
1.数组的特点:(复习)
数组是一种引用数据类型
数组当中可以存储多个数据,但是类型必须统一
数组的长度在程序的运行期间,是不可改变的
2.导包三步骤
A.导包
import包路径.类名称
如果需要使用的目标类和当前类位于不同一个包下,则可省略导包语句
默认只有java.long包下的内容可以不导包,其他路径都需import导包
B.创建对象
C.使用成员方法
获取键盘输入的int数字 int num= sc.nextInt( )
获取键盘输入的字符串 String str=sc.next( )
3. 关键字:
(1) Scanner 三步骤,导包、创建、使用方法
(2) Random 类用来生产随机数字
(3)都可以直接导包
4. 为什么需要方法重载
(1)对于功能类似的方法来说,因参数列表不一样,需要记住很多不同参数的方法,太麻烦
(2)方法的重载(Overload ):多个方法的名称一样,但是参数列表却不一样
(3)好处:只需要记住唯一一个方法名称,就可以实现多个功能。
三、应用运行
1.数组的使用
代码示例

package demo01;
public class Demo01ArrayParam {
	public static void main(String[] args) {
		int[] array={1,2,3};
		System.out.println(array);//地址的哈希值
		printArray(array);//值赋给了arrayTemp
	}
	//数组作为参数,传递的始终是数组地址值
	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]);
		}
	}
}

运行结果
在这里插入图片描述
小练数组代码

package demo01;
public class Demo02ArrayReturn {
	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]);
	}
	//这个写法始终只能返回一个值
	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("10,20,30");
		return array;
	}
}

结果
在这里插入图片描述
2.导包三步骤
A.导包
例如import java.util.Scanner;将另一个包类名导过来
B.创建对象
C.使用成员方法
代码示例

package demo02;
import java.util.Scanner;
public class Demo01Scanner {
	public static void main(String[] args) {
		//创建对象
		Scanner sc=new Scanner(System.in);//可以直接写入,点击导包就ok
		//String str=
		System.out.println("请输入一个数字:");
		int num=sc.nextInt();
		System.out.println("输入的Int数字是"+num);
		System.out.println("请输入一个字符串:");
		String str=sc.next();
		System.out.println("输入的字符串是:"+str);
	}
}

运行结果
在这里插入图片描述
3. 关键字
举个列题:求输入两个int数字的和
思路:
a.既然要用到键盘输入,就要用到Scanner
b.Scanner 三步骤,导包、创建、使用方法
c.需要两个int数字,应该使用nextInt()
d.在得到两个数字后,直接相加
e.打印输出结果
(1) Scanner 三步骤,导包、创建、使用方法
代码示例

package demo02;
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);
	}
}

当你直接输入Scanner sc=new Scanner(System.in);时,系统会显示有错误,点击有问题的Scanner导入,就可以实现import java.util.Scanner;自动导包。
运行结果
在这里插入图片描述(2)Random 类用来生产随机数字
使用三步骤:
a.导包
import java
b.创建对象
a.使用成员方法
说明:
直接使用int num=ran.nextInt();
产生的随机数是整个int范围,有政府两种
有参使用int num=ran.nextInt(8);
代码示例

package demo03;
import java.util.Random;
public class Demo01Random {
	public static void main(String[] args) {
		Random ran=new Random();
		int num1=ran.nextInt();
		System.out.println("无参随机数是:"+num1);
		System.out.println("==========");
		for(int i=0;i<100;i++) {
			int num2=ran.nextInt(10);//[0,10]======>[0,9]整数
			System.out.println("有参随机数是:"+num2);
		}
		System.out.println("==========");
		for(int i=0;i<100;i++) {
			int num2=ran.nextInt(10)+1;//[0,9]------->[0,10]整数
			System.out.println("有参随机数是:"+num2);
		}
		System.out.println("==========");
		//错误写法
		for(int i=0;i<100;i++) {
			int num2=ran.nextInt(10+1);//[0,11]------->[0,10]整数
			System.out.println("有参随机数是:"+num2);
		}
	}
}

运行结果
(只截取了部分为参考)
在这里插入图片描述
以 猜数字0-100之间的数字游戏 为例
代码示例

package demo03;
import java.util.Random;
import java.util.Scanner;
public class demo02RandandGame {
	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("游戏结束!");
	}
}

运行结果
在这里插入图片描述4. 为什么需要方法重载
重载与下列因素区别:
1.参数个数不同
2.参数类型不同
3.参数顺序不同
重载与下列因素无关:
1.与参数的名称无夫
2.余返回值类型无夫
代码示例

package demo04;
public class Demo01MethodOverload {
	public static void main(String[] args) {
		System.out.println(sum(10,20));
		System.out.println(sum(10,20.0));
		System.out.println(sum(10.0,20));
		System.out.println(sum(10.0,20.0));
		System.out.println(sum(10,20,30));
	}
	public static int sum(int a,int b){
		System.out.println("参数为int,int");
		return a+b;
	}
	public static double sum(int a,double b) {
		//int+double -->double+double =double
		System.out.println("参数为int,double");
		return a+b;
	}
	public static double sum(double a,int b) {
		System.out.println("参数为double,int");
		return a+b;
	}
	public static double sum(double a,double b) {
		System.out.println("参数为double,double");
		return a+b;
	}
	
	public static int sum(int a,int b, int c){
		System.out.println("参数为int,int,int");
		return a+b+c;
	}
}

运行结果
在这里插入图片描述
2020080605051

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值