Day15 数组与random

学习目标

1:数组
2:JavaAPI导包
3:Random
4:方法重载

一:数组

例一:

package com.hg.demo01;

public class Demo01ArrayParam {
	 public static void main (String[] args) {
		 
		 int[] array = new int [] {1,2,3,4,5};
		 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]);
		 }
	 }
	 
}

例二:

package com.hg.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(array);
			 return  array;
	 }
}
	 

二:导包

API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的字典),是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何形成的,这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
2、API使用步骤:
1.打开帮助文档。
2.点击显示,找到索引,看到输入框。
3.你要找谁?在输入框里输入,然后回车。
4.看
包。java.lang 下的类不需要导包,其他需要。
5.看类的解释和说明。
6.学习构造方法。
3、引用类型使用步骤

1.导包
import 包路径.类名称
注意:如果需要使用目标类 和 当前类位于同一个包下,则可以省略导包语句。
默认只有java.long包下的内容可以不导包,其他路径下都需要 import 导包。

import java.util.Scanner;//包名,变量名;

2.创建对象

数据类型 变量名=new 数据类型(参数列表)


调用方法:
调用该类的成员方法,完成指定功能
3.使用成员方法
获取键盘输入的int关键字 int num = sc.nextInt();
获取键盘输入的字符串 String str = sc.next();
例如:

package com.hg.demo02;
//导包
import java.util.Scanner;
/**
 * 1导包
 * import   包路径
 *  如果需要使用的目标类 ,相当于前类位于同一包下,则可以省略导包语句 
 *  默认只有Java。long包下的内容可以不导包,其他路径下都需要import导包
 *  2:创建对象
 *  
 *  3:使用成员方法
 *  
 *  获取键盘输入的int数字   int
 *  获取键盘输入的字符串 **/


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

import java.util.Scanner;

/**
 * 题目:
 * 求输入两个int数字的和
 * 
 *
 * 思路:
 * 1:既然要用到键盘输入,就要用到Scanner
 * 2:  Scanner  三步骤:  导包、创建、使用方法
 * 3:需要两个int数字,应该使用nextInt()
 * 4:在得到两个数字后,直接相加
 * 5:打印输出结果**/
public class demo01ScannerSum {
	public static void main (String[] args) {
		 Scanner  sc= new  Scanner(System.in);
		 
		 
		 System.out.println("请输入一个数字是:");
        int a=sc.nextInt();
		 System.out.println("输入的int 数字是"+a);
		 
		 System.out.println("请输入一个数字是:");
	        int b=sc.nextInt();
			 System.out.println("输入的int 数字是"+b);
			 int result=a+b;
			 System.out.println("结果是:"+result);
}
}
三:Random 类

Random 类,用来生产随机数字

使用三步骤
1、导包
import java
2、创建对象
3、使用成员方法
说明:
直接只用int unm = ran.nextInt();
参数的随机数是整个int 范围,有正负两种。
如果有参使用int num = ran.nextInt(3);
例如:

package com.hg.demo03;

import java.util.Random;

/**
 *Random  类用来生产随机数字
 *使用三步骤: 导包、创建、使用方法
 *如果有参使用 **/
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,11}---->[0,10]整数
			 System.out.println("产生的有参数字是:"+num1); 


	}}}

练习:

package com.hg.demo03;

import java.util.Random;
import java.util.Scanner;

/**
 * 猜数字0~~100之间
 *       75
 *       
 *       
 *       **/
public class Demo01RandomGame {
	public static void main (String[] args) {
		Random  ran= new Random();
		int num=ran.nextInt();
		int num1=ran.nextInt(100)+1;//[0,100]
		Scanner  sc= new  Scanner(System.in);
		while(true) {
			System.out.println("请输入你猜的数字是:");
			int guessNum=sc.nextInt();
					int randomNum = 75;
					if(guessNum>randomNum) {
					System.out.println("太大了请重试");
					}
					else if(guessNum<randomNum) {
					System.out.println("太小了,请重试");}
					else {
					System.out.println("恭喜你答对了");
					break;
					
		}
		}	
}
}
四: 方法重载
package com.hg.demo04;

/*
1、为什么需要方法的重载
   对于功能类似的方法来说,因为参数列表不一样,却需要记住很多不同的参数的方法,太麻烦
   方法的重载(Oberload):多个方法的名称一样,但是参数列表不一样
   好处:只需要记住唯一一个方法名称,就可以实现多个功能

   重载与下列因素有关
   1、参数个数不同
   2、参数类型不同
   3、参数顺序不同

   重载与下列因素无关
   1、与参数的名称无关
   2、与返回值类型无关
 */
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) {
        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;
    }
}

课后练习

求三个数中的最大数

package com.hg.demo02;

import java.util.Scanner;

//求输入三个数字的最大数
public class MaxNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个整数:");
        int a= sc.nextInt();
        int b= sc.nextInt();
        int c= sc.nextInt();
        int max;
        if(a<b)
            max=b;
        else
            max=a;
        if(max<c)
            max=c;
        System.out.println("这三个数中最大值为:"+max);

    }
}

上述代码运行结果展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2020080605041

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值