-
Java中的时间
在Java中我们可以使用java.util包中的Date类获取当前时间。
但是使用Date类直接输出的显示结果如下
其中,Wed代表Wednesday(星期三),Jun代表June(六月),11代表11号,CST代表China Standard Time(中国标准时间,也就是北京时间,东八区)。
从输出结果可以看出,默认的时间格式不是很友好,此时就用到了java.text包中的SimpleDateFormat类,可以使用它将日期转换为指定格式的文本,也可以将文本转换为日期。
1、使用format()方法将日期转换为指定格式的文本
代码中的“yyyy-MM-dd HH:mm:ss”为预定义字符串,yyyy表示四位年,MM表示两位月份,dd表示秒,这样就指定了转换的目标格式,最后调用format()方法将时间转换为指定的格式的字符串。
2、使用parse()方法将文本转换为日期
代码中的“yyyy年MM月dd日 HH:mm:ss”指定了字符串的日期格式,调用parse()方法将文本转换为日期。
一定要注意哦:
1、调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,即ParseException,因此需要进行异常处理
2、使用Date类时需要导入java.util包,使用SimpleDateFormat时需要导入java.text包
查看全部 -
Java中基本类型和字符串之间的转换
基本类型转换为字符串有三种方法:
1、使用包装类的toString()方法。
2、使用String类的valueOf()方法。
3、用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串。
字符串转换成基本类型有两种方法:
1、调用包装类的parseXxx静态方法
2、调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱
查看全部 -
Java中基本类型和包装类之间的转换
在JDK1.5引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱。
拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱。
JDK5.0的一个新特性是自动装箱和自动拆箱。
自动装箱
- 基本类型就自动地封装到与它相似类型的包装中,如:Integer i = 100;
- 本质上是,编译器编译时自动添加:Integer i = new Integer(100);
自动拆箱
- 包装类对象自动转换成基本数据类型。如:int a = new Integer(100);
- 本质是上,编译器编译时自动添加:int a = new Integer(100).intValue();查看全部 -
1,Map提供一种映射关系-------------------
| 映射 |
| key value |
---------------------
2,通过key 值快速查找value值,key和value可以使任意类型的对象
3,键值对以Entry类型的对象实例存在
4,key值不可重复,value值可以
5,每个键只能映射一个value值
6,Map支持泛型:Map<Integer,Course>
7,Map中通过put(K key,V value)方法添加键值对的映射
8,删除remove(Object key)方法
9,三个方法keySet(),返回k值得集合(Set视图)
values(),返回value值得集合(的Collection视图)
entrySet(),返回键值对的集合(Set视图)
HashMap
1,HashMap()是Map的重要实现类,基于哈希表实现
2,HashMap中的键值对Entry是无序排列的
3,key和value都可以为null
查看全部 -
Java中的包装类
Java中的基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型都提供了一个包种类,这样我们就可以像操作对象那样来操作基本数据类型了。
基本类型和包装类之间的对应关系:
包装类主要提供了两大类方法:
1、将本类型和其他基本类型进行转换的方法
2、将字符串和本类型及包装类互相转换的方法
查看全部 -
StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
查看全部 -
Java中String类的常用方法
1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1
3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
在String类中: ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象。
equals(): 比较存储在两个字符串对象中的内容是否一致。
PS:字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节,1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。
查看全部 -
Java中的字符串
有两种方法创建String对象:
String 名字=“内容”;
String 名字=new String("内容");
查看全部 -
Java中异常处理的经验
1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理;
2、在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常;
3、对于不确定的代码,也可以加上try-catch,处理潜在的异常;
4、对于异常要尽量去处理,因为异常说明了很多问题,比如程序问题或环境问题等等,如果不去处理程序在健壮性上就会大打折扣。而在处理异常时,切忌只是简单的调用printStackTrace()去打印输出,最好在打印输出的同时加以其它操作,比如业务回滚;
5、具体如何处理异常,要根据不同的业务需求、运行环境和异常类型去决定;
6、尽量添加finally语句块去释放占用的资源;
查看全部 -
HashSet
Set 没有set()方法(不能修改元素)
因为Set是无序的
Set只能用循环或者迭代器访问,不能用get()取值,因为他是无序的
查看全部 -
泛型集合:,1,泛型类型的对象实例2,泛型的子类型的对象实例
泛型集合只能添加规定的类型及其子类型的对象实例
注意:
1,泛型集合中的限定类型不能使用基本类型(int long boolean),只能是引用类型
2,如果一定要使用基本类型就要用他们的包装类(Inteder long Boolean)
查看全部 -
泛型
集合中的元素可以是任意类型对象(对象的引用),集合中储存的都是一个个具体引用,
指向一个个对象的。把对象放入集合会忽略他的类型当成Object处理
泛型则是规定了某个集合只能存放特定类型的对象,并且会在编译期间进行检查。 取出元素时也不需要强制类型转换 Generic public List<Course> courses;/*带有泛型——Course,的List属性*/ /*无参构造器,初始化courses属性*/ public TestGeneric(){ this.courses=new ArrayList<Course>();/*这里的圆括号是表示调用了构造函数*/ }
查看全部 -
正常情况下return表示方法结束,它后面的语句不执行,但finally会在try{}catch{}语句块执行后执行。
查看全部 -
Java中处理异常
用try-catch以及try-catch-finally来捕获并处理异常。
格式:try{
//一些会抛出异常的方法
}catch(Exception e){
//处理该异常的代码块
}
当try中的代码真的出现异常,程序会终止执行,程序的控制权将被移交给catch块中的异常处理程序。
如果try中的代码抛出多个不同异常,可以在后面再添加catch块来处理不同的异常。
格式:try{
//一些会抛出异常的方法
}catch(Exception e){
//处理该异常的代码块
}catch(Exception2 e){
//处理Exception2的代码块
}...(n个catch块)...{}
使用多重catch语句块需要注意顺序问题,要遵从先小后大的原则。
有时候用try-catch语句块处理完异常后需要进行一些善后工作比如关闭连接或者关闭一些已经打开的文件,这时候就用到了finally语句块。
查看全部 -
Java中的异常
定义:有异于常态,和正常情况不一样,有错误出现。
阻止当前方法或作用域,称之为异常。
程序运行出现异常可能会导致程序不正常的退出,甚至使用户的数据丢失,而程序运行占用的资源也得不到有效的释放。
对于异常的正确处理能够提示编程人员和用户使本来已经中断的程序以适当的方式继续运行或退出,并且能够能够保存用户的当前操作或进行数据回滚,并将程序占用的资源释放掉。
Java中的不正常类都继承于Throwable类,它主要有两个大儿子:
1、Error(主要指系统错误,一旦它出现说明程序崩溃了):
虚拟机错误(VirtualMachineError)、线程死锁(ThreadDeath)
2、Exception(编码、环境、用户操作输入出现问题):
2.1、非检查异常又叫运行时异常(RuntimeException):
运行时异常会由Java虚拟机自动抛出并自动捕获。
运行时异常的出现绝大多数是代码有问题,应该从逻辑方面改进代码。
2.2、检查异常:
需要自己手动添加捕获和处理语句。
文件异常(IOException)、SQL异常(SQLException)
查看全部
举报