
import java.util.*;
public class demo1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
if(sc.hasNextInt()){
int i=sc.nextInt();
System.out.println(i);
}else{
System.out.println("输入的类型错误");
}
}
//只接收int类型,如果是a就会输出第二条
}
import java.util.*;
public class demo1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数");
int i=sc.nextInt();
System.out.println("请输入第二个字符串");
String line2=sc.nextLine();
System.out.println("i= " +i+ " ,line2= "+ line2);
}
//输入第一个27后,会直接输出i= 27 ,line2= 并没有进行第二次的字符串输入
}
public String() 空构造 public String(byte[] bytes) 把字节数组转化为字符串 public String(byte[] bytes,int index,int length) 把字节数组的一部分转化为字符串 public String(char[] value) 把字符数组转化为字符串 public String(char[] value,int index,int count) 把字符数组的一部分转化为字符串 public String(String Original)把字符串常量转化为字符串
byte[] arr2={97,98,99,100,101,102};
String s3=new String(arr,2,3);
System.out.println("s3");//输出c d e
String类的判断功能
import java.util.*;
public class demo1 {
public static void main(String[] args) {
String s1="wanmei";
String s2="wanmei";
String s3="Wanmei";
//在String类中被重写的equals方法
System.out.println(s1.equals(s2)); //true
System.out.println(s2.equals(s3)); //false
//equalsIgnoreCase方法,忽视字符串中的大小写进行比较
System.out.println(s1.equalsIgnoreCase(s2));//true
System.out.println(s2.equalsIgnoreCase(s3));//true
//contains方法 判断大字符串是否包含小字符串
String c1="我喜欢biancheng";
String c2="biancheng";
String c3="bubiancheng";
System.out.println(c1.contains(c2));//true包含
System.out.println(c2.contains(c3));//false不包含
System.out.println(c1.contains(c3));//false不包含
//startsWith方法 判断是否以传入的字符为开头
String c4="我喜欢";
String c5="cheng";
System.out.println(c1.startsWith(c4));//true以我喜欢开头
System.out.println(c1.startsWith(c5));//false
//endsWith方法 判断是否以传入的字符为结尾
System.out.println(c1.endsWith(c4));//false
System.out.println(c1.endsWith(c5));//true以cheng结尾
//isEmpty方法 判断字符串是不是空
String n1="niubi";
String n2="";
System.out.println(n1.isEmpty());//false
System.out.println(n2.isEmpty());//true
}
}
String类的获取功能
import java.util.*;
public class demo1 {
public static void main(String[] args) {
String s1="heima";
System.out.println(s1.length()); //5
//indexof返回值都是int类型
//indexof(int ch)方法 返回指定字符在此字符串第一次出现的索引
int index=s1.indexOf("i");
System.out.println(index); // 2 第二个位置
//indexof(String str)方法 返回指定字符串在该字符串第一次出现的位置
int index2=s1.indexOf("hei");
System.out.println(index2); //0 第零个位置
//如果不存在返回就是-1
//indexof(int ch , int fromIndex)返回指定字符串在此字符串中从指定位置后第一次出现的索引
String s2="woaiheima";
int indexf=s2.indexOf('a',3);
int indexf2=s2.indexOf('a',2);
System.out.println(indexf2); // 2 第二个位置
System.out.println(indexf); //8 第八个位置
//lastindexof 方法 从后向前找第一次出现的位置(返回的是索引)
int indexf3=s2.lastIndexOf('a');
System.out.println(indexf3); //8 第八个位置
//substring (int start) 方法 从指定位置开始,一直到末尾
String s3="wozhendewudi";
String s4=s3.substring(4);
System.out.println(s4); //从第四个位置e开始一直接去到末尾
//substring(int start , int end)方法
String s5=s3.substring(3,6);
System.out.println(s5);//hen 要头不要尾
}
}
String类的转换功能
import java.util.*;
public class demo1 {
public static void main(String[] args) {
//getBytes()把字符串转化为字节数组
String s1="abc";
byte[] arr=s1.getBytes();
for(int i=0;i
System.out.println(arr[i] + " ");//97 98 99
}
String s2="你好你好";
//会输出负值 gbk码表一个中文代表两个字节
//gbk码表特点,中文的第一个字节肯定是负数
//toCharArray方法,将字符串转化为字符数组
String s="heima";
char arr1[]=s.toCharArray();
for(int i=0;i
System.out.println(arr1[i]); //h e i m a
}
// toLowerCase 把字符串转成小写
String Ssmall = s.toLowerCase();
System.out.println(Ssmall); //heima
//toUpperCase 把字符串转成大写
String Sbig=s.toUpperCase();
System.out.println(Sbig); //HEIMA
//concat(String str) 把字符串拼接
String slong = Ssmall.concat(Sbig);
System.out.println(slong); //heimaHEIMA
String ssf=Sbig+Ssmall+"niubi";
System.out.println(ssf);
}
}
✨String类应用(字符串反转)
import java.util.*;
public class demo1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String line=sc.nextLine();
char[] arr=line.toCharArray();
String s="";
for(int i=arr.length-1;i>=0;i--){
s=s+arr[i];
}
}
}
StringBuffer类
public StringBuffer() 空参构造 public StringBuffer(int capacity) 指定容量的字符串缓冲区对象 public StringBuffer(String str) 指定字符串内容的字符串的缓冲对象
public class demo1 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
System.out.println(sb.length()); //输出0 字符串中字符的数量
System.out.println(sb.capacity()); //输出16,容器的初始容量
StringBuffer sb2=new StringBuffer("lihai");
System.out.println(sb2.length()); //输出5 字符串中字符的数量
System.out.println(sb2.capacity()); //输出21 字符串的length + 初始容量
}
}
append和insert方法
public StringBuffer append(String str) 可以把任意类型数据添加到字符串缓冲区里面,并且返回字符串缓冲区本身
public StringBuffer insert(int offset , String str) 在指定位置把任意类型数据添加到字符串缓冲区里面,并且返回字符串缓冲区本身
import java.util.*;
public class demo1 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
sb.append("niubi");
//deleteCharAt删除索引对应位置的字符
sb.deleteCharAt(4);
System.out.println(sb);//输出niub 删除索引为4的字符
sb.append("ideren");
System.out.println(sb);//输出niubideren
sb.delete(2,5);
System.out.println(sb);//输出nideren
}
}
public class demo1 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer("niubi");
sb.replace(0,3,"sha");
System.out.println(sb);//输出shabi
sb.reverse();
System.out.println(sb);//输出ibahs
}
}
Java中String和StringBuffer的参数传递
public class demo1 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
sb.append("niubi");
System.out.println(sb);
change(sb);
System.out.println(sb);
}
public static void change(StringBuffer sb){
sb.append("deren");//两个引用指向同一个对象
}
}
磊总结