Java常见基础类的使用

Java常见基础类的使用

String类的使用

  1. String不管有没有new,创造出来的都是对象

  2. 创造出的String对象内容是常量,不可改变,可用于共享,都是基于byte[]字节数组。

  3. string类的创建

    package com.ruleyi.DemoClass;
    
    public class DemoStringClass {
        public static void main(String[] args) {
            //无参构造
            String str = new String();
            System.out.println(str);//空
            //char字符串构造
            char[] charArray = {'z','x', 'c'};
            String str2 =new  String(charArray);
            System.out.println(str2);//zxc
            //byte字符串构造
            byte[] byteArray = { 49,72,81 };
            String str3 = new String(byteArray);
            System.out.println(str3);//1HQ
            //直接构造
            String str4 = "你好,世界";
            System.out.println(str4);//你好,世界
    
        }
    }
    
    

    String的共享

    1. 字符串常量池:字符串中使用双引号的的字符串在常量池中,new的不在

    2. ==在基本类型中比较的是数值,在引用类型中比较的是地址。

    3. 在字符串常量池中创建的相同字符串,指向同一个byte地址,地址相同

    4. 字符串常量池中的字符和new的字符,就算内容相同,地址也不同,因为new创建的字符不是由字符串常量池指向。

    字符串的比较

    1. 因为String是一个类,故可以调用方法.equals()来比较内容。

      • .equals()只可以比较字符串,括号内可以是任意的类,因为只需返回值是字符串就好。

      • .equals()具有对称性,但是一般推荐常量在前,变量在后,因为变量在前,若变量为空,则会空指针异常报错。

      • str1.equalsIgnoreCase(str1)可以忽略英文字母大小写。   
        

字符串常用方法

* 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 old, CharSequence new) :将与old匹配的字符串使 用new字符串替换,生成一个新的字符串。

字符串的切割

  • public String[] split(String regex) :将此字符串按照给定的regex(规则)拆分为字符串数组。注意括号内的规则为正则表达式,所以切割英文逗号".“时,不可以用”.",要用"\\.",因为"."在正则表达式中具有特殊含义

Static关键字

  • 在类中 使用Static后,所创建属性属于类,由创建的对象所共享。
  • 一个对象创建,多个对象共享。

static修饰方法

  • 类的方法为成员方法,使用static修饰后变为静态方法,成员变量与静态变量也遵守这个规则。
  • 静态方法(变量)归属于类,无需创建可直接使用类名和对象名均可调用,推荐使用类名调用,方便阅读,非静态对象只能先创建再调用。
  • 静态只能调用静态,成员可以都进行调用,因为静态先创建,成员后创建,
  • 静态方法中不可以使用this关键字,因为this关键字表示本对象中,静态方法在类中。

Static的内存位置

  • Static成员方法在方法区中静态区中,和对象没关系,只和类有关系,调用静态成员方法直接去向类的方法区寻找,然后指向静态区。

静态代码块

静态代码块:定义在成员位置,使用static修饰的代码块{ }。 位置:类中方法外。 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。

public class ClassName{
	static {
	// 执行语句
	}
}

作用:给类变量进行初始化赋值。用法演示,代码如下:

public class Game {
	public static int number;
	public static ArrayList<String> list;
	static {
		// 给类变量赋值
		number = 2;
		list = new ArrayList<String>();
		// 添加元素到集合中
		list.add("张三");
		list.add("李四");
	}
}

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

Arrays的使用

  • public static String toString(int[] a) :返回指定数组内容的字符串表示形式[元素一,元素二,…]。
  • public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。字母按照字母升序排序。
  • .fori正序遍历,.forr倒序遍历(reverse)

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) :返回四舍五入方
  • Math.PI 相当于double类型圆周率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值