1. DateUtil.java,代码如下: package cn.itcast_04; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 这是日期和字符串相互转换的工具类 * * @author 风清扬 */ public class DateUtil { private DateUtil() { } /** * 这个方法的作用就是把日期转成一个字符串…
1. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 把字符串反转 */ public class StringBufferTest3 { public static void main(String[] args) { // 键盘录入数据 Scanner sc = new Scanner(System.in); System.out.println("请输入数据:"); String s = sc.nextLine…
1. Random类 public class Random extends Object implements Serializable: 此类的实例用于生成伪随机数流.此类使用48位种子. (1)Random类概述 • 此类用于产生随机数 • 如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列. (2)Random的构造方法 •  public Random():没有给种子,用的就是默认种子,是当前时间的毫秒值 •  public R…
1. DateFormat类概述: DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间. 是抽象类,所以使用其子类SimpleDateFormat 2. SimpleDateFormat构造方法: public SimpleDateFormat() public SimpleDateFormat(String pattern) 3. 成员方法 public final String format(Date date) public Date pars…
1.Date两个方法: public long getTime():获取时间,以毫秒为单位 public void setTime(long time):设置时间 2. 代码示例: package cn.itcast_02; import java.util.Date; /* * public long getTime():获取时间,以毫秒为单位 * public void setTime(long time):设置时间 * * 从Date得到一个毫秒值 * getTime() * 把一个毫秒值…
1. Calendar类概述:       Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法. 2.  成员方法: public static Calendar getInstance() public int get(int field) public void add(int field,int amount) public fina…
1. Date类概述 类Date表示特定的瞬间,精确到毫秒 2. 构造方法 public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创建日期对象 3. 成员方法 public long getTime() public void setTime(long time) 4. 代码示例: package cn.itcast_01; import java.util.Date; /* * Date:表示特定的瞬间,精确到毫秒. * *…
1. BigDecimal类概述: 由于在运算的时候,float类型和double很容易丢失精度.所以为了能够精确的表达.计算浮点数,Java提供了BigDecimal. BigDecimal:不可变.任意精度的有符号十进制数. 2. BigDecimal构造方法 public BigDecimal(String val) 3. BigDecimal的使用(加减乘除) public BigDecimal add(BigDecimal augend):加 public BigDecimal sub…
1. BigInteger类概述   可以让超过Integer范围内的数据进行运算 2. 构造方法: public BigInteger(String val) 3. 代码示例: package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进行运算 * * 构造方法: * BigInteger(String val) */ public class BigIntegerDemo { pu…
1. arraycopy方法(数组拷贝) public static void arraycopy(object src,int srcPos,Object dest,int destPos, int length) 从指定的数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束. 参数:        src - 源数组        srcPos - 源数组中的起始位置        dest - 目的数组        destPos - 目标数据中的起始位置        le…
1. exit方法: public static void exit(int status): 终止当前正在运行的Java虚拟机.参数用作状态码:根据惯例,非0的状态码表示异常终止. 调用System.exit(n)实际等效于调用:Runtime.getRuntime().exit(n) 2. currentTimeMillis方法: public static long currentTimeMillis() 返回以毫秒为单位的当前时间. (1)currentTimeMillis方法的特殊用途…
1. System概述: System类包含一些有用的类字段和方法.它不能被实例化. 2. gc()方法:垃圾回收器 public static void gc()       调用gc方法暗示着Java虚拟机做了一些努力来回收未使用的对象,以便能够快速地重用这些对象当前占用的内存.当控制权从方法调用中返回,虚拟机已经尽最大了努力从所有丢弃的对象中回收了空间. 调用System.gc()方法实际上等效于调用:Runtime.getRuntime().gc() 3. 代码实现: Person.ja…
1.Scanner概述:         JDK5以后用于获取用户的键盘输入 2.Scanner的构造方法:         public Scanner (InputStream  source) 3.案例: package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * System类下有一个静态的字段: * public static final InputStream in; 标…
1. String和StringBuffer的相互转换 思想是:A-----B的转换,我们把A转换为B,其实是为了使用B的功能:B-----A的转换,我们可能的结果是A类型,所以还要转换回来 2. 案例演示: package cn.itcast_07; /* * 为什么我们要讲解类之间的转换: * A -- B的转换 * 我们把A转换为B,其实是为了使用B的功能. * B -- A的转换 * 我们可能要的结果是A类型,所以还得转回来. * * String和StringBuffer的相互转换?…
1. 分析: (1)键盘录入任意的年份 (2)设置日历对象的年月日            年:就是(1)输入的数据            月:是2(3月份)            日:是1  (3)把时间往前推一天,就是2月的最后一天  (4)输出这一天 2. 代码示例: package cn.itcast_03; import java.util.Calendar; import java.util.Scanner; /* * 获取任意一年的二月有多少天 * * 分析: * A:键盘录入任意的…
1. Calendar的add()和set()方法: public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作 public final void set(int year, int month, int date):设置当前日历的年月日 2. 代码示例: package cn.itcast_02; import java.util.Calendar; /* * public void add(int field,int…
1. BigInteger加减乘除法的使用 public BigInteger add(BigInteger val):加 public BigInteger subtract(BigInteger val):减 public BigInteger multiply(BigInteger val):乘 public BigInteger divide(BigInteger val):除 public BigInteger divideAndRemainder(BigInteger val):返回…
1. 需求:设计一个方法,可以实现获取任意范围内的随机数 分析:使用方法random()如下: public static double random() 注:Returns a pseudo-random number between 0.0 (inclusive) and 1.0 (exclusive). // 0.0 <= x <1.0 (1)键盘录入两个数. int start: int end: (2)想办法获取在start到end之间的随机数 (3)输出这个随机数 2. 代码实现:…
1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下: Math.random()>0.1? 2:4  上面表示出现数字2的概率为0.9,出现数字4的概率为0.1 2. 上面出现的是两个数,如果我们案例需求是多个数,控制概率出现,该怎么办呢? 下面是一个案例: 做一个翻宝程序,通过返回数字0-5来判断中奖情况, 012345,这几个数字的出现的概率是0出…
1. String字符串特点: 一旦被赋值,字符串值就不能改变. 这里String是final修饰的,具有不可继承性. 2. 为什么String是final? 主要是为了"效率" 和 "安全性" 的缘故. (1)效率: String设计的时候考虑很周到,倘若允许用户继承String,自定义MyString可能会降低程序的性能. (2)安全: 若 String允许被继承, 由于它的高度被使用率. 有时会依靠它算hash值作为地址,如果String是可变的那就全乱套了.…
1. Object类的toString()方法: public  String  toString():返回该对象的字符串表示 2. 案例演示: (1)Student类: package cn.itcast_02; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); thi…
1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的整数值),你可以理解为地址值. 2. Object类的getClass()方法,如下: public  final  Class  getClass():返回此 Object 的运行时类(返回的类型是Class类,实际返回的是Class类的对象实体)                       Cl…
1. 面试题:String,StringBuffer,StringBuilder的区别 ? 答:String是字符串内容不可变的,而StringBuffer和StringBuilder是字符串内容长度可变的:       StringBuffer是同步的,数据安全,效率低.       StringBuilder是不同步的,数据不安全,效率高. (1). 在执行速度方面的比较:StringBuilder > StringBuffer (2). StringBuffer与StringBuilder…
1. 分析:判断一个字符串是否是一个对称的字符串,我们只需要把字符串的第1个字符和最后1个字符,第2个字符和倒数第2个字符,…… 比较的次数是长度除以2.  方法1:通过取取索引对应值来进行一一比对  方法2:通过StringBuffer的取反方法reverse获取其逆向值 2. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串,"aba&qu…
1. StringBuffer的截取功能: public String subString(int Start): public String subString(int Start, int end):包含首,不包含尾 返回类型是String类型,和前面几个功能不一样,本身没有发生变化. 2. 案例演示: package cn.itcast_06; /* * StringBuffer的截取功能:注意返回值类型不再是StringBuffer本身了 * public String substrin…
1. StringBuffer的替换功能: public  StringBuffer   replace(int  start,  int  end, String  str): 2. 案例演示: package cn.itcast_04; /* * StringBuffer的替换功能: * public StringBuffer replace(int start,int end,String str):从start开始到end用str替换 */ public class StringBuff…
1. StringBuffer的删除功能: public StringBuffer  deleteCharAt(int index):删除指定位置的字符,并返回字符串缓冲区本身. public StringBuffer  delete(int start,  int end):删除从指定位置开始到指定位置结束的内容,包含左边,不包含右边,并返回字符串缓冲区本身. 2. 案例演示: package cn.itcast_03; /* * StringBuffer的删除功能 * public Stri…
1. StringBuffer类概述: (1)String的缺陷: 我们如果对字符串进行拼接操作,每次拼接,都会构造一个新的String对象,既耗时,又浪费空间.如下图: (2)StringBuffer弥补了String的缺陷 为了改进这个问题,而StringBuffer就可以解决这个问题. StringBuffer如何解决这个问题呢? StringBuffe第一次开辟比默认字符串大16byte的空间,然后在这16个字节字节写入被拼接的串.如果空间不够,以现有空间*2+2的方式翻一倍扩充. St…
1. String类的其他功能: (1)替换功能: String replace(char old, char new) String replace(String old,String new) (2)去除字符串两端的空格 String trim() (3)按照字典顺序比较两个字符串 int compareTo(String str) int compareToIgnoreCase(String str) 2. 案例演示: package cn.itcast_06; /* * String类的…
1. String类的转换功能 String[] split(String regex)//将字符串变成字符串数组(字符串切割) byte[] getBytes()//将字符串变成字节数组 char[] toCharArray()//将字符串变成字符数组 static String valueOf(char[] chs) static String valueOf(int i ) //将字符串中字母转成大小写 String toLowerCase()//小写 String toUpperCase…