Java——String类
body, table{font-family: 微软雅黑; font-size: 10pt}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}
|
public String()
public String(byte[] bytes)
|
public String(byte[] bytes,int offset,int length)
public String(char[] value)
|
public String(char[] value,int offset,int count)
public String(String original)
|
|
boolean equals(Object obj);
boolean equalsIgnoreCase(String str);
|
boolean contains(String str);
boolean startsWith(String str);
|
boolean endsWith(String str);
boolean isEmpty();
|
|
int length();
char charAt(int index);
int indexOf(int ch); //默认转换 : byte,short,char—int—long—float—double;
//byte,short,char相互之间不转换,他们参与运算首先转换为int类型
int indexOf(String str);
|
int indexOf(int ch,int fromIndex);
int indexOf(String str,int fromIndex);
String substring(int start);
String substring(int start,int end);
|
|
byte[] getBytes();
// 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
char[] toCharArray();
// 将此字符串转换为一个新的字符数组。
static String valueOf(char[] chs);
//转字符串
|
static String valueOf(int i);
String toLowerCase();
String toUpperCase();
String concat(String str);
|
|
替换功能
String replace(char old,char new);
String replace(String old,String new);
//去除字符串两空格
String trim(); //返回字符串的副本,忽略前导空白和尾部空白。
|
按字典顺序比较两个字符串
int compareTo(String str);
int compareToIgnoreCase(String str);
|
| StringDemo.Java 构造函数 | StringDemo2.java 方法 |
|
package com.java.string;
public class StringDemo {
public static void main(String[] args) {
String string = "abc";
string+="hello";
System.out .println(string);
String s1=new String();
System.out.println("s1 = "+s1);
//String类重写toString方法,输出该String的内容
//s1 =
System.out .println("s1.length() = "+s1.length()); //s1.length() = 0
byte[] bytes={97,98,99,100,101};
String s2=new String(bytes);
String s3=new String(bytes,1,3);
System.out .println("s2 = "+s2); //s2 = abcde
System.out .println("s2.length() = "+s2.length()); //s2.length() = 5
System.out .println("s3 = "+s3); //s3 = bcd
System.out .println("s3.length() = "+s3.length()); //s3.length() = 3
char[] ch={'a','b','e','中','国'};
String s4=new String(ch);
System.out.println("s4 = "+s4); //s4 = abe中国
System.out .println("s4.length() = "+s4.length()); //s4.length() = 5
String s5=new String(s4);
System.out .println("s5 = "+s5); //s5 = abe中国
System.out .println("s5.length() = "+s5.length()); //s5.length() = 5
String string_1="abc"; //string_1指向常量池“abc”的地址
String s_1=new String("abc"); //重点,堆上开辟空间的时候先去找常量池有没有“abc”,有的话堆上空间就只是简单地存储常量池“abc”地址
System.out.println("string_1==s_1 ? "+(string_1==s_1)); //string_1==s_1 ? false ;这里比较的是地址
System.out.println("string_1.equals(s_1) ? "+(string_1.equals(s_1) )); //string_1.equals(s_1) ? true;这里比较的是内容
}
}
|
package com.java.string;
public class StringDemo2 {
public static void main(String[] args) {
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1==s2); //false
System.out.println(s1.equals(s2)); //true
String s3 = new String("hello");
String s4 = "hello";
System.out.println(s3==s4); //false
System.out.println(s3.equals(s4)); //true
String s5 = "hello";
String s6 = "hello";
System.out.println(s5==s6); //true
System.out.println(s5.equals(s6)); //true
String ss1 = "hello";
String ss2 = "world";
String ss3 = "helloworld";
//两个字符串变量相加,先在堆上开空间s4,然后再相加
//如果是两个字面常量相加,先相加,然后再到常量池里找有没有,如果有就直接返回
System.out.println(ss3==ss1+ss2); //false;ss3指向常量池里的串地址;ss1+ss2返回的是堆上开辟的空间的地址
System.out.println(ss3=="hello"+"world"); //true
System.out.println(ss3==ss1+"world"); //false
System.out.println(ss3.equals(ss1+ss2)); //true
System.out.println(ss3.equalsIgnoreCase("HelloWorld")); //true;不区分大小写,只看看相不相同
System.out.println(ss3.contains("wod")); //false
System.out.println(ss3.startsWith("he")); //true
System.out.println(ss3.endsWith("ad")); //false
System.out.println(ss3.isEmpty()); //false
byte[] bytes={97,98,99,100,101};
String ss4=new String(bytes);
byte in=99;
System.out.println(ss4.indexOf(in)); //2
String xx="hello"; //h的ascII码104
String oo="abc"; //a的ascII码97
System.out.println(oo.compareTo(xx)); //-7 ;两个字符串首字母ascII码相减
}
}
|
|
1、把数组中的数据按照指定个格式拼接成一个字符串
举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3]
2、字符串反转
举例:键盘录入”abc” 输出结果:”cba”
3、统计大串中小串出现的次数
举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次
|
/*把数组中的数据按照指定个格式拼接成一个字符串
举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3] */
public class test1 {
public static void main(String[] args) {
int[] arr={1,2,3};
String str="";
str+="[";
for(int i=0;i<arr.length;++i){
str+=arr[i];
if(arr.length-1==i){
break;
}
str+=", ";
}
str+="]";
System.out.print(str);
}
}
|
|
/*字符串反转
举例:键盘录入”abc” 输出结果:”cba”*/
public class test2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String str=input.nextLine();
//System.out.println(new StringBuilder(str).reverse().toString());
//StringBuilder(String str); //构造一个字符串生成器,并初始化为指定的字符串内容。
String strReverse=stringReverse(str);
System.out.println(strReverse);
input.close();
}
public static String stringReverse(String str){
char[] ch=str.toCharArray();
for(int i=0;i<str.length()/2;++i){
char tmp=ch[i];
ch[i]=ch[str.length()-1-i];
ch[str.length()-1-i]=tmp;
}
String str1=new String(ch);
return str1;
}
|
/*统计大串中小串出现的次数
举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次*/
public class test3 {
public static void main(String[] args) {
String str="woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";
String subStr="java";
int num=getCount(str,subStr);
System.out.println(num);
}
public static int getCount(String str,String subStr){
int count=0;
int i=str.indexOf(subStr);
while(i!=-1){
count++;
str=str.substring(i+subStr.length());
i=str.indexOf(subStr);
}
return count;
}
}
|
Java——String类的更多相关文章
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- JAVA String 类
java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...
- Java String类具体解释
Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...
- Java 11 - Java String类
Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...
- Java-Runoob:Java String 类
ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...
- Java String类的常用方法
String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...
- Java学习笔记之:Java String类
一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...
- Java String类的比较运算
面试题:(多选)以下返回true的有() A. "beijing" == "beijing" B. "beijing".equals(new ...
- Java String类和StringBuffer类的区别
1.String与StringBuffer的区别简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象.St ...
- Java——String类中的compareTo方法总结
String类的定义: java.lang 类 String java.lang.Object java.lang.String 所有已实现的接口:Serializable, C ...
随机推荐
- C#学习笔记(十五):抽象方法、抽象类、多态和接口
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 马尔科夫随机场模型(MRF-Markov Random Field)
原文: http://blog.sina.com.cn/s/blog_92c398b00102vs3q.html 马尔科夫过程 隐马尔科夫过程 与马尔科夫相比,隐马尔可夫模型则是双重随机过程,不 ...
- Ubuntu 14.04 安装 qemu
参考: Ubuntu 12.04之找不到Qemu命令 Ubuntu 14.04 安装 qemu 安装: sudo apt-get install qemu 使用ln命令建立软连接: sudo ln - ...
- LA 4080 战争和物流(最短路树)
https://vjudge.net/problem/UVALive-4080 题意:给出一个n个结点m条边的无向图,每条边上有一个正权.令c等于每对结点的最短路长度之和.不连通的两点的最短路长度视为 ...
- ZOJ 3329 One Person Game (经典概率dp+有环方程求解)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3329 题意:现在有三个骰子,分别有k1,k2和k3面,面上的点就是1~ki ...
- POJ 2506 Tiling(递推+大整数加法)
http://poj.org/problem?id=2506 题意: 思路:递推.a[i]=a[i-1]+2*a[i-2]. 计算的时候是大整数加法.错了好久,忘记考虑1了...晕倒. #includ ...
- shell 截取字符串
vvar='{"floor":2,"hotelid":"3433bbb"}' #vvar='{"hotelid":&qu ...
- windows服务部署
1.新建windows服务项目 2.编辑业务代码 我这里只写2句记录文本的测试代码 using System; using System.IO; using System.ServiceProcess ...
- 批量删除Redis数据库中的Key
批量删除KeyRedis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys &q ...
- 转发一篇分析LinQ是什么?
LINQ(发音:Link)是语言级集成查询(Language INtegrated Query) ?LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询 ?LINQ的目标是降 ...