Day07 JAVA基础学习22天

Day07【常用API②】

前提须知
使用API的基本步骤【3步】:
①导包
②创建对象
③使用

一、String类【java.util.String】【重点】
1、概念:String类中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具 有翻译为大写或小写的所有字符的字符串的副本。

【此包可以不用导包】

在java.lang下的类,可以不用导包

2、查看构造方法:

String() 创建一个空的字符串对象
String(String original) 根据字符串来创建一个字符串对象
String(char[] value) 通过字符数组来创建字符串对象
String(byte[] bytes) 通过字节数组来构造新的字符串对象
String(byte[] bytes, int offset, int length) 通过字节数组一部分来构造新的字符串对象

3、String特点
1)、字符串不变:字符串的值在创建后不能被更改。
2)、因为String对象是不可变的,所以它们可以被共享。

4、常用方法
【判断方法】

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

【获取方法】

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

【转换方法】

【1】public char[] toCharArray () :将此字符串转换为新的字符数组。
【2】public byte[] getBytes () :使用平台的默认字符集将该 String编码转换为新的字节数组。
【3】public String toLowerCase() :使用默认语言环境的规则将此 String所有字符转换为小写。
【4】public String toUpperCase() :将此 String所有字符转换为大写,使用默认语言环境的规则。
【5】public String replace (CharSequence target, CharSequence replacement) :将与target匹配的字符串使 用replacement字符串替换。

【分割方法】

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

5、常量池
简介:常量池也是JVM中的一块内存区域,在JDK1.6及以前,常量池是存储在方法区的,在JDK1.7之和,常量池被划分到 了堆内存。常量池的东西只会保存一份
Day07 JAVA基础学习22天_第1张图片
【直接等号出来的字符串是在堆中的常量池中】
【new出来的字符串是在堆内存内,常量池外】

二、static关键字
概述:关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。

1、格式:

static 数据类型 变量名;
static int numberID;

2、【注意事项】【重要】
静态方法【不能】直接访问非静态方法。
非静态方法【可以】直接访问静态方法。
静态方法【可以】访问静态方法。
静态方法【只能】访问静态成员。
静态方法中,【不能】使用this关键字。

3、调用格式
类名.类变量名
类名.静态方法名(参数)

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

static原理图解
Day07 JAVA基础学习22天_第2张图片

5、静态代码块
静态代码块:定义在成员位置,使用static修饰的代码块{ }。
【位置】:类中方法外。
【执行】:随着类的加载执行,而执行且执行一次。

格式:
public class ClassName {
      
	static {
      
	//执行语句 
	} 
}

小贴士: static 关键字,可以修饰变量、方法和代码块。在使用的过程中,其主要目的还是想在不创建对象的情况 下,去调用方法。下面将介绍两个工具类,来体现static 方法的便利。

三、Arrays类【java.util.Arrays】
概述:此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来 非常简单。

1、操作数组的方法

public static String toString(int[] a) :返回指定数组内容的字符串表示形式。
例题:

public static void main(String[] args) {
      
	int[] arr={
     24,546,7,5678,58,76,83,45,435,34}; 	
	System.out.println(arr); //[I@1540e19d 
	//将数组转换成字符串 
	String str = Arrays.toString(arr); //[24, 546, 7, 5678, 58, 76, 83, 45, 435, 34] 
	System.out.println(str);
}

public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
例题:

public static void main(String[] args) {
      
	int[] arr={
     24,546,7,5678,58,76,83,45,435,34}; 				
	System.out.println("排序前: "+Arrays.toString(arr)); //将数组升序排序 
	Arrays.sort(arr); System.out.println("排序后: "+Arrays.toString(arr)); 
}

四 、Math类【java.lang.Math】

小提示:在java.lang下的类可以不用导包

概念:该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具 类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。

使用方法:

【1】public static double abs(double a) :返回 double 值的绝对值。
【2】public static double ceil(double a) :返回大于等于参数的最小的整数。(向上取整)
【3】public static double floor(double a) :返回小于等于参数最大的整数。(向下取整)
【4】public static long round(double a) :返回最接近参数的 long。(相当于四舍五入方法)

作业:链接:https://pan.baidu.com/s/1iPZV3gJ83UjVsCgi_K_M2Q
提取码:v2pg

答案:

public class Text01 {
     
    public static void main(String[] args) {
     
        String str1 = new String("你好");
        System.out.println(str1);

        String str2 = "hello";
        System.out.println(str2);

        String str3 = "abcde";
        System.out.println(str3);
    }
}
public class Text08 {
     
    public static void main(String[] args) {
     
        String str = "javajfiewjavajfiowfjavagkljjava";

        System.out.println("字符串java的数量:" + getCount(str, "java"));

    }

    public static int getCount(String str, String ch) {
     
        int count = 0;

        while (str.indexOf(ch) != -1) {
     
            int i = str.indexOf(ch);
            str = str.substring(i + ch.length());
            count++;
        }
        return count;
    }
}
public class Text09 {
     
    public static void main(String[] args) {
     
        ArrayList<String> list = new ArrayList<>();
        list.add("dad");
        list.add("xwfa");
        list.add("gwfv");
        list.add("ddaa ");
        list.add("你好呀");
        list.add("你好啊我来了");
        list.add("别跑啊");

        System.out.print("源ArrayList:");
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
     
            System.out.print(list.get(i)+",");
        }
        System.out.println("]");

        list(list);


    }

    public static void list(ArrayList<String> list) {
     
        for (int i = 0; i < list.size(); i++) {
     
            if (list.get(i).length() > 4) {
     
                list.remove(i);
            }

        }

        System.out.print("删除后ArrayList:");
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
     
            System.out.print(list.get(i)+",");
        }
        System.out.println("]");

    }
}

你可能感兴趣的:(java,java)