【Java03】常用API(一)

01 Scanner Random ArrayList

1.1 导包

使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。

1.2 Scanner类

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

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

1.3 Random类

import java.util.Random; 
public class Demo01_Random { 
    public static void main(String[] args) { 
        //创建一个随机数生成器 
        Random r = new Random(); 
        for(int i = 0; i < 3; i++){ 
            //number取值范围为 [0,10) 
            int number = r.nextInt(10); 
            System.out.println("number:"+ number); 
        } 
    } 
}

1.4 ArrayList类

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

1.4.1 ArrayList类的方法

public class Demo01ArrayListMethod { 
    public static void main(String[] args) { 
        //创建集合对象 
        ArrayList<String> list = new ArrayList<String>(); 
        //添加元素 
        list.add("hello"); list.add("world"); list.add("java"); 		//获取集合中的第一个元素
        System.out.println(list.get(0)); 
        //返回集合中的元素个数 		
        System.out.println(list.size()); 
        //删除指定索引处的元素,返回被删除的元素 		
        System.out.println(list.remove(0)); 
    }
}

1.4.2 如何存储基本数据类型

ArrayList对象不能存储基本类型,只能存储引用类型的数据。所以,想要存储基本类型数据, <> 中的数据类型,必须转化为包装类,转换写法如下:

在这里插入图片描述

02 String static Arrays Math

2.1 String类

2.1.1 特点

1.字符串的值在创建后不能被修改。

String s1 = "abc"; 
s1 += "d"; 
// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向"abcd"。
System.out.println(s1); // "abcd" 

2.因为String对象是不可变的,所以它们可以被共享。

String s1 = "abc"; 
String s2 = "abc"; 
// 内存中只有一个"abc"对象被创建,同时被s1和s2共享

3.“abc” 等效于 char[] data={ 'a' , 'b' , 'c' }

String str = "abc";  
    
char data[] = {'a', 'b', 'c'}; 
String str = new String(data); 
// String底层是靠字符数组实现的。

2.1.2 常用方法

判断功能

  • public boolean equals (Object anObject):将此字符串与指定对象进行比较。
  • public boolean equalsIgnoreCase (String anotherString):将此字符串与指定对象进行比较,忽略大小写。

获取功能

  • public int length () :返回此字符串的长度。
  • public String concat (String str):将指定的字符串连接到该字符串的末尾。
  • public char charAt (int index):返回指定索引处的 char值。
  • public int indexOf (String str):返回指定子字符串第一次出现在该字符串内的索引。
  • public String substring (int beginIndex):返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。
  • public String substring (int beginIndex, int endIndex) :返回一个子字符串,从beginIndex到 endIndex截取字符串。含beginIndex,不含endIndex。

转换功能

  • public char[] toCharArray () :将此字符串转换为新的字符数组。
  • public byte[] getBytes () :使用平台的默认字符集将该 String编码转换为新的字节数组。
  • public String replace (CharSequence target, CharSequence replacement):将与target匹配的字符串,使用replacement字符串替换。

分割功能

public String[] split(String regex) :将此字符串按照给定的regex(规则)拆分为字符串数组。

//创建字符串对象
String s = "aa|bb|cc";
String[] strArray = s.split("|"); 
for(int x = 0; x < strArray.length; x++) { 
    System.out.println(strArray[x]); // aa bb cc               
}

2.2 static关键字

2.2.1 类变量

static修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,也可以在不创建该类的对象的情况下对类变量进行操作。

2.2.2 静态方法

static修饰成员方法时,该方法称为静态方法 。静态方法在声明中有 static ,建议使用类名来调用,而不需要创建类的对象。

静态方法调用的注意事项:

  • 静态方法可以直接访问类变量和静态方法。
  • 静态方法不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法。
  • 静态方法中,不能使用this关键字。

总结:静态方法只能访问静态成员。

2.2.3 静态原理图解

static 修饰的内容:

  • 是随着类的加载而加载的,且只加载一次。
  • 存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
  • 它优先于对象存在,所以,可以被所有对象共享。

在这里插入图片描述

2.2.4 静态代码块

静态代码块:定义在成员位置,使用static修饰的代码块{ }。

  • 位置:类中方法外。
  • 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
  • 作用:给类变量进行初始化赋值。用法演示,代码如下:
public class Game { 
    public static int number; 
    public static ArrayList<String> list; 
    static { 
        // 给类变量赋值 
        number = 2; 
        list = new ArrayList<String>(); 
        // 添加元素到集合中 
        list.add("张三"); 
        list.add("李四"); 
    } 
}

小贴士:

static 关键字,可以修饰变量、方法和代码块。在使用的过程中,其主要目的还是想在不创建对象的情况下,去调用方法。

2.2.5 静态内部类

特点

  1. 静态内部类跟静态方法一样,只能访问静态的成员变量和方法,不能访问非静态的方法和属性,但是普通内部类可以访问任意外部类的成员变量和方法
  2. 静态内部类可以单独初始化: Inner i = new Outer.Inner();
    普通内部类初始化: Outer o = new Outer(); Inner i = o.new Inner();

2.3 Arrays类

概述

java.util.Arrays 类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法。

2.4 Math类

概述

java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。其所有方法均为静态方法。

基本运算的方法

  • public static double abs(double a) :返回 double 值的绝对值。
  • public static double ceil(double a) :返回大于等于参数的最小的整数。
  • public static double floor(double a) :返回小于等于参数最大的整数。
  • public static long round(double a) :返回最接近参数的 long。(相当于四舍五入方法)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。 这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包: org.apache.commons.lang org.apache.commons.lang.builder org.apache.commons.lang.enum org.apache.commons.lang.enums org.apache.commons.lang.exception org.apache.commons.lang.math org.apache.commons.lang.mutable org.apache.commons.lang.time 其中的lang.enum已不建议使用,替代它的是紧随其后的lang.enums包。 lang包主要是一些可以高度重用的Util类;lang.builder包包含了一组用于产生每个Java类中都常使用到的toString()、 hashCode()、equals()、compareTo()等等方法的构造器;lang.enums包顾名思义用于处理枚 举;lang.exception包用于处理Java标准API中的exception,为1.4之前版本提供Nested Exception功能;lang.math包用于处理数字;lang.mutable用于包装值型变量;lang.time包提供处理日期和时间的功 能。 org.apache.commons.lang包,这个包提供了一些有用的包含static方法的Util类。除了6个Exception类和2个已经deprecated的数字类之外,commons.lang包共包含了17个实用的类: ArrayUtils – 用于对数组的操作,如添加、查找、删除、子数组、倒序、元素类型转换等; BitField – 用于操作位元,提供了一些方便而安全的方法; BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组; CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断; CharRange – 用于设定字符范围并做相应检查; CharSet – 用于设定一组字符作为范围并做相应检查; CharSetUtils – 用于操作CharSet; CharUtils – 用于操作char值和Character对象; ClassUtils – 用于对Java类的操作,不使用反射; ObjectUtils – 用于操作Java对象,提供null安全的访问和其他一些功能; RandomStringUtils – 用于生成随机的字符串; SerializationUtils – 用于处理对象序列化,提供比一般Java序列化更高级的处理能力; StringEscapeUtils – 用于正确处理转义字符,产生正确的JavaJavaScript、HTML、XML和SQL代码; StringUtils – 处理String的核心类,提供了相当多的功能; SystemUtils – 在java.lang.System基础上提供更方便的访问,如用户路径、Java版本、时区、操作系统等判断; Validate – 提供验证的操作,有点类似assert断言; WordUtils – 用于处理单词大小写、换行等。 。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值