文章目录
前言
明月皎皎照我床,星汉西流夜未央。 — 曹丕《燕歌行》
# 1 API概述
API (Application Programming Interface) :即应用程序编程接口
2 API基础篇
2.1 Scanner类
Scanner类代表键盘录入,使用步骤如下:
1. 导包
import java.util.Random;
2. 创建对象
Random r = new Random ();
3. 生成随机数,随机数范围:参数为10,生成的范围[0,10)
int number = r.nextInt(10);
4. 代码示例
//导包
import java.util.Scanner;
public class ScannerDemo1{
public static void main(String[] args){
//2.创建对象
Scanner sc = new Scanner(System.in);
//3.接收数据
System.out.println("请输入一个数字");
int i = sc.nextInt();
System.out.println(i);
}
}
注意:next()录入字符串、nextInt()录入整数、nextDouble()录入小数。
2.2 Random类
Random类代表生成随机数,使用步骤如下:
1. 导包
import java.util.Random;
2. 创建对象
Random r = new Random ();
3. 生成随机数,随机数范围:参数为10,生成的范围[0,10)
int number = r.nextInt(10);
4. 代码示例
// 1.导包
import java.util.Random;
public class RandomDemo1 {
public static void main(String[] args) {
// 2.创建对象
Random r = new Random();
// 3.生成随机数
int number = r.nextInt(100);
System.out.println(number);
}
}
3 API进阶篇
3.1 String类
String 类代表字符串,可以使用String类中的相关方法进行字符串相关操作
3.1.1 代码示例
package com.syh;
public class Esther {
public static void main(String[] args) {
// 字符串
String s = "明月照高楼,佳人锦瑟怨!";
System.out.println("s1:" + s);
}
}
3.1.2 == 和 equals方法的区别
-
对于基本数据类型:==比较的是具体的值
-
对于引用数据类型:==比较的是对象地址值
-
equals方法不能比较基本数据类型
-
没有对equals方法进行重写:比较的是对象的地址
-
对equals方法进行了重写:比较的对象的内容
注意:String,Date类对equals进行了重写,所以比较的是对象的内容
代码示例
package com.syh;
public class Esther {
public static void main(String[] args) {
// 1.构造方法的方式得到对象
char[] chs = {'a', 'b', 'c'};
String s1 = new String(chs);
String s2 = new String(chs);
// 2.直接赋值的方式得到对象
String s3 = "abc";
String s4 = "abc";
// 3.比较字符串对象地址是否相同
System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s3 == s4);
System.out.println("--------");
// 4.比较字符串内容是否相同
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println(s3.equals(s4));
}
}
3.2 StringBuilder类
StringBuilder 可以看成是一个容器,创建之后里面的内容是可变的。
3.2.1 代码示例
package com.syh;
public class Esther {
public static void main(String[] args) {
// 1.创建对象
StringBuilder sb = new StringBuilder("abc");
// 2.获取长度
int len = sb.length();
// 3.添加元素
sb.append(1);
// 4.反转
sb.reverse();
}
}
3.2.2 链式编程
package com.syh;
public class Esther {
public static void main(String[] args) {
// 1.创建对象
StringBuilder sb = new StringBuilder();
// 2.链式编程
sb.append("aaa").append("bbb").append("ccc").append("ddd");
System.out.println(sb); //aaabbbcccddd
}
}
3.3 StringJoiner类
StringJoiner跟StringBuilder一样,也可以看成是一个容器,作用是提高字符串的操作效率。代码示例如下:
package com.syh;
import java.util.StringJoiner;
public class Esther {
public static void main(String[] args) {
//1.创建一个对象,并指定中间的间隔符号
StringJoiner sj = new StringJoiner("---");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
//3.打印结果
System.out.println(sj); //aaa---bbb---ccc
}
}
3.4 Math类
Math类即数学类,可以帮助我们完成基本的数学运算
1. Math类的常见方法
public static int abs(int a) // 1.返回参数的绝对值
public static int round(float a) // 2.按照四舍五入返回最接近参数的int类型的值
public static int max(int a,int b) // 3.获取两个int值中的较大值
public static int min(int a,int b) // 4.获取两个int值中的较小值
public static double pow (double a,double b) // 5.计算a的b次幂的值
2. 代码示例
package com.syh;
public class Esther {
public static void main(String[] args) {
// 1.返回绝对值
System.out.println("-2的绝对值为:" + Math.abs(-2));
System.out.println("2的绝对值为:" + Math.abs(2));
// 2.四舍五入
System.out.println("23.45四舍五入的结果为:" + Math.round(23.45));
System.out.println("23.55四舍五入的结果为:" + Math.round(23.55));
// 3.返回最大值
System.out.println("23和45的最大值为: " + Math.max(23, 45));
// 4.返回最小值
System.out.println("12和34的最小值为: " + Math.min(12, 34));
// 4.返回a的b次幂的值
System.out.println("2的3次幂计算结果为: " + Math.pow(2, 3));
}
}
3.5 System类
System类即系统类,包含了系统操作的一些常用的方法。
1. System类的常见方法
public static long currentTimeMillis() // 1.获取当前时间所对应的毫秒值
public static void exit(int status) // 2终止当前正在运行的Java虚拟机,0表示正常退出,非零表示异常退出
2. 代码示例
package com.syh;
public class Esther {
public static void main(String[] args) {
// 1.获取当前时间所对应的毫秒值
long millis = System.currentTimeMillis();
System.out.println("当前时间所对应的毫秒值为:" + millis);
// 2.终止Java虚拟机
System.out.println("程序开始执行了.....");
System.exit(0);
System.out.println("程序终止了..........");
}
}
3.6 Runtime类
Runtime类表示Java中运行时对象,可以获取到程序运行时设计到的一些信息
1. Runtime类的常见方法
public static Runtime getRuntime() // 1.当前系统的运行环境对象
public int availableProcessors() // 2.获得CPU的线程数
public Process exec(String command) // 3.运行cmd命令
2. 代码示例
package com.syh;
import java.io.IOException;
public class Esther {
public static void main(String[] args) throws IOException {
// 1.获得当前运行环境
Runtime runtime = Runtime.getRuntime();
// 2.获得CPU的线程数
System.out.println(runtime.availableProcessors());
// 3.运行cmd命令
// shutdown :关机
// 加上参数才能执行
// -s :默认在1分钟之后关机
// -s -t 指定时间 : 指定关机时间
// -a :取消关机操作
// -r: 关机并重启
runtime.exec("shutdown -s -t 3600");
}
}
3.7 Object类
Object类为超类,即每个Java类的父类
1. Object类常见方法
public String toString() // 1.返回该对象的字符串表示形式
public boolean equals(Object obj) // 2.比较两个对象地址值是否相等
2. 代码示例
package com.syh;
/**
* 学生类
*/
public class Student {
/**
* 成员变量
*/
private String name ;
private String age ;
public Student() {
}
public Student(String name, String age) {
this.name = name;
this.age = age;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public String getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(String age) {
this.age = age;
}
/**
* 重写toString方法
*/
public String toString() {
return "Student{name = " + name + ", age = " + age + "}";
}
}
package com.syh;
/**
* 测试类
*/
public class Test {
public static void main(String[] args) {
// 1.toString()方法
Student s1 = new Student("李默然" , "18") ;
String result1 = s1.toString();
// 注意:这里输出itheima和14是因为重写了toString方法,如果没有重写toString方法,输出的是地址值
System.out.println("s1对象的字符串表现形式为:" + result1);
// 2.equals()方法
Student s2 = new Student("李默然" , "18") ;
Student s3 = new Student("李默然" , "18") ;
System.out.println(s2.equals(s3));
}
}
标签:Java,String,int,System,手册,初级,println,public,out
From: https://blog.csdn.net/m0_70587611/article/details/142287802