栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

Java高级阶段技术总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java高级阶段技术总结

String字符串 String 是一个类,属于引用类型。 Java 程序中一切使用 "" 引起来的内容,都是这个类的实例,称为字符串对象。 字符串定义后是一个常量 ,值不可更改。字符串 实际是一个字符数组 。
String str="hello";//这句话在执行时,创建一个hello字符串对象,将其地址保存在str变量中
str="abc";//这里看似是在改变字符串的值,实际是又创建了一个字符串对象abc,将其地址保存在str变 量中
//以上两句话,在内存中会有两个字符串对象hello和abc,str只引用最后赋值的字符串地址abc

String str2="abc";
//字符串实际是一个字符数组
char[] list = {'a','b','c'};
String str3= new String(list);
//这里str2和str3中保存的内容是一样的
可变字符串 String 字符串对象是一个常量,在定义后其值不可改变。 如果使用 String 类的对象,对其频繁更新时,就会不停地创建新的对象,重新引用。 所以如果要执行 1000 次重新赋值的过程,就要创建 1000 个字符串对象,花费很多时间和内存空间,所以 效率很低。这时就需要使用可变字符串类
import java.math.BigDecimal; 
import java.util.Random;
import java.util.zip.DeflaterOutputStream;



public class Test1 { 
public static void main(String[] args) {
//定义一个空的可变字符串对象
StringBuilder sb = new StringBuilder();
//定义一个普通字符串对象
String str = "";

//1970 1 1 0:0:0 到当前这个瞬间,经过了多少毫秒。记录开始时间
long begin = System.currentTimeMillis();
//模拟循环多次频繁操作字符串,记录花费的时间
for (int i = 1000000; i > 0; i--) {
//如果使用字符串,每次循环都会创建一个新的String字符串对象,重写引用给str,需要 花费大量时间 
// str+=i; 
//如果使用可变字符串,只有一个对象sb参与,每次都在操作这个对象,不创建新对象,很快 就能结束
sb.append(i); 
}
//记录结束时间
long end = System.currentTimeMillis();
System.out.println(end - begin);
} 
}
StringBuilder类 用于表示可变字符串的一个类,是 非线程安全 的,建议在单线程环境下使用,效率略高于 StringBuffer 。 StringBuffer类 用于表示可变字符串的一个类,是 线程安全 的,建议在多线程环境下使用,效率略低于 StringBuilder 。 StringBuilder 和 StringBuffer 中的方法作用都一致,只不过 StringBuffer 中的方法使用了 synchronized 关 键字修饰,表示一个同步方法,在多线程环境下不会出现问题。 Date类 用于表示日期时间的类,位于 java.util 包下 SimpleDateFormat类 是一个用于格式化日期的类。
//参数为一个日期模板 
SimpleDateFormat(String pattern);
//如定义这样的一个模板对象 
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//创建一个Date对象 
Date now = new Date(); 
//调用格式化方法,参数为一个Date对象 
String res=sdf.formart(now); 
//输出的形式为2022/07/28 
System.out.println(res);
Calendar类 用于表示日历的类。包含了很多日历相关的信息。 是一个抽象类,无法直接创建对象,可以通过该类的 静态方法 getInstance() 获取该类的实例 。 异常 当程序没有按程序员的意愿正常执行,中途出错导致程序中断,出现这种情况,就称为异常。 学习异常就是认识异常的种类和如何避免异常出现。 为了让程序能正常执行,就需要学会解决异常。 异常的产生 异常在程序中以对象的形式存在。当代码执行时出现异常,虚拟机会自动创建一个相应的 异常对象 ,如 果没有对该异常进行处理,就会导致程序中断。 异常的分类 异常在程序中以对象的形式存在,所以异常有对应的类。 数组与集合 数组的特点 数组中保存的元素都是有序的,可以通过下标快速访问 数组中保存的数据都是同一种类型 数组的长度在定义后,无法改变 数组无法获取其中保存的实际元素数量 集合的特点 能保存一组数据,可以有序也可以无序 集合的容量可变 集合中可以保存不同类型的数据 可以获取集合中实际的元素数量 ArrayList和LinkedList的区别 1.两者都是 List 接口的实现类,保存的元素有序可重复,允许保存 null ,拥有一些公共的方法,如 size() , isEmpty() , subList(int from,int to) 等 2。ArrayList 采用数组实现,对于随机读取效率更高,通常用于查询; LinkedList 采用双向链表实现, 插入删除不影响其他元素位置,通常用于中间插入删除。 Set接口(无序不重复) 无序集合,元素不可以重复,允许保存 null ,没有索引。 在接口中定义了一些操作元素的方法,如获取元素数量、添加、删除、替换、截取等。
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038622.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号