0
点赞
收藏
分享

微信扫一扫

Java基础(概述、String)

老牛走世界 2022-03-19 阅读 55
java

1. Java概述

  • Java SE 标准版、Java EE 企业版、 Java ME 嵌入式开发。
  • JVM 叫 Java 虚拟机,它也是整个 Java 技术的核心。Java 语言的跨平台就多亏了 JVM。
  • JDK 叫 Java 开发工具包,没有 JDK 就没有办法进行 Java 程序的开发。
  • JRE 叫 Java 运行环境,如果我们需要运行一个 Java 程序,就得安装 JRE。

2. String

字符串的比较

  • equals() 方法,该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回 true,否则返回 false。
  • equalsIgnoreCase() 方法,其用法与 equals() 一致,不过它会忽视大小写
public class Practice {
	public static void main(String[] args) {
		String a = "abcdefg";
		String b = new String("abcdefg");
		String c = "Abcdefg";
		System.out.println("对比字符串a和b:" + a.equals(b));
		System.out.println("对比字符串a和c:" + a.equals(c));
		System.out.println("对比字符串a和c:" + a.equalsIgnoreCase(c));
	}
}

对比结果

对比字符串a和b:true
对比字符串a和c:false
对比字符串a和c:true
  • 使用 "==" 比较的是两个对象在内存中存储的地址是否一样
String a = "abcdefg";
String b = new String("abcdefg");
String d = "abcdefg";
boolean e = (a == d);
boolean e1 = (a == b);
System.out.println(e);
System.out.println(e1);

运行结果

true
false

而 b 使用 new 关键字申请新的内存,所以内存地址和 a 的地址不一样,所以获得的值是 false。

字符串的连接

  • 使用 +
  • 使用 String 类的 concat() 方法。
public class Practice {
	public static void main(String[] args) {
		String a = "abc";
		String b = new String("def");
		String c = a+b;
		String d = a.concat(b);
		
		System.out.println("c:"+c);
		System.out.println("d:"+d);

	}
}

运行结果

c:abcdef
d:abcdef

charAt()方法

charAt() 方法的作用是按照索引值(规定字符串中第一个字符的索引值是 0,第二个字符的索引值是 1,依次类推),获得字符串中的指定字符。

public class Practice {
	public static void main(String[] args) {
		String a = "abcdef";
		System.out.println(a.charAt(2));

	}
}

运行结果

c

字符串常用提取方法

  • indexOf(char ch) : 搜索字符 ch 第一次出现的索引

  • indexOf(String value) : 搜索字符串 value 第一次出现的索引

  • lastIndexOf(char ch) : 搜索字符 ch 最后一次出现的索引

  • lastIndexOf(String value) : 搜索字符串 value 最后一次出现的索引

  • substring(int index) : 提取从位置索引开始到结束的字符串

  • substring(int beginindex, int endindex) : 提取 beginindex 和 endindex 之间的字符串部分(不包括endindex)

  • trim() : 返回一个前后不含任何空格的调用字符串的副本

public class Practice {
  public static void main(String[] args) {
      String a = "  abcdefabcde  ";
      System.out.println(a.indexOf('c'));
      System.out.println(a.indexOf("de"));
      System.out.println(a.lastIndexOf('a'));
      System.out.println(a.lastIndexOf("ab"));
      System.out.println(a.substring(7));
      System.out.println(a.substring(0, 6));
      System.out.println(a);
      System.out.println(a.trim());

  }
}

运行结果

4
5
8
8
fabcde  
  abcd
  abcdefabcde    
abcdefabcde

StringBuilder

String 是无法被修改的,对 String 的修改,其实是新建了一个 String 对象。如果需要修改字符串的内容,可以使用 StringBuilder。它相当于一个存储字符的容器。初始化格式有以下三种:

  • 构造一个不包含任何字符且初始容量为 16 的 StringBuilder
  • 构造一个不包含任何字符且容量为 cap 的 StringBuilder
  • 构造一个 StringBuilder,内容初始化为 str
StringBuilder s1 = new StringBuilder();
StringBuilder s2 = new StringBuilder(5);
StringBuilder s3 = new StringBuilder("java");
public class Practice {
    public static void main(String[] args) {
        StringBuilder s1 = new StringBuilder();
        s1.append("java");//append相当于 + ;
        StringBuilder s2 = new StringBuilder(5);
        StringBuilder s3 = new StringBuilder("java");
        
        System.out.println("s1:" + s1.toString() + "\tcap:" + s1.capacity());//capacity:字符容量,StringBuilder初始容量为16 ;
        System.out.println("s2:" + s2.toString() + "\tcap:" + s2.capacity());//\t是补全当前字符串长度到8的整数倍,最少1个最多8个空格
        System.out.println("s3:" + s3.toString() + "\tcap:" + s3.capacity());

    }
}

运行结果

s1:java cap:16
s2:     cap:5
s3:java cap:20

StringBuilder 常用方法

  • deleteCharAt(int index) : 删除 StringBuilder 中指定位置的 char
  • indexOf() : 返回子字符串首次出现在该字符串中的索引
  • capacity() : 返回当前容量
  • charAt(int index) : 返回序列中指定索引的 char 值
  • toString() : 返回序列数据的 string 格式
public class Practice {
    public static void main(String[] args) {
        StringBuilder s1 = new StringBuilder("java");
        System.out.println(s1.substring(0, 4));
        System.out.println(s1.deleteCharAt(0));
        System.out.println(s1.indexOf("a"));
        System.out.println(s1.capacity());
        System.out.println(s1.charAt(2));
        System.out.println(s1.toString());
    }
}

运行结果

java
ava
0
20
a
ava
举报

相关推荐

0 条评论