Java常用API_01

导读:本篇文章讲解 Java常用API_01,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

一、Scanner类

二、匿名对象

三、Random类

 四、ArrayList集合类

 


 

一、Scanner类

1、概念

一个可以使用正则表达式来解析基本类型和字符串的简单
文本扫描器
 

2、使用

(1)导包

import java.util.Scanner;

(2)创建

Scanner sc = new Scanner(System.in);//对象名sc可自定义

(3)常用方法

int a = sc.mextInt();//获取从键盘输入的一个int类型的整数
String str = sc.next();//获取从键盘输入的一个String类型的字符串
double b = sc.nextDouble();//获取从键盘输入的一个double类型的浮点数

 

 

二、匿名对象

1、概念

顾名思义,匿名对象就是没有名字的对象。在创建对象时,只通过new的动作在堆内存开辟空间,却没有把堆内存空间的地址值赋值给栈内存的某个变量用以存储

2、对比

(1)语法

创建正常对象: 类名称 对象名 = new 类名称();

创建匿名对象: new 类名称();

(2)优缺

匿名对象因为没有名字,名字即是地址,所以它只能使用一次,再次使用时再也找不到了。匿名对象的好处就是使用完毕就会成为垃圾,可以在垃圾回收器空闲时进行回收,从而节省内存空间,而正常对象可重复使用

3、示例

     自定义学生类,分别创建正常对象与匿名对象,体会二者不同之处

public class test01{
	public static void main(String args[]){
		//正常对象
		student s1 = new student("小明",8);
		System.out.println(s1);//姓名:小明 年龄:8
		//匿名对象
		System.out.println(new student("小红",9));//姓名:小红 年龄:9
		//再次打印匿名对象
		System.out.println(new student());//姓名:null 年龄:0
	}
}
class student{
	private String name;
	private int age;
	//无参构造方法
	student(){
	}
	//有参构造方法
	student(String name,int age){
		this.name=name;
		this.age=age;
	}
	public String  getName(){
		return name;
	}
	public int getAge(){
		return age;
	}
	public String toString(){
		return "姓名:"+name+" 年龄:"+age;
	}
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQXJpY2wu,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

三、Random类

1、概念

一个简单的随机数生成器

2、使用

(1)导包

import java.util.Random;

(2)创建

Random random = new Random();

(3)常用方法

int a = random.nextInt();//随机生成一个int类型范围内的随机整数,有正有负
int b = random.nextInt(n);//随机生成一个范围在区间[0,n-1]内的随机整数
int c = random.nextInt(n)+1;//随机生成一个范围在区间[1,n]内的随机整数
int d = random.nextInt(n-m+1)+m;//随机生成一个范围在区间[m,n]内的随机整数

3、示例

      酒席上一个常见的猜数字小游戏,先提前确定一个数字n作为正确答案,猜测着进行猜测,若所猜数字大于n,提示偏大,反之提示偏小,直到猜对为止

import java.util.Scanner;
import java.util.Random;
public class GuessGame{
	public static void main(String args[]){
		    Scanner sc = new Scanner(System.in);
			Random r = new Random();
			int randomNumber=r.nextInt(100)+1;//表示范围在区间[1,100]内的随机整数
			int count=0;//计数器:记录猜中所用次数
			//因为猜错了需要用户重试,所以使用一个永真循环,猜中break终止即可
			System.out.println("============欢迎来到“无聊猜猜猜”小游戏============");
			while(true){
				System.out.print("请输入你猜测的数字:");
				int number = sc.nextInt();//从键盘获取一个整数赋值给number
				++count;//更新计数器
				if(number>randomNumber){
					System.out.println("数字偏大,请重试");
				}else if(number<randomNumber){
					System.out.println("数字偏小,请重试");
				}else{
					System.out.println("恭喜你,猜中啦!");
					break;
				}
			}
			System.out.println("======================================================");
		    System.out.println("本次游戏你一共用了"+count+"次机会猜中了随机数");
	}
}

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQXJpY2wu,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

 四、ArrayList集合类

1、概念

ArrayList 是大小
可变的数组,即动态数组。存储在内的数据称为元素,此类提供一些方法来操作内部存的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
 

2、使用

(1)导包

 
import java.util.ArrayList;

(2)创建

ArrayList<E>list = new ArrayList<E>();//写法1
ArrayList<E>list = new ArrayList<>();//写法2

解释:

1、从JDK1.7+开始,右侧尖括号内的引用类型名可不写,默认为等号左边的引用类型,所以我们一般采用写法2,更简洁一些。

2、尖括号<>表示泛型,即装在集合中的所有元素都是统一的什么类型

3、E代表引用类型,此出仅是占位表示

(3)常用方法

public boolean add(E e)//向集合中添加元素
public E remove(int index)//删除下标为index的元素
public E get(int index)//返回集合中下表为index的元素
public int size()//获取集合长度,即集合中元素的个数

3、注意事项

ArrayList集合中的元素类型为泛型,泛型只能是引用类型,不能是基本类型

如:ArrayList <int>list =new ArrayList<>(); 就是错误的写法

我们必须在<>中使用基本类型的“包装类”,所以正确写法应为:

ArrayList <Integer>list  = new ArrayList<>() ;

基本类型对应的包装类
基本数据类型 对应的包装类
byte         Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

4、示例

example1

/*
生成6个1-33之间的随机整数,添加到集合中,遍历该集合。再删除第二个随机数,再次遍历该集合
*/
import java.util.Random;
import java.util.ArrayList;
public class ArrayList01{
	public static void main(String args[]){
		Random random = new Random();
		ArrayList<Integer>list=new ArrayList<>();
		//ArrayList<Integer>list=new ArrayList<Integer>();以上两种写法都可
		for(int i=0;i<=5;i++){
			int number=random.nextInt(33)+1;//1-33之间的随机数
			list.add(number);//将随机数number添加到集合list中去
		}
		System.out.println("生成的6个随机数如下:");
		for(int i=0;i<list.size();i++){
			System.out.print(list.get(i)+" ");
		}
		System.out.println("\n删除第2个随机数后:");
		list.remove(1);
		for(int i=0;i<list.size();i++){
		   System.out.print(list.get(i)+" ");
		}
	}
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQXJpY2wu,size_20,color_FFFFFF,t_70,g_se,x_16

 example2

//自定义3个学生对象,并将其添加到集合中并遍历
import java.util.ArrayList;
public class ArrayList02{
	public static void main(String args[]){
		ArrayList<student>st=new ArrayList<>();
		student [] stu = new student[3];//对象数组
		stu[0]=new student("黄忠","男",68);
		stu[1]=new student("孙尚香","女",28);
		stu[2]=new student("狄仁杰","男",58);
		for(int i=0;i<3;i++){
			st.add(stu[i]);//将每一个学生类对象添加到集合st中
		}
		for(int i=0;i<3;i++){
			System.out.println(st.get(i));
		}
	}
}
class student{
	String name;
	String sex;
	int age;
	student(String name,String sex,int age){
		this.name=name;
		this.sex=sex;
		this.age=age;
	}
	public String toString(){
		return "姓名:"+name+" 性别:"+sex+" 年龄:"+age;
	}
}

00b7e3ec08364024b67fbe66d5d35f1b.png

 

example3

//集合类型也可作为参数
//自定义打印集合的方法,如{xx@xx@xx@xx}格式
import java.util.ArrayList;
public class ArrayList03{
	public static void main(String args[]){
		ArrayList<String>list=new ArrayList<>();
		list.add("张无忌");
		list.add("周芷若");
		list.add("赵敏");
		list.add("小昭");
		System.out.println("默认的打印集合的方法为:[xx,xx,xx]");
		System.out.println(list);
		System.out.println("自定义的打印集合的方法为:{xx@xx@xx}");
		printArrayList(list);

	}
	public static void printArrayList(ArrayList<String> list){
		System.out.print("{");
		for(int i=0;i<list.size();i++){
			if(i==list.size()-1){
				System.out.print(list.get(i)+"}");
			}
			else{
				System.out.print(list.get(i)+"@");
			}
		}
		System.out.println();
	}
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQXJpY2wu,size_20,color_FFFFFF,t_70,g_se,x_16

 

点赞加关注,下次不迷路哈

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQXJpY2wu,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/93484.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!