三、Java常用API

三、Java常用API_第1张图片

  戳我跳到个人主页

  本人码云(建议pc端打开,手机可能会出现字体过小问题。)
  本人会不定期在码云上更新一些算法或数据结构的基础程序,后期也会学习进阶程序,也会更新大厂的面试题。
  如果您有好的建议和想法,欢迎在本人码云相应代码评论区评论哦。希望大家都能在编程这条路上越走越远。也祝看到这篇博客的人,能真正搞懂这方面知识,当然,若有错误,请提出改正,谢谢大家啦。

  本人后续会在这里更新操作系统和计组的笔记,敬请期待!
  有赞必回,评论必回,顺着网线回访!

三、Java常用API

  • 1.Scanner & Random
    • a.API概述和使用步骤
    • b.Scanner
    • c.Random
    • d.Random练习
  • 2.ArrayList集合
    • a.引入- -对象数组
    • b.概述!!!
    • c.常用方法
    • d.基本数据类型如何存储???
    • e.小练习一
    • f.小练习二
    • g.ArrayList作为方法参数
    • h.ArrayList作为方法返回值

1.Scanner & Random

a.API概述和使用步骤

  概述:
  API( Application Programming Interface),应用程序编程接口。Java API 是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的 代码实现 封装了起来,我们不需要关心这些类是如何实现的,只需要学习如何使用即可。
  Java SE 文档 - API 和文档
  API使用步骤:

1、打开帮助文档;
2、点击显示,找到索引,看到输入框;
3、你要找谁?在输入框中输入,然后回车。
4、看包。java.lang 下的类不需要导包,其他需要;
5、看类的解释和说明;
6、学习构造方法;
7、使用成员方法。

b.Scanner

package API;//包名是自己随便起的,不是必须是api
//1、导包
import java.util.Scanner;

public class 介绍Scanner
{

	public static void main(String args[])
	{
		//2、创建,System.in表示输入
		Scanner s = new Scanner(System.in);
		//3、使用:对象名.成员方法名();
		//获取键盘输入的一个int数字:int num = s.nextInt();
		
		method(s);				//通过调用方法、进行输入
		int num = s.nextInt();	//正常输入
		System.out.println(num);
	}
	
	public static void method(Scanner sc)
	{
		int m = sc.nextInt();
		System.out.println(m);
	}
	
}

三、Java常用API_第2张图片

c.Random

介绍:

Random 类用来生成随机数字。

1、导包:import java.util.Random;

2、创建:Random r = new Random();

3、使用。
获取一个随机的int型数字
int num = r.nextInt();————范围是整个int范围,正负21个亿
int num = r.nextInt(3);————范围是0~2

代码部分:

package API;
import java.util.Random;

public class 介绍Random
{
	
	public static void main(String args[])
	{
		Random r = new Random();
		int num = r.nextInt();
		System.out.println("随机数是" + num);
		
		System.out.println("==============");
		
		// 输出100以内(0~99)的100个随机数
		int cnt = 0;
		for( int i = 0; i < 100; i++ )
		{
			int n = r.nextInt(100);
			System.out.printf("%d\t", n);	//\t制表符
			cnt ++;
			if( cnt%15 == 0) //每输出15个数、换一行
				System.out.println();
		}
		
	}

}

三、Java常用API_第3张图片

d.Random练习

可以自行先做,之后再来查看,互相进步。

一、题目要求:
根据int变量n的值,来获取随机数字,范围是 [1, n],可以取到1也可以取到n。

思路:
1、定义一个int型数字n随意赋值;
2、使用Random:导包,创建,使用;
3、如果写10,就是0到9,然而想要的是1到10,发现,整体加一即可。
代码:

package API;
import java.util.*;	//代表导入util下所有包,包括Random

public class testOne
{
	public static void main(String args[])
	{
		int n =50;		//我打算范围是1~50
		Random r = new Random();
		
		int cnt = 0;
		for( int i = 0; i < 100; i++ )	//还是输出一百个吧
		{
			int num = r.nextInt(n) + 1;
			System.out.println("%d\t", num);
			cnt ++;
			if (cnt%15 == 0)
				System.out.println();
		}
	}
}

三、Java常用API_第4张图片

一、题目要求:
猜数小游戏,随机数生成1到100之间一个随机数。
最多只可以猜 5 次,否则游戏结束,5 次之内猜中,恭喜你,游戏胜利。

代码:

package API;

import java.util.Scanner;
import java.util.Random;
//当然可以这样写:import java.util.*;

public class testTwo
{
	public static void main(String[] args)
	{
		Random r = new Random();
		int num = r.nextInt(100) + 1;	//1~100
		Scanner s = new Scanner(System.in);
		
		System.out.println("请输入你猜测的数字:");
		int i;
		for ( i = 0; i < 5; i++ )
		{
			
			int j = s.nextInt();
			if( num > j ){
				System.out.println("Too Small !");
			}else if ( num < j ){
				System.out.println("Too Big!");
			}else{
				System.out.println("You Win!");
				break;
			}//if结束
			
		} //for结束
		
		if ( i == 5 )
			System.out.println("You Lose!");\
			
		s.close();
		//这是释放内存,后面会讲到
	}
}

三、Java常用API_第5张图片

2.ArrayList集合

a.引入- -对象数组

这里如果看不懂,请查看我的上一篇文章和关于数组的知识:java类大讲解、java基础
要求:创建长度为 3 的 Person 类型的数组,并赋值,输出name。
Person类:

package pack04;

public class Person
{
	
	private String name;
	private int age;
	//==================
	public Person(){
	}
	a
	public Person(String name, int age)
	{
		this.name = name;
		this,age = age;
	}
	//===================
	public void setName(String name)
	{
		this.name = name;
	}
	public String getName()
	{
		return name;
	}
	//====================
	public void setAge(int age)
	{
		this.age = age;
	}
	public int getAge()
	{
		return age;
	}
	
}

实现类:

package pack04;
/*
题目:
定义一个数组,用来存储三个Person对象。
数组有一个缺点,一旦创建,程序运行期间长度不可以发生改变。
*/

public class DuixiangArray
{
	public static void main(String args[])
	{
		
		//首先创建一个长度为3的数组,里面用来存储Person类型的对象
		Person []arrayA = new Person[3];
		
		Person one = new Person("琼恩雪诺", 35);
		Person two = new Person("丹娜莉丝", 30);
		Person three = new Person("Iron Man", 45);
		
		//将 one 当中的地址值赋值到数组的 0 号元素位置
		arrayA[0] = one;
		arrayA[1] = two;
		arrayA[2] = three;
		
		//输出这三个数组元素的地址值(哈希值)
		System.out.println(arrayA[0]);
		System.out.println(arrayA[1]);
		System.out.println(arrayA[2]);
		
		//Person person = arrayA[1];
		//System.out.println(person.getName());
		//这两行输出:丹娜莉丝,相当于
		//System.out.println(arrayA[1].getName());
		
		System.out.println(arrayA[0].getName());
		System.out.println(arrayA[1].getName());
		System.out.println(arrayA[2].getName());
	}
	
}

三、Java常用API_第6张图片

b.概述!!!

【一】与数组的区别:
数组的长度不可以发生改变。
ArrayList集合长度可以随意变化

【二】创建:
对于ArrayList来说,有一个尖括号代表泛型。

什么是泛型?泛型:集合中包含的统一是一种类型

泛型必须是引用数据类型。

 ArrayList<String> Jo = new ArrayList<>();

【三】注意:
对于ArrayList集合,直接打印得到的不是地址值,而是内容;
如果内容是空,那么输出的是 空的 中括号

示例代码:

package pack04;
import java.util.ArrayList;//它也是util里面的

public class demoArray
{
	public static void main(String args[])
	{
	
		//创建了一个ArrayList集合,名称是 Jo,类型是String
		//备注:从JDK1.7开始,右侧的尖括号内部可以不写内容,但是 <> 本身要写
		ArrayList<String> Jo = new ArrayList<>();
		System.out.println(Jo);	//毫无疑问,一对中括号
	}
	
}

三、Java常用API_第7张图片

c.常用方法

【四】四个常用方法

public boolean add ( E e ) 增加元素
public E get ( int index ) 获取元素、index是索引编号,返回对应位置的元素
public E remove ( int index ) 删除指定位置元素,返回被删掉的元素
public int size () 获取集合尺寸、长度

java中的方法,相当于c语言的内置函数,public代表在哪里都可以使用,boolean是返回值,不过有的函数没有返回值,然后是方法名,最后在括号内传参,实现目标功能。

应用:

package pack04;
import java.util.ArrayList;

public class demodemo
{
	public static void main(String args[])
	{
	
		ArrayList<String> list = new ArrayList<>();
		
		//增加索引为 0,1,2,3 的四个字符串元素
		list.add("Good");
		list.add("Bye");
		list.add("Cruel");
		list.add("World");
		System.out.println(list);	
		//突然发现,这个输出结果很像之前
		//笔记里需要实现的形式,在我的java笔记二、封装那里
		
		String str1 = list.get(2);	//获取索引为2的元素
		System.out.println(str1);
		
		String str2 = list.remove(0);	//删除0号元素,并返回该元素本身
		System.out.println(str2);
		
		int amount = list.size();	//获取长度
		System.out.println(amount);
	}
	
}

三、Java常用API_第8张图片

d.基本数据类型如何存储???

  如果基本数据类型想存储在ArrayList中,需要用 “包装类 ”
  包装类我会在后面学习Object类及各种常用类的时候提到,这里只挂一个代码。后续这里会挂传送门,持续更新中!
代码:

package pack04;

import java.util.ArrayList;

public class packclass
{
	public static void main(String[] args)
	{
		ArrayList<Integer> listA   = new ArrayList<>();
		ArrayList<Character> listB = new ArrayList<>();
		ArrayList<Boolean> listC   = new ArrayList<>();
	}
	
	listA.add(100);	listB.add('A');	listC.add(true);
	
	System.out.println(listA);
	System.out.println(listA);
	System.out.println(listA);

}

三、Java常用API_第9张图片

e.小练习一

随机数:

//向使用包装类的 int 型泛型集合中,添加 6 个随机数字
package pack04;

import java.util.Random;
import java.util.ArrayList;

public class ArrayWork
{
	public static void main(String args[])
	{
		Random r = new Random();
		ArrayList<Integer> list = new ArrayList<>();
		
		for ( int i = 0; i < 6; i ++ )
		{
			int num = r.nextInt(99)+1;
			list.add(num);
		}
		System.out.println(list);
	}
}

三、Java常用API_第10张图片

f.小练习二

自定义类:

定义一个泛型,其中存储的数据类型,是一个自定义类
泛型中的数据必须是引用数据类型
数组、类、接口都是引用数据类型。

普通的学生类:

package pack04;

public class Student
{
	private String name;
	private int age;
	private boolean sexy;
	
	//定义构造方法
	public Student
	{}
	public Student(String Aname, int Aage, boolean Asexy)
	{
		//这样写是为了回忆之前的private和this关键字
		//到底this指向的是成员变量(√)还是局部变量(×)
		
		this.name = Aname;//也可以不写this,因为只有一个name变量
		this.age  = Aage;
		this.sexy = Asexy;	
	}
	
		//偷偷的给Student类定义一个 toString 方法
		//(后续可以知道完全不必自己定义)
		public String toString()
		{
			return getClass().getName()+"[name = "+name+",
			age = "+age+",sexy = "+sexy+"]";
		}
	
}

  顺便在这里简单的使用一下java中 Object类 的 toString 方法,真的非常方便!!!后续会介绍。
(Object类是所有类的根父类,子类可以使用父类的方法。)

package pack04;
import java.util.ArrayList;

public class ArrayWorks02
{
	public static void main(String args[])
	{
		ArrayList<Student> list = new ArrayList<>();
		
		Student one   = new Student("洪七公", 70, true);
		Student two   = new Student("郭靖", 18, true);
		Student three = new Student("黄蓉", 16, false);
		
		list.add(one);
		list.add(two);
		list.add(three);
		for( int i = 0; i < list.size(); i++ )
		{
			System.out.println( (list.get(i)).toString() );
		}
		
	}
	
}

三、Java常用API_第11张图片

g.ArrayList作为方法参数

题目:
定义以指定格式打印集合的方法(ArrayList作为参数)
使用{}扩起集合,使用@分隔每个元素。
格式参照 :{元素@元素@元素} 。

代码截图:
三、Java常用API_第12张图片

h.ArrayList作为方法返回值

题目:用一个大集合去存入20个随机数字,然后筛选其中的偶数元素,放到小集合中。
分析
1、集合,< Integer >;
2、随机,Random;
3、循环20次,for,add;
4、自定义一个方法进行筛选。
5、要求使用ArrayList作为自定义方法返回类型。

代码实现:

package pack04;

import java.util.ArrayList;
import java.util.Random;

public class ListWork02
{
	public static void main(String[] args)
	{
		
		//准备工作
		Random r = new Random();
		ArrayList<Integer> Biglist = new ArrayList<>();
		
		//随机数填入Biglist
		for ( int i = 0; i < 20; i ++ )
		{
			Biglist.add(r.nextInt(100) + 1);
		}
		
		//调用方法,输出Smalllist
		System.out.println(switchList(Biglist));
	}
	
	
	//自定义方法switchList, 返回值类型ArrayList
	public static ArrayList<Integer> switchList(ArrayList<Integer> list)
	{
		//先创建Smalllist
		ArrayList<Integer> Smalllist = new ArrayList<>();
		
		for( int j = 0; j < list.size(); j ++ )
		{
			//传入list泛型,将元素选择性填入Smalllist
			if( list.get(j) % 2 == 0 && list.get(j) != 2 )
			{ Smalllist.add(list.get(j)); }
		}//for结束
		return Smalllist;
		
	}
	
}

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

太漂亮了!Splendid!
结束语:
本文介绍了有关于Scanner和Random类的使用与简单应用,也介绍了非常重要的ArrayList集合,它是一种泛型。提到了private、this关键字,Object类,包装类,这些都很重要。
最后,谢谢大家的观看,我会继续努力,持续更新java笔记,后续也会有操作系统和计组的笔记,对于考研以及找工作的大佬们都用得上,敬请期待!

你可能感兴趣的:(笔记,java,开发语言)