Java常用API

1 Scanner类 

1.1 定义

        一个可以解析基本类型和字符串的简单文本扫描器。可以实现键盘输入数据到程序当中。

        例如,以下代码使用用户能够从System.in中读取一个数:

Scanner sc=new Scanner(System.in);
int i=sc.nextInt();

注:System.in系统输入指的是通过键盘录入数据。

1.2 引用类型使用步骤

(1)导包

        import 包路径.类名称;

  •                          
    • 如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
    • 只有java.lang包下的内容不需要导包,其他的包都需要import语句。
    • 当写对象的创建语句调用Scanner包是,系统会自动书写import语句。  

(2)创建

        类名称 对象名 = new 类名称();

(3)使用

        对象名. 成员方法名()

1.3 功能

(1)获取键盘输入的一个int数字:

        int num=sc.nextInt();

import java.util.Scanner;//1.导包

public class Day6_scanner {
    public static void main(String[] args) {
        //2.创建
        //备注:System.in代表从键盘输入
        Scanner sc=new Scanner(System.in);

        //3.获取键盘输入的int数字
        int num=sc.nextInt();
        System.out.println("输入的int数字是"+num);

    }
}

(2)获取键盘输入的一个字符串:

        String str=sc.next();

import java.util.Scanner;//1.导包

public class Day6_scanner {
    public static void main(String[] args) {
        //2.创建
        //备注:System.in代表从键盘输入
        Scanner sc=new Scanner(System.in);

        //4.获取键盘输入的一个String字符串
        String str=sc.next();
        System.out.println("输入的string字符串是"+str);

    }
}

2 Random类

2.1 定义

        Random类用来生成随机数字。

2.2 引用类型使用步骤

(1)导包

        import java.util.Random;  

(2)创建

        Random r = new Random();//小括号当中留空即可

(3)使用

        对象名. 成员方法名()

2.3 功能

(1)获取一个随机int数字(int所有范围,有正负两种):

        int num = r.nextInt();

public class Day6_random {
    public static void main(String[] args) {
        //第一种
        Random r=new Random();
        int num1=r.nextInt();
        System.out.println("随机数字是"+num1);

    }
}

(2)获取一个随机int数字(参数代表了范围,左闭右开区间):

        int num=r.nextInt(3);

        即上述代码实际代表含义是[0,3),也就是0~2。

public class Day6_random {
    public static void main(String[] args) {
        //第二种
        for (int i = 0; i < 100; i++) {
            int num2=r.nextInt(10);
            System.out.println(num2);
        }
    }
}

3 ArrayList类

3.1 定义

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

3.2 引用类型使用步骤

(1)查看类

        java.util.ArrayList<E>:该类需要import导入后使用。

        <E>:表示一种指示的数据类型,叫做泛型。E,取自Element(元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。

        代码如下:

        ArrayList<String>,ArrayList<Student> 

(2)查看构造方法

        public ArrayList():构造一个内容为空的集合。

        基本格式:

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

 注:在JDK7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。

3.3 功能

(1)public boolean add(E e):

        向集合中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。

        备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于其他集合来说,add添加动作不一定会成功。

public class Day6_arrayList {
    public static void main(String[] args) {
        //创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
        //备注:从JDK1.7+开始,右侧的尖括号<E>里面可以不写内容,但是尖括号本身还是要写的
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);

        //向集合当中添加一些数据,需要用到add方法
        list.add("cici");
        System.out.println(list);
        list.add("casdhf");
        System.out.println(list);
    }
}

(2)public E get(int index):

        从集合中获取元素,参数是索引编号,返回值就是对应位置的元素。

public class Day6_arrayList2 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);


        //从集合中获取元素,get,索引值从0开始
        String name=list.get(0);
        System.out.println(name);
    }
}

(3)public E remove(int index):

        从集合中删除元素,参数是索引编号,返回值就是被删除的元素。

public class Day6_arrayList2 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);

        //从集合中删除元素,remove
        String whoRemoved=list.remove(0);
        System.out.println("被删除的人是谁?"+whoRemoved);
        System.out.println(list);

    }
}

(4)public int size():

        获取集合的尺寸长度,返回值是集合中包含的元素个数。

public class Day6_arrayList2 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);

        //获取集合的长度尺寸,也就是其中元素的个数
        int size=list.size();
        System.out.println(size);

    }
}

3.4 ArrayList集合存储基本数据类型

如果希望向集合ArrayList中存储基本类型数据,必须使用基本类型对应的“包装类”。

基本类型包装类(引用类型,包装类都位于java.lang包下)
byteByte
shortShort
intInteger【特殊】
longLong
floatFloat
doubleDouble
charCharacter【特殊】
booleanBoolean
public class Day6_arrayList3 {
    public static void main(String[] args) {
        ArrayList<String> list1=new ArrayList<>();
        //错误写法,泛型只能是引用类型,不能是基本类型
//        ArrayList<int> list2=new ArrayList<>();

        ArrayList<Integer> list2=new ArrayList<>();
        list2.add(100);
        list2.add(200);
        System.out.println(list2);

        list2.get(1);
        System.out.println("第一号元素是"+list2.get(1));
    }
}

3.5 注意事项

  1. 数组的长度不可以发生改变,但是ArrayList集合的长度可以随意变化。
  2. 泛型只能是引用类型,不能是基本类型。如果想要使用基本类型,就需要使用“包装类”。
  3. 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容为空,得到的是空的括号[ ]。

4 String类

4.1 定义

        java.lang.String类代表字符串。

        java程序中所有字符串字面值(如:“abc”)都作为此类的实例实现。

        也就是说,程序当中的所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。) 

4.2 特点

  1. 字符串的内容永不可变【重点】
  2. 正是因为字符串不可改变,所以字符串是可以共享使用的。
  3. 字符串效果上相当于char[ ]字符数组,但是底层原理是byte[ ]字节数组。

4.3 创建字符串的常见3+1种方法

(1)三种构造方法        

        public String():创建一个空白字符串,不含有任何内容。

        public String(char [ ] array):根据字符数组的内容,来创建对应的字符串。

        public String(byte[ ] array):根据字节数组的内容,来创建对应的字符串。

(2)一种直接创建 

        String str =“Hello”;//右边直接用双引号

public class Day7_string {
    public static void main(String[] args) {
        //使用空参构造
        String str1=new String();//小括号留空,说明字符串什么内容都没有
        System.out.println("第一个字符串"+str1);

        //根据字符数组创建字符串
        char[] charArray= {'A','B','C'};
        String str2=new String(charArray);
        System.out.println("第二个字符串"+str2);

        //根据字节数组创建字符串
        byte[] byteArrray={97,98,99};
        String str3=new String(byteArrray);
        System.out.println("第三个字符串"+str3);//第三个字符串abc

        //直接创建
        String str="Hello";//右边直接用双引号
        System.out.println("第四个字符串"+str);
    }
}

注意:直接写上双引号,就是字符串对应,不管new不new。

字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。

  • 对于基本类型来说,==是进行数值的比较。
  • 对于引用类型来说,==是进行【地址值】的比较。

 

如果需要对字符串的内容进行比较,可以使用以下两个方法:

(1)public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同才会给true;否则返回false。

        注意事项:

        ①任何对象都能用Object进行接收。

        ②equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。

        ③如果比较双方一个常量一个变量,推荐把常量字符串写在前面。

                推荐:“abc”.equals(str)        不推荐:str.equals("abc")

(2)public boolean equalIgnoreCase(String str):忽略大小写,进行内容比较。

        注意:只有英文字母可以区分大小写,其他不区分。

public class Day7_string3 {
    public static void main(String[] args) {
        String str1="abc";
        String str2="abc";

        char[] charArray={'a','b','c'};
        String str3=new String(charArray);

        System.out.println(str1.equals(str2));
        System.out.println(str2.equals(str3));
        System.out.println(str3.equals("abc"));

        System.out.println("---------------------");

        String str5=null;
        System.out.println("abc".equals(str5));//推荐
//        System.out.println(str5.equals("abc"));//不推荐,报错:空指针异常NullPointerException

        System.out.println("---------------------");

        String str6="Abc";
        System.out.println(str6.equalsIgnoreCase(str1));
    }
}

4.4 String类与获取相关的常用方法

(1)public int length():

        获取字符串当中含有的字符个数,拿到字符串长度。

(2)public String concat(String str):

        将当前字符串和参数字符串拼接成为返回值新的字符串。

(3)public char charAt(int index):

        获取指定索引位置的单个字符。(索引从0开始)

(4)public int indexOf(String str):

        查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值。

public class Day7_string4 {
    public static void main(String[] args) {
        //与获取有关方法
        System.out.println("asjfgsjd".length());

        System.out.println("skdjf".concat("ajgsdf"));

        System.out.println("kjsdhf".charAt(4));

        System.out.println("ksjghdga".indexOf("b"));

    }
}

4.5 String类与截取相关的常用方法

(1)public String substring(int index):

        截取从参数位置一直到字符串末尾,返回新字符串。

(2)public String substring(int begin,int end):

        截取从begin开始,一直到end结束,中间的字符串。

        【注】:[begin,end),是包含左边,不包含右边的左闭右开区间。

public class Day7_string4 {
    public static void main(String[] args) {
        //与截取有关方法
        System.out.println("sdhfgkasj".substring(5));

        System.out.println("ajksgfhsdf".substring(5,8));

        //下面这种写法,字符串的内容仍然没有改变
        //下面有两个字符串“abc”,“Java”
        //StrA中保存的是地址值
        //本来的地址值是abc的0x666
        //后来地址值变成了java的0x999
        String strA="abc";
        System.out.println(strA);
        strA="java";
        System.out.println(strA);
    }
}

4.6 String类与转换相关的常用方法

(1)public char[ ] toCharArray():

        将当前字符串拆分成为字符数组作为返回值。

(2)public byte[ ] getBytes():

        获得当前字符串底层的字节数组。

(3)public String replace(CharSequence oldString,CharSequence newString):

        将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。

        备注: CharSequence意思就是说可以接受字符串类型。

public class Day7_string4 {
    public static void main(String[] args) {
        //与转换有关方法
        //转换成为字符数组
        char[] chars="hello".toCharArray();
        System.out.println(chars);
        System.out.println(chars[0]);
        System.out.println(chars[1]);

        //转换成为字节数组
        byte[] bytes="abc".getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]);
        }

        System.out.println("kjasgdfjhaf".replace("a","0"));

    }
}

输出:

        

4.7 String类与切分有关的常用方法

        public String[ ] split(String regex)

        按照参数的规则,将字符串切分成为若干部分。

public class Day7_string4 {
    public static void main(String[] args) {
        String str2="jkjjfhs,aksj,aksjh";
        String[] array1=str2.split(",");
        for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i]);
        }

        String str3="jkjjfhs.aksj.aksjh";
        String[] array3=str3.split("\\.");
        System.out.println(array3.length);
        for (int i = 0; i < array3.length; i++) {
            System.out.println(array1[i]);
        }
    }
}

输出:

         

注意事项:

  • split方法的参数其实是一个 正则表达式,今后学习。
  • 如果按照“.”进行切分,必须写“\\”(两个反斜杠)

5 数组工具类Arrays

5.1 定义

        java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。

5.2 功能

(1)public static String toString(数组):

        将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3,...])

(2)public static void sort(数组):

        按照默认升序(从小到大)对数组的元素进行排序。

public class Day7_arrays {
    public static void main(String[] args) {
        int[] arr={10,20,30};
        String str= Arrays.toString(arr);
        System.out.println(str);

        int[] arr2={100,20,30};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));

        String[] arr3={"aaa","agsd","iuy"};
        Arrays.sort(arr3);
        System.out.println(Arrays.toString(arr3));
    }
}

输出:

         

备注:

  1. 如果是数值,sort默认按照升序从小到大。
  2. 如果是字符串,sort默认按照字母升序。
  3. 如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口支持(今后学习)

6 数学工具类Math

6.1 定义

        java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。

6.2 功能

(1)public static double abs(double num):

        获取绝对值,有多种重载。

(2)public static double ceil(double num):

        向上取整。

(3)public static double floor(double num):

        向下取整。

(4)public static long round(double num):

        四舍五入

public class Day7_math {
    public static void main(String[] args) {
        System.out.println(Math.abs(-3014.14));
        System.out.println(Math.ceil(-3014.14));
        System.out.println(Math.floor(-3014.14));
        System.out.println(Math.round(-3014.14));
    }
}

输出:

         

        Math.PI 代表近似的圆周率常量。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值