String 和基本数据包装类的讲解
一、基本数据类型对象包装类
基本数据类型 引用数据类型
byte Byte
shortShort
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
1)基本数据类型对象包装类的最常见作用。就是用于基本数据类型和字符串类型之间做转换。
1、基本数据类型转成字符串。
-->基本数据类型+"";
-->基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);//将整数34转成字符串"34"
2、字符串转成基本数据类型。
-->基本数据类型;
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt(str);
double b = Double.parseDouble("12.33");
boolean b = Boolean.parseBoolean("true");
Integer i = new Integer("2123");
int num = i.intValue();
2) 十进制转成其它进制
1、toBinaryString()
2、toHexString()
3、toOctalStirng();
3) 其它进制转十进制:parseInt()
package study.part1.day010.threadtx;
public class BaseDateObject {
public static void main(String[] args) {
//整数类型的最大值
sc("int max:"+Integer.MAX_VALUE);
sc("int min:"+Integer.MIN_VALUE);
int num = Integer.parseInt("123215");
System.out.println(num);
long l = Long.parseLong("34");
System.out.println(Integer.toBinaryString(6));
System.out.println(Integer.toHexString(67));
/**
* 其它进制转十进制
*/
int i = Integer.parseInt("3c",16);
System.out.println("3c转成十进制是:"+i);
}
public static void sc(String str){
System.out.println(str);
}
}<span style="font-family: Arial, Helvetica, sans-serif;"> </span>
二、String 的讲解
String 类适用于描述字符串。
常见的操作有哪些?
1、获取
1.1字符串中包含的字符数,也就是字符串的长度
int length():获取长度
1.2 根据位置获取某个字符串。
char charAt(int index)
1.3 根据字符获取该字符在字符串中的位置。
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。
2、判断
2.1 获取字符串中是否包含某一个子串。
boolean contains(str):
特殊之处:indexOf(str):可以索引str 第一次出现的位置,如果返回-1表示 str 不在字符串中。所以,也可以用于对指定字符串的判断是否包含。
2.2 字符中是否有内容。
boolean isEmpty():原理就是判断长度是否为0;
2.3 字符串是否以指定内容开头。
boolean startWith(str):
2.4 字符串是否以指定内容结尾。
boolean endWith(str)
2.5 判断字符串内容是否相等。复写了 Object 类中的 equals 方法。
boolean equals(str)
2.6 判断内容是否相同,并忽略大小写。忽略大小写的比较。
boolean equalsIgnoreCase(str)
3、转换
3.1 将字符数组转成字符串。
构造函数:String(char[])
String(char[],offset,count)
3.2 将字符串转成字符数组。
char[] toCharArray()
3.3 将字节数组转成字符串。(了解)
3.4 将字符串转成字节数组。
byte[] getBytes()
4、替换
4.1 String replace(oldchar,newchar)
5、切割
5.1 split();
6、转换,去除空格,比较。
6.1 将字符串转换成大写或者小写
toUpperCase(); toLowerCase()
6.2 去除空格
trim()
6.3 对两个字符串进行自然顺序的比较。
int compareTo(String)
7、Demo:
package study.base.day010.ThreadTX;
public class StringDemo1 {
public static void main(String[] args) {
//String s1 = "abx"; //s1是一个类类型变量,“abx” 是一个对象。
//字符串最大的特点就是:一旦被初始化,就不可以被改变。
StringMethod01();
StringMethod03();
StringMethod02("asdfasdfdsaf");
String ss = "aaa";
System.out.println(ss.isEmpty());
StringMethod04();
StringMethod05();
StringMethod06();
StringMethod07();
StringMethod08();
StringMethod09();
StringMethod11("asdasdfasdfasdfasdf","df");
}
public static void StringMethod01(){
System.out.println("StringMethod01");
String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
System.out.println(s1==s2);
System.out.println(s1==s3);
}
public static void StringMethod02(String str){
System.out.println("StringMethod02");
//获取长度
System.out.println(str.length());
//根据索引获取字符串
System.out.println(str.charAt(4));
//根据字符获取索引
System.out.println(str.indexOf('f',6));
System.out.println(str.lastIndexOf('a'));
}
public static void StringMethod03(){
String str = "javaArrayDemo.java";
System.out.println("StringMethod03");
//判断文件名称是否是 java 开头
System.out.println(str.startsWith("java"));
//判断文件名称是否是 .java 结束
System.out.println(str.endsWith(".java"));
//判断文件中是否包含 Array
System.out.println(str.contains("Array"));
}
/**
* 字符串转字符数组的demo
*/
public static void StringMethod04(){
String s1 = "assdkkgjjssf";
char[] chas = s1.toCharArray();
for (int i = 0; i < chas.length; i++) {
System.out.println("第"+(i+1)+"个字符串数组的值是:"+chas[i]);
}
}
/**
* 替换demo
*/
public static void StringMethod05(){
String s = "hello.java";
String s1 = s.replace('e', 'a');
System.out.println("替换之前:"+s);
System.out.println("替换结果:"+s1);
}
/**
* 切割demo
* 把String转换成字符串数组
*/
public static void StringMethod06(){
String s = "sad,fas,df,sd";
String[] s2 = s.split(",");
for (int i = 0; i < s2.length; i++) {
System.out.println("切割\n\t数组的值是:"+s2[i]);
}
}
/**
* substring demo
*/
public static void StringMethod07(){
String s = "asdfasdfsadf";
String s2 = s.substring(5);
String s3 = s.substring(3, 9);
System.out.println(s2+"--subString--"+s3);
}
/**
* compareTo(String)
*/
public static void StringMethod08(){
String s = "asdfasdfwwsdfer";
String s2 = "asdasdf";
System.out.println("method8:"+s2.compareTo(s));
}
/**
* trim()
*/
public static void StringMethod09(){
String s = " asdf asdf ";
String s2 = s.trim();
System.out.println("me09:"+s2+s2.length());
}
/**
* 将字符串反转
* 将字符串变成数组,再反转,再变成字符串
*/
public static void StringMethod10(){
String s = "adfsadfsdf";
char[] s2 = s.toCharArray();
//反转
String s4 = new String(s2);
System.out.println(s4);
}
/**
* 获取一个字符串在另一个字符串中出现的次数
*/
public static void StringMethod11(String str,String key){
int count = 0;
int index = 0;
while((index = str.indexOf(key))!=-1){
str = str.substring(index+key.length());
count++;
}
System.out.println("xxx:"+count);
}
/**
* 获取一个字符串在另一个字符串中的最大相同数
*/
public static void getMaxSubstring(String s1,String s2){
String max = "",min="";
max = (s1.length()>s2.length())?s1:s2;
min = (max==s1)?s2:s1;
for(int x= 0;x<s2.length();x++){
for(int y=0,z=s2.length()-x;z!=s2.length()+1;y++,z++){
String temp = s2.substring(y,z);
if(s1.contains(temp)){
System.out.println("gxx:"+temp);
}
}
}
}
}