Java中的字符串对象(String)

 

目录

字符串的定义

字符串的常见操作

将整数转换为字符串

格式化字符串

字符串的比较

将字符串转为ASCII码


Java 中字符串是个对象,是引用数据类型。

字符串的定义

//字符串的定义
String a = "hello,word!";
String b = new String(" hello,word!");
String z = "\"ok\"";   //转义字符串

字符串的常见操作

//字符串的基本操作
int len = a.length();      //取得字符串的长度
char c = a.charAt(4);      //提取出a中索引为4的字符,也就是o
int d = a.indexOf("w");    //取得指定字符的索引
String e = b.trim();       //去掉字符串首尾的空格
String f = a + ",hha";     //字符串的拼接
String g = a.substring(1,4);       //字符串的子串
String h = a.replace("llo","he");  //字符串的替换
a.getBytes();             //将字符串转为字节流

将整数转换为字符串

//将整数转换为字符串
int i = 123;
String j = String.valueOf(i);

格式化字符串

//格式化字符串
int k = 456;
double l = 123.456;
String m = "hello,word!";
String n = String.format("k=%d,l=%.2f,%s",k,l,m);

字符串的比较

//字符串的比较                                       
if(a.equals(b)){                               
    System.out.println("字符串a和字符串b相等");         
}else{                                         
    System.out.println("字符串a和字符串b不相等");        
}                                              
if(a.equals("hello,word!")){                   
    System.out.println("字符串a和 hello,word! 相等");
}else{                                         
    System.out.println("字符串a和 hello,word! 不相等")
}                                              
//字符串的大小比较                                     
int q = a.compareTo(b);  //相等为0,大于整数,小于负数      
if(q>0){                                       
    System.out.println("a大于b");                
}else if(q<0){                                 
    System.out.println("a小于b");                
}else{                                         
    System.out.println("a等于b");                
}                                              

字符串的比较

  • 基本数据类型,也称原始数据类型。byte、short、char、int、long、float、double、boolean 他们之间的比较,应用双等号(==),比较的是他们的值。
  • 复合数据类型(类),当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String、Integer、Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。 对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

将字符串转为ASCII码

//将字符串转换为ASCII码
System.out.println("---将字符串转换为ASCII码---");
String o = "abcdABCD";
System.out.println(String.format("原字符串为:%s",o));
String r = "";
byte[] p = o.getBytes();
for(byte t:p){
   r = r+t+"-";   //拼接,最后为 97-98-99-100-65-66-67-68-
}
r=r.substring(0,r.length()-1);  //去除最末尾的-
System.out.println(String.format("转为ASCII值为:%s",r));

全文代码

package com.company;

public class Main {
    public static void main(String[] args) {
        //字符串的定义
        String a = "hello,word!";
        String b = new String(" hello,word!");
        String z = "\"ok\"";   //转义字符串
        System.out.println("---字符串的定义---");
        System.out.println(a);
        System.out.println(b);
        System.out.println(z);

        //字符串的基本操作
        int len = a.length();  //取得字符串的长度
        char c = a.charAt(4);  //提取出a中索引为4的字符,也就是o
        int d = a.indexOf("w");  //取得指定字符的索引
        String e = b.trim();   //去掉字符串首尾的空格
        String f = a + ",hha";  //字符串的拼接
        String g = a.substring(1,4);  //字符串的子串
        String h = a.replace("llo","he"); //字符串的替换

        System.out.println("---字符串的基本操作---");
        System.out.println(len);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
        System.out.println(h);

        //将整数转换为字符串
        int i = 123;
        String j = String.valueOf(i);
        System.out.println("---将整数转为字符串---");
        System.out.println(j);

        //格式化字符串
        int k = 456;
        double l = 123.456;
        String m = "hello,word!";
        String n = String.format("k=%d,l=%.2f,%s",k,l,m);
        System.out.println("---格式化字符串---");
        System.out.println(n);

        //字符串的比较
        System.out.println("---字符串的比较---");
        if(a.equals(b)){
            System.out.println("字符串a和字符串b相等");
        }else{
            System.out.println("字符串a和字符串b不相等");
        }
        if(a.equals("hello,word!")){
            System.out.println("字符串a和 hello,word! 相等");
        }else{
            System.out.println("字符串a和 hello,word! 不相等");
        }
        //字符串的大小比较
        int q = a.compareTo(b);  //相等为0,大于整数,小于负数
        if(q>0){
            System.out.println("a大于b");
        }else if(q<0){
            System.out.println("a小于b");
        }else{
            System.out.println("a等于b");
        }
        //将字符串转换为ASCII码
        System.out.println("---将字符串转换为ASCII码---");
        String o = "abcdABCD";
        System.out.println(String.format("原字符串为:%s",o));
        String r = "";
        byte[] p = o.getBytes();
        for(byte t:p){
            r = r+t+"-";   //拼接,最后为 97-98-99-100-65-66-67-68-
        }
        r=r.substring(0,r.length()-1);  //去除最末尾的-
        System.out.println(String.format("转为ASCII值为:%s",r));
    }
}

运行截图

 

本文代码:链接: https://pan.baidu.com/s/1iHSFSktzBWOJp210Gcsrkw 提取码: itk8

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值