================================================================================================
1.Math类 java.lang包
所有的属性和方法都是静态的 不需要创建对象
abs() max() min() ceil() floor() round() sqrt() pow() random()
2.Random类 java.util包
需要导包 通过无参数构造方法创建对象
nextInt(); nextInt(int bound); nextFloat() nextDouble() nextBoolean();
3.UUID类 java.util包
UUID uuid = UUID.randomUUID();
uuid.toString(); 32位 16进制的元素
4.BigInteger类 BigDecimal类 java.math包
需要导包 通过带String参数的构造方法创建对象
add() substract() multiply() divide() 阶乘
Decimal对象.setScale(位数,设置模式);设置小数点之后保留的位数
5.DecimalFormat类 java.text包---->格式化
导包使用 通过带String参数的构造方法创建对象 String-->一种格式
DecimalFormat df = new DecimalFormat("###.###");// # 0
String value = df.format(123.45);//给定的数字格式化成上述的效果
================================================================================================
包装类 数学相关
Scanner类
1.所属的包java.util包 需要import导包
2.通过一个带输入流的构造方法创建对象
3.常用方法 nextInt() nextFloat()读到回车为止,不读回车
next()空格结束,也读会车
nextLine()都回车,但是会自动舍弃
=============================================================================================
System类
1.所属的包java.lang包 不需要导入
2.不需要创建对象 通过类名就可以访问
3.有三个属性及若干的方法
三个属性out in err
方法gc() exit(0); currentTimeMillis();
日期相关
Date类
1.通常使用的是java.util包
2.导包 拿来使用 构建对象
3.通常使用无参数的构造方法 或者带long构造方法
4.Date类中常用的方法
before(); after();
setTime() getTime();----->long
compareTo(); -1 1 0
5.可以处理一个Date日期的格式
===============================================================================================
DateFormat类
1.包java.text 需要导包使用
2.此类是一个抽象类 不能创建对象 子类来使用
3.SimpleDateFormat类 是DateFormat的子类
4.调用带String参数的构造方法创建format对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String v = sdf.format(date1);//通过sdf对象将date1格式化成你描述的样子
Calendar类 1.1版本
1.所属的包java.util 需要导包
2.有构造方法 用protected修饰的 通常访问不到 通常会调用默认的getInstance();
3.常用方法
after() before()
setTime() getTime()---->Date
getTimeInMillis()----time
getTimeZone()---TimeZone
Calendar里面包含一个date属性 可以操作date的某一个局部信息
set get
calendar.set(Calendar.YEAR,2015);
int year = calendar.get(Calendar.YEAR);
TimeZone
1.java.util包
2.可以通过calendar对象.getTimeZone()获取 或 TimeZone.getDefault();
3.常用方法
tz.getID() ----> Asia/Shanghai
tz.getDisplayName() 中国标准时间
===================================================================
包装类--->1.5版本之后 自动拆装包装 String--int Integer x = 1;
数学相关->
日期相关->Date 基本日期
*字符串相关
1.String类
2.所属的包是java.lang包 不用导入
3.找寻构造方法创建对象
String s1 = "abc";
String s2 = new String("abc");
String是一个非常特殊的引用数据类型 可以像基本类型一样 创建 赋值
4.String类的特性
*5.String类中常用的方法 20+
6.笔试中经常会考察大家关于String的特点
==与equals比较方法区别
================================================================================================
0.常见的String笔试题
== equals方法的区别
==可以比较基本类型 可以比较引用类型
比较基本类型比较值 比较引用类型比较地址
equals只能比较引用类型(方法)
默认比较地址this==obj
如果想要修改其比较规则 可以重写equals方法
通常重写equals方法时会伴随着重写hashCode方法
比如String类 比如Integer
*String的不可变特性
长度及内容
String与StringBuffer区别
StringBuffer与StringBuilder区别
String对象的存储
"abc"---->字符串常量池
new String("abc")--->堆内存
"a"+"b"+"c"+"d"
*String中常用的方法
1.存在哪儿 java.lang包
没有任何继承关系 实现三个接口Serializable, CharSequence, Comparable<String>
2.如何构建对象
String str = "abc"; //直接将字符串常量赋值给str (字符串常量池)
String str = new String();//无参数构造方法创建空的对象
String str = new String("abc");//带string参数的构造方法创建对象
String str = new String(byte[] )//将数组中的每一个元素转化成对应的char 组合成String
String str = new String(char[] )//将数组中的每一个char元素拼接成最终的String
3.String的不可变特性
String类中包含一个private final char[] value;
体现在两个地方 长度及内容
长度--->final修饰的数组 数组长度本身不变 final修饰数组的地址也不变
内容--->private修饰的属性 不能在类的外部访问
*4.常用的方法
boolean = equals(Object obj);
//继承自Object 重写啦 比较两个字串中的字面值是否相等
int = hashCode();
//继承自Object 重写啦 将当前字符串的每一个char元素拆开 乘以31求和
int = compareTo(String str);
//实现自Comparable接口 实现啦 按照字典(Unicode编码)索引的顺序比较
String = toString();
//继承自Object 重写啦 不再输出 类名@hashCode 字符串中的字面值
--------------------------------------------------------------------
char = charAt(int index);//"abc" 0-->a
//返回给定index对应位置的那个char值
int = codePointAt(int index);//"abc" 0-->97
//返回给定index对应位置的那个char所对应的code码
int = length();
//返回字符串的长度
String = concat(String);
//将给定的字符串拼接在当前字符串之后