API ,应用程序编程接口,Java API是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用他们。
API的使用步骤:1、打开帮助文档
2、点击显示,找到索引,看到输入框
3、你要找谁,在输入框中输入,然后回车
4、看包,Java.lang下的类不需要导包,其他需要
5、看类的解释和说明
6、学习构造方法
7、学习成员方法
scanner :可以实现键盘输入数据,到程序当中
示例代码:
public class Demo {
public static void main(String [] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字");
int a = scanner.nextInt();
System.out.println("请输入字符串");
String str = scanner.next();
System.out.println(a);
System.out.println(str);
}
}
匿名对象:只有右边的对象,没有左边的名字和赋值运算符
匿名对象的使用:new 类名称().成员变量或成员方法
注意:匿名对象只能唯一的使用一次
使用场景:确定一个对象,只使用唯一一次,可以使用匿名对象
示例代码:
public class Demo {
public static void main(String [] args) {
System.out.println("请输入一个数字");
int a =new Scanner(System.in).nextInt();
System.out.println(a);
int b = methodParam(new Scanner(System.in));
System.out.println(b);
Scanner sc = methodReturn();
}
private static Scanner methodReturn() {
return new Scanner(System.in);
}
private static int methodParam(Scanner scanner) {
return scanner.nextInt();
}
}
Random:获得随机数
示例代码:
public class Demo {
public static void main(String [] args) {
Random r = new Random();
int num = r.nextInt();
int num2 = r.nextInt(10);
System.out.println(num);
System.out.println(num2);
}
}
ArrayList:是大小可变的数组的实现,存储在内的数据称为元素,此类提供一些方法来操作内部存储的元素。ArrayList中可不断的添加元素,其大小也自动增长。
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本数据类对应的包装类
基本类 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
java支持自动装箱和自动拆箱
自动装箱:基本类型->包装类型
自动拆箱:包装类型->基本类型
示例代码:
public class Demo {
public static void main(String [] args) {
ArrayList<String> list = new ArrayList<>();
list.add("读者");
System.out.println(list.get(0));
System.out.println(list.size());
list.remove(0);
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(100);
int a = list1.get(0);
System.out.println(a);
}
}
注意:直接打印ArrayList,不是地址值而是内容,如果内容是空,则打印[],因为ArrayList重写了toString方法
String :字符串操作类
注意:在Java中所有的字符串字面值(例如:“ABC”)都作为此类的实例。解释了为什么String name = "读者";可以实现。
字符串的特点:字符串的内容永不可变,所以字符串是可以共享使用,效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组
示例代码:
public class Demo {
public static void main(String [] args) {
String str1 = new String();
String str2 = new String(new char[]{'a','b','c'});
String str3 = new String(new byte[]{97,98,99});
String str4 = "abc";
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str4);
System.out.println(str2.equals(str3));
System.out.println(str2.equalsIgnoreCase(str4));
System.out.println(str1.length());
System.out.println(str1.concat(str2));
System.out.println(str2.charAt(0));
System.out.println(str2.indexOf("a"));
System.out.println(str2.substring(1));
System.out.println(str2.substring(1,2));
System.out.println(str2.toCharArray());
System.out.println(str2.getBytes());
System.out.println(str2.replace("a","b"));
System.out.println(new String("aaa,bbb,ccc").split(",")[0]);
}
}
静态static关键字:一旦用类static关键字修饰,那么这样的内容不在属于对象自己,而是属于类,所有本类的对象,共享同一数据。
注意:1、静态只能访问静态。因为在内存中,先有的静态内容,后有的非静态内容。
2、静态方法不能使用this
静态代码块:public class 类名称{
static{静态代码块内容}
}
特点:当第一次用到本类的时候,静态代码块执行唯一的一次
用途:用来一次性的对静态成员变量进行赋值
示例代码
public class Demo {
public static void main(String [] args) {
System.out.println("主方法执行");
Student stu = new Student();
Student stu1 = new Student();
System.out.println(Student.count);
Student.DemoStatic();
}
}
Arrays:一个与数组相关的工具类
示例代码:
public class Demo {
public static void main(String [] args) {
int [] arr = {3,2,1,4,5};
System.out.println(arr);
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
Math:数学相关的工具类
示例代码:
public class Demo {
public static void main(String [] args) {
System.out.println(Math.abs(-2.4));
System.out.println(Math.ceil(-2.4));
System.out.println(Math.floor(-2.4));
System.out.println(Math.round(-2.4));
}
}