网站按条件显示广告图片,个人管理系统,cctv军事报道,湖南系统开发目录
基本数据类型的包装类
定义
String是字符串类型
创建String类型的对象
返回指定索引处的 char 值
返回某字符在字符串中出现的索引
替换
返回此字符串的长度
测试此字符串是否以指定的前缀开始
返回一个新的字符串
大小写转换
拆分字符串
字符串的创建及比较…
目录
基本数据类型的包装类
定义
String是字符串类型
创建String类型的对象
返回指定索引处的 char 值
返回某字符在字符串中出现的索引
替换
返回此字符串的长度
测试此字符串是否以指定的前缀开始
返回一个新的字符串
大小写转换
拆分字符串
字符串的创建及比较
字符串增强类
StringBuilder 和StringBuffer区别
StringBuilder
StringBuffer
三种类型的使用场景
练习
JAVA常用类
Math的方法
绝对值
返回最大/小值
随机数
正平方根
次幂
日期类型
日期格式化
Calendar类
定义
方法
设置当前时间
获取年/月/日/秒
练习
BigDecimal类 基本数据类型的包装类
定义
是基本数据类型的引用类型提供基本数据类型的数据转换和数据操作的方法。
--byte Byte
--short Short
--int Integer
--long Long
--boolean Boolean
--float Float
--double Double
--char Character
实现基本数据类型和引用类型之间的转换 // 1、包装类中的方法 100120 数据转换int res Integer.parseInt(100);int res1 Integer.valueOf(11);System.out.println(res200);System.out.println(res1200);// 比较方法System.out.println(Integer.compare(10, 10));// 进制转换System.out.println(Integer.toBinaryString(10));System.out.println(Integer.toHexString(10));System.out.println(Integer.toOctalString(10)); 自动装箱 将基本数据类型的数据封装为基本数据类型的包装类 自动拆箱 将基本数据类型的包装类拆封为基本数据类型的数据 //2、自动装箱、自动拆箱int res2 Integer.valueOf(110);//把包装类型的拆箱成为基本数据类型Integer res3 res2;//把基本数据类型封装为包装类型 字符串String
String是字符串类型是不可变类并且是一个引用类型。 创建String类型的对象
String item hello;//方法一
String item new String(hello);//方法二 返回指定索引处的 char 值
charAt(int index) ;
String str it is my hourse is!;
// 返回str中特定位置的字符
System.out.println(str.charAt(1)); 返回某字符在字符串中出现的索引
返回指定字符在此字符串中第一次出现处的索引:
indexOf(int ch) ;
返回指定字符在此字符串中最后一次出现处的索引:
lastIndexOf(int ch) ; String str it is my hourse is!;// 返回某个字符的所在位置System.out.println(str.indexOf(i));//从前面开始返回第一个的索引System.out.println(str.indexOf(is));//从前面开始返回第一个的索引System.out.println(str.lastIndexOf(i));//从后面开始返回第一个的索引 替换
通过用 newChar 替换此字符串中出现的所有oldChar 得到的:
replace(char oldChar, char newChar); //替换str str.replace(i, I);System.out.println(str);str str.replaceAll(is, IS);//全部is都替换为ISSystem.out.println(str); 返回此字符串的长度
length() ; 测试此字符串是否以指定的前缀开始
startsWith(String prefix); //判断是否以某个字符串作为开头System.out.println(str.startsWith(it)); 返回一个新的字符串
该字符串是此字符串的一个子字符串:
substring(int beginIndex); 将此字符串转换为一个新的字符数组
toCharArray(); //获取当前的字符串的字符数组System.out.println(Arrays.toString(str.toCharArray())); 大小写转换
--使用默认语言环境的规则将此 String 中的所有字符都转换为小写:
toLowerCase();
--使用默认语言环境的规则将此 String 中的所有字符都转换为大写:
toUpperCase();
//大小写转换System.out.println(str.toUpperCase());System.out.println(str.toLowerCase()); 拆分字符串
根据给定正则表达式的匹配拆分此字符串:
split(String regex); //分隔字符串String[] arr str.split( );for (String string : arr) {System.out.println(string);} 字符串的创建及比较
public static void main(String[] args) throws UnsupportedEncodingException {//了解即可String str4 new String(你好.getBytes(), GBK);System.out.println(str4);// 1、如何创建字符串的对象String str hello;//直接给字面值String str1 new String(hello);//通过构造器来创建字符串对象String str2 hello;//直接给字面值String str3 new String(hello);//通过构造器来创建字符串对象//2、判断字符串是否一致 //是判断两个数值是否相等【基本数据类型】 //在引用类型中是判断对象是否一致System.out.println(strstr1);System.out.println(str.equals(str1));//判断两个字符串数值是否相等使用equals方法System.out.println(---------);System.out.println(strstr2);//true \\常量池System.out.println(str1str3);//false \\因为new出来的对象肯定是不相等的//两个字面值拼接会创建一个新的字符串对象String str5 hel;String str6 lo;String str7 str5str6;System.out.println(str7str);//false} 字符串增强类
//字符串的增强类的方法
public class StringUpperDemo {public static void main(String[] args) {// StringBuilder【线程不安全】 StringBuffer【线程安全】 操作方法是一致的StringBuilder sb new StringBuilder(it is my hourse is!);1.获取与string相同这不做描述
// * char charAt(index)
// * indexOfString substring(start,end)//格式2.删除
// * StringBuffer delete(begin,end) 包含头不包含尾b sb.delete(0, 3);System.out.println(sb);// * StringBuffer deleteCharAt(index)sb sb.deleteCharAt(0);System.out.println(sb);3.存储
// * StringBuffer append() 追加未尾sb sb.append( me);System.out.println(sb);// * StringBuffer insert()sb sb.insert(3, me);System.out.println(sb);4.修改与string相同这不做描述
// * replace()5. 反转
// * reverse()sb sb.reverse();System.out.println(sb);}StringBuilder 和StringBuffer区别
StringBuilder
定义线程不安全的String增强类StringBuilder 和 StringBuffer都是容器, 定义的api(方法)都相同
StringBuffer
定义 线程安全的String增强类。StringBuffer 是一个容器,称为字符串缓冲区,该字符串缓冲区可扩展final类 特点
长度可变化 可以操作多个数据类型;通过toString()转成String
注意如果对字符串进行修改时无需创建新对象!性能相对String较好 两者区别 1.StringBuilder没有线程安全(机制),而 StringBuffer有线程安全机制所以StringBuilder性能较佳 2.StringBuilder版本较新 三种类型的使用场景
使用场景区别 对于普通的操作操作量不大时使用String对于大量的更新操作使用字符串的增强类--单线程StringBuilder--多线程StringBuffer速度性能上StringStringBuffer StringBuilder 练习
public class StringDemo1 {// 练习1hello world字符串逐个单词拆分然后以大写输出(每次一个单词换行输出)public static void main(String[] args) {String str hello world;//String[] strs str.split( );//for (String string : strs) {System.out.println(string.toUpperCase());}}// 练习2使用StringBuffer 往一个数值每隔三位(千位)插入一个,public static void main(String[] args) {StringBuffer sb new StringBuffer(388123456789);// 从低位开始插入低三位开始i大于0【避免个数能整数时在数值前面加上逗号】for (int isb.length()-3;i0;i-3) {sb.insert(i, ,);}System.out.println(sb);}
}JAVA常用类
Math的方法
绝对值
--abs(a):返回 int 值的绝对值。 //--绝对值System.out.println(Math.abs(-6)); 返回最大/小值
--max(a,b):返回两个 int 值中较大的一个。
--min(a,b):返回两个int 值中较小的一个。 //--最大值max、最小值minSystem.out.println(Math.max(6.5, 6)); 随机数
--random() :返回带正号的 double 值该值大于等于 0.0 且小于 1.0。 //--随机数 greaterthan or equal to 0.0 and less than 1.0. 默认给随机数的是浮点类型for(int i0;i1000;i) {System.out.println((int)(Math.random()*10)1);//*10的范围也只是0~9只有加1才能将范围扩大到1~10System.out.println((int)(Math.random()*11));//0~10}//随机类Random ran new Random();for(int i0;i1000;i) {System.out.println(ran.nextInt(10)1);//提供种子值该10即为种子值 正平方根
--sqrt(a) :返回正确舍入的 double 值的正平方根。 //正平方根System.out.println(Math.sqrt(3)); 次幂
--pow(a,b);返回a 的b次方 public static void main(String[] args) {//pow方法乘方System.out.println(Math.pow(2, 3));//2^3}} 日期类型
获取当前日期
1--Date date new Date();
2--long item System.currentTimeMillis();
Date date new Date(item); // 1创建时间对象并且获取当前的系统时间Date date new Date();System.out.println(date);// 2-时间戳就是1970年1月1日到现今的总毫秒数Date date1 new Date(System.currentTimeMillis());System.out.println(date1); 日期格式化
--创建SimpleDateFormat的对象
SimpleDateFormat sm new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
--使用Date 格式化输出String字符串
String item sm.format(new Date());
--String类型表示日期转换为java.util.Date
Date dItem sm.parse(2017-07-07 16:48:14);
public static void main(String[] args) throws ParseException {// 时间格式化的类 24HH//创建SimpleDateFormat的对象SimpleDateFormat sm new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);//使用将date转换为字符串String time sm.format(date);System.out.println(time);//将字符串转换为date//注意一定要对应创建SimpleDateFormat的时间格式Date dateTime sm.parse(2022-01-14 15:22:22);System.out.println(dateTime);} Calendar类
定义 Calendar为一个抽象类它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法并为操作日历字段例如获得下星期的日期提供了一些方法。日历类的使用、能够比较精准地获取日期数据 年 、月、日 时、分、秒 周、星期等等的日期信息。 方法
获取Calendar类的实例对象
Calendar calendar Calendar.getInstance();
//使用默认时区和语言环境获得一个日历。 设置当前时间
//法一
calendar.setTimeInMillis(System.currentTimeMillis());
//法二
calendar.set(Calendar.YEAR, 2018);
calendar.set(Calendar.MONTH, 7);
calendar.set(Calendar.DAY_OF_MONTH, 6); 获取年/月/日/秒 获取年份 calendar.get(Calendar.YEAR) 获取月份0~11 calendar.get(Calendar.MONTH); 获取当前月份的日期 calendar.get(Calendar.DAY_OF_MONTH); 获取当前时间的秒数 calendar.get(Calendar.SECOND); //1、如何获取Calendar 使用getInstance获取对象得到当前时间信息Calendar c Calendar.getInstance();//c.setTimeInMillis(System.currentTimeMillis());//c.set(Calendar.YEAR, 2021);//System.out.println(c.get(Calendar.YEAR));System.out.println(c.get(Calendar.MONTH));//0~11System.out.println(c.get(Calendar.DAY_OF_MONTH));System.out.println(c.get(Calendar.HOUR));System.out.println(c.get(Calendar.MINUTE));System.out.println(c.get(Calendar.SECOND));//获取今天是周几System.out.println(c.get(Calendar.DAY_OF_WEEK));//注意周日是一周的开始{第一天}//获取这周是这个月的第几周System.out.println(c.get(Calendar.WEEK_OF_MONTH));//获取今天是今年的第几天System.out.println(c.get(Calendar.DAY_OF_YEAR)); 练习
//题目获取2020和2021年的母亲节的日期tips5月的第二个星期日 要求输出时间格式为yyyy年MM月dd日c.set(Calendar.YEAR, 2021);c.set(Calendar.MONTH, 4);c.set(Calendar.DAY_OF_WEEK_IN_MONTH, 2);c.set(Calendar.DAY_OF_WEEK, 1);Date date c.getTime();SimpleDateFormat sm new SimpleDateFormat(yyyy-MM-dd);System.out.println(sm.format(date)); BigDecimal类
定义BigDecimal类是一个算术运算类它可以给浮点类型的运算控制算术精度但是要注意在创建对象是入参字符串类型的数据。
public static void main(String[] args) {// 测试对比double item1 12.95983544;float item2 3.54872f;System.out.println(item1-item2); // 输出答案9.411115557034913 //使用BigDecimal来进行算术运算//注意参数必须得为字符串类型的数据BigDecimal b1 new BigDecimal(1.2);//12.95983544BigDecimal b2 new BigDecimal(3.0);//3.54872System.out.println(b1.subtract(b2));//减法//9.41111544System.out.println(b1.add(b2));//加法System.out.println(b1.multiply(b2));//乘法System.out.println(b1.divide(b2));//除法//获取b1数值System.out.println(b1.doubleValue()); //返回double类型}