类型的转换
包装与拆箱
package com.lei;
public class Demo01 {
public static void main(String[] args) {
// int num=10;
//类型的转换: 装箱;基本类型转换为引用类型的过程
//基本类型
int num1=18;
//使用integer类创建一个对象
Integer integer=new Integer(num1);//装箱;基本类型转换为引用类型的过程 方法一
Integer integer1= Integer.valueOf(num1);//装箱;基本类型转换为引用类型的过程 方法二
//类型的转换: 拆箱;引用类型转换为基本类型的过程
Integer integer2=Integer.valueOf(100);
int num2=integer2.intValue();// 拆箱;引用类型转换为基本类型的过程
//JDK1.5之后提供了自动装箱和拆箱的功能
int age=20;
//自动装箱
Integer integer3=age;
System.out.println(age);
//自动拆箱
int age1=integer3;
double id=3.0;
Double integer4=id;
System.out.println(integer4);
}
}
基本类型和字符串的转换
package com.lei;
public class Demo02 {
public static void main(String[] args) {
//基本类型和字符串的的转换
//1.基本类型转换为字符串
int num=10;
String num1=num+" ";//方法一使用+号
String num2 = Integer.toString(num);
System.out.println(num1);
System.out.println(num2);
//2.字符串转换为基本类型
String str="150";
int str1 = Integer.parseInt(str);///Integer.parseXXX(属性名) 这里XX表示需要转换为的属性类型
System.out.println(str1);
//3.Boolean字符串形式转换为基本类型;“ture”可以转化为Int类型的true ,非”true“就转换为Int类型的false
String s1="true";
boolean b = Boolean.parseBoolean(s1);
System.out.println(b);
}
}
整数的缓冲区
package com.lei;
public class Demo03 {
public static void main(String[] args) {
//面试题
Integer integer = new Integer(100);
Integer integer1 = new Integer(100);
System.out.println(integer==integer1);//false 引用类型存放在堆中的地址不相同 这里比较的是地址不是值
Integer integer2=Integer.valueOf(100);//自动装箱 使用了Integer integer2=Integer.valueof(100);
Integer integer3=100;//自动装箱
System.out.println(integer2==integer3);//true 因为 这里的使用了valueof 的整数缓冲区里面的值100 -128=<i<=127
Integer integer4=200;//自动装箱
Integer integer5=200;//自动装箱
System.out.println(integer4==integer5);//false 这里200超出了整数缓冲区的区间所以new Integer(i)
}
}
String类型
package com.lei;
public class Demo04 {
public static void main(String[] args) {
String name="hello"; // 常量存放在方法区中的常量池中
name="lv";//这里将”lv“赋值给了name 不是修改了hello变成lv,
// 而实在常量池里面新添加了一个常量lv然后断开hello与name的指向,重新连接到lv
//字符串的另一种创建方式
String name1=new String("JAVA");//这里在常量池和堆中都生成的一个JAVA对象
String name2=new String("JAVA");//这里在常量池和堆中都生成的一个JAVA对象
System.out.println(name1==name2);//这里判断的是引用对象是否相同
System.out.println(name1.equals(name2));//这里是比较的是字符串是否相等
}
}
常用方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vsa81fEG-1613780061019)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210203113505220.png)]
package com.lei;
public class Demo04 {
public static void main(String[] args) {
String name="hello"; // 常量存放在方法区中的常量池中
name="lv";//这里将”lv“赋值给了name 不是修改了hello变成lv,
// 而实在常量池里面新添加了一个常量lv然后断开hello与name的指向,重新连接到lv
//字符串的另一种创建方式
String name1=new String("JAVA");//这里在常量池和堆中都生成的一个JAVA对象
String name2=new String("JAVA");//这里在常量池和堆中都生成的一个JAVA对象
System.out.println(name1==name2);//这里判断的是引用对象是否相同
System.out.println(name1.equals(name2));//这里是比较的是字符串是否相等
//常用方法
//length(); 返回字符串的长度
//charAt( int index ); 返回某个位子的字符
//contains(String str); 判断是否包含某个子字符串
String content="java是世界上最好的语言";
System.out.println(content.length());
System.out.println(content.charAt(4));
System.out.println(content.contains("最"));
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QOacsdP8-1613780061022)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210203114757865.png)]
package com.lei;
import java.util.Arrays;
public class Demo05 {
public static void main(String[] args) {
String id="lcj abc acd aaa";
//toCharArray();返回字符串对应数组
System.out.println(Arrays.toString(id.toCharArray()));// Arrays.toString 表示打印数组元素
// id.toCharArray();表示返回字符串对应的数组
//indexOf(); 返回子字符串 首次出现的位置
System.out.println(id.indexOf("a"));
System.out.println(id.indexOf("a",5));//这里5 表示从下标几开始计数 遇到的第一个子字符串
//lastIndexOf(); 饭返回子字符串最后一次出现的位置
System.out.println(id.lastIndexOf("a"));
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N06kw2do-1613780061027)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210203150844388.png)]
package com.lei;
import java.util.Arrays;
public class Demo05 {
public static void main(String[] args) {
String id=" lcj aBc acd aaa ";
//toCharArray();返回字符串对应数组
System.out.println(Arrays.toString(id.toCharArray()));// Arrays.toString 表示打印数组元素
// id.toCharArray();表示返回字符串对应的数组
//indexOf(); 返回子字符串 首次出现的位置
System.out.println(id.indexOf("a"));
System.out.println(id.indexOf("a",5));//这里5 表示从下标几开始计数 遇到的第一个子字符串
//lastIndexOf(); 饭返回子字符串最后一次出现的位置
System.out.println(id.lastIndexOf("a"));
//trim(); 去掉字符串前后的空格
System.out.println(id.trim());
String id1=id.trim();
System.out.println(Arrays.toString(id1.toCharArray()));
//toUpperCase();把字符串李的小写转化 为大写
System.out.println(id.toUpperCase());
System.out.println(id.toLowerCase());//toLowerCase(); 把字符串里的小写转换为大写
//end.With(str); 判断是否一“str”结尾
System.out.println(id.endsWith("l"));
System.out.println(id.startsWith(" "));// startsWith(str); 判断是否以“str”开始
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N270amek-1613780061031)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210203152606424.png)]
package com.lei;
import java.util.Arrays;
public class Demo06 {
public static void main(String[] args){
String name="class****blear world";
//replace(char old"str",char new"str1"); 表示用新的str1替换旧的str
System.out.println(name.replace("class", "b"));
// System.out.println(name.replaceAll("class", "boot"));
//split(); 对一个字符串的拆分
String[] a=name.split("[ *]");//这里可以表示遇到空格或者*拆分
String[] b=name.split("[ *]+");//这里可以表示遇到空格或者*拆分 +号表示代表遇到一个或者多个*、空格 拆分
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
}
package com.lei;
/**
* StringBuffer和StringBuilder的使用
* 和String的区别1.效率比String高2.比String节省内存
*/
public class Demo07 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
//1. append();追加字符串
sb.append("java is good");
System.out.println(sb.toString());
sb.append("hello");
System.out.println(sb.toString());
//2.insert();添加
sb.insert(0,"wozai ");//在下表0的前面添加wozai
System.out.println(sb);
//replace(); 替换
System.out.println(sb.replace(0,2,"你"));//表示从0到2的的字符被替换
//delete();删除
System.out.println(sb.delete(0,1));
}
}