戳我跳到个人主页
本人码云(建议pc端打开,手机可能会出现字体过小问题。)
本人会不定期在码云上更新一些算法或数据结构的基础程序,后期也会学习进阶程序,也会更新大厂的面试题。
如果您有好的建议和想法,欢迎在本人码云相应代码评论区评论哦。希望大家都能在编程这条路上越走越远。也祝看到这篇博客的人,能真正搞懂这方面知识,当然,若有错误,请提出改正,谢谢大家啦。
本人后续会在这里更新操作系统和计组的笔记,敬请期待!
有赞必回,评论必回,顺着网线回访!
概述:
API( Application Programming Interface),应用程序编程接口。Java API 是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的 代码实现 封装了起来,我们不需要关心这些类是如何实现的,只需要学习如何使用即可。
Java SE 文档 - API 和文档
API使用步骤:
1、打开帮助文档;
2、点击显示,找到索引,看到输入框;
3、你要找谁?在输入框中输入,然后回车。
4、看包。java.lang 下的类不需要导包,其他需要;
5、看类的解释和说明;
6、学习构造方法;
7、使用成员方法。
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);
}
}
介绍:
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();
}
}
}
可以自行先做,之后再来查看,互相进步。
一、题目要求:
根据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();
}
}
}
一、题目要求:
猜数小游戏,随机数生成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类大讲解、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());
}
}
【一】与数组的区别:
数组的长度不可以发生改变。
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); //毫无疑问,一对中括号
}
}
【四】四个常用方法
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);
}
}
如果基本数据类型想存储在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);
}
随机数:
//向使用包装类的 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);
}
}
自定义类:
定义一个泛型,其中存储的数据类型,是一个自定义类
泛型中的数据必须是引用数据类型。
数组、类、接口都是引用数据类型。
普通的学生类:
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() );
}
}
}
题目:
定义以指定格式打印集合的方法(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笔记,后续也会有操作系统和计组的笔记,对于考研以及找工作的大佬们都用得上,敬请期待!