前言
本文主要浅谈了常用类的用法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、StringBuffer类
StringBuffer: 和String类功能类似,都是专门处理字符串的,是字符串容器,长度可变,是线程安全的
面试题:简单介绍下String、StringBuffer、StringBuilder这三个类?
String是一个不可改变的字符序列
StringBuffer是可改变的字符序列,线程安全的,效率低
StringBuilder也是可改变的字符序列,线程不安全,效率高。
代码如下(示例):
public class Demo7 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append(1);
sb.append(true);
System.out.println(sb);
sb.append("你好");
sb.append('a');
sb.insert(1, 'p');
System.out.println(sb);
}
}
二、枚举
enum:枚举 public static final int DEFAULT_CAPACITY = 10;//静态常量 上面这种写法也可以使用枚举的写法。静态常量,不可改变量,而且在这个类都可以使用 枚举可以使用switch-case这个语句中 但是现在开发中一般都是写枚举,而不是写静态常量,因为枚举看着高大上!!! Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。
代码如下(示例):
public enum Week {
MON,TUE,WEN,THUR, FRI,SAT,SUN
}
三、包装类
八大基本数据类型 整型:byte、short、int、long对应的包装类分别为:Byte、Short、Integer、Long 其中Integer最常用,其它三个基本不用 浮点类型:float、double对应的包装类为:Float、Double 字符型:char 对应的包装类为 Character 布尔型:boolean 对应的包装类为 Boolean
总结: 除了int和char包装类特殊以外,其它的包装类都是对应的首字母大写,每一个基本数据类型都有与之对应的包装类
包装类的目的:对基本数据类型进行包装,让其拥有更多的方法和常量,说白了就是让其功能变得更加强大
代码如下(示例):
public class Test1 {
public static void main(String[] args) {
test1();
test2();
}
public static void test1(){
int i = 10;
System.out.println(i);
Integer i1 = 10;
System.out.println(i1);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer i2 = new Integer(10);
System.out.println(i2);
}
public static void test2(){
float f1 = 3.23234f;
Float float1 = new Float(7.9);
System.out.println(float1);
double d1 = 9.378376;
Double double1 = new Double(279.278465);
char c1 = 'a';
Character character = new Character('a');
System.out.println(c1);
System.out.println(character);
boolean b1 = true;
Boolean boolean1 = new Boolean(false);
System.out.println(b1);
System.out.println(boolean1);
}
public static void test3(){
Integer i1 = new Integer("2");
System.out.println(i1);
Boolean boolean1 = new Boolean("true");
System.out.println(boolean1);
Double double1 = new Double("4.36");
System.out.println(double1);
Character character = new Character('q');
}
public static void test4(){
byte a = 10;
Byte aByte = new Byte(a);
byte b = aByte.byteValue();
System.out.println(b);
Short short1 = new Short("20");
short sh = short1.shortValue();
System.out.println(sh);
Long aLong = new Long(47484848);
long l = aLong.longValue();
System.out.println(l);
}
public static void test5(){
byte b1 = 20;
Byte aByte = Byte.valueOf(b1);
System.out.println(aByte);
Integer integer = Integer.valueOf(1);
System.out.println(integer);
Character character = Character.valueOf('c');
System.out.println(character);
}
public static void test6(){
byte b1 = 10;
String string = Byte.toString(b1);
System.out.println(string);
int i1 = 39;
String string1 = Integer.toString(i1);
System.out.println(string1);
}
public static void test7(){
byte b1 = Byte.parseByte("29");
System.out.println(b1);
boolean aTrue = Boolean.parseBoolean("true");
System.out.println(aTrue);
int i = Integer.parseInt("12");
System.out.println(i);
}
public static void test8(){
Integer i = 20;
Integer i2 = new Integer("30");
int a = i2;
System.out.println(a);
}
}
总结
包装类下面的方法 包装类给我们提供了一些构造方法和常用的方法 1.除了Character这个包装类以外,其它的包装类都是支持与之对应的基本数据类型作为字符串的参数构造方法。 2.将引用数据(包装类)类型转为基本数据类型,比如Intege转为int类型,使用xxxValue();比如intValue() byteValue… 3.valueOf方法;将基本数据类型转为与之对应的包装类 4.parseXxx();将字符串转为基本数据类型,Character除外 5.toString方法,将基本数据类型转为字符串类型的数据 6.自动装箱和拆箱 装箱:将基本数据类型转为包装类对象 拆箱:将包装类对象转为基本数据类型 java为了简单省事,咱们有两个方法叫***Value()和 valueOf这两个方法,目的是装箱和拆箱,但是调用方法太麻烦,所以就进行封装,自动拆箱和装箱。不用调用上面两个函数,自己就可以完成了。JDK 1.5+
四、Math类
Java是面向对象的,专门的类做专门的事。 Math这个类是专门处理数学方法的一个类 Math类下面的方法全是静态方法
abs();求绝对值
max();//求最大值
min();//求最小值
ceil();//向上取整
floor();//向下取整
round();//四舍五入
random();//随机数
代码如下(示例):
public class Test2 {
public static void main(String[] args) {
System.out.println(Math.abs(-3.4));
System.out.println(Math.max(2,4));
System.out.println(Math.max(2,Math.max(3,Math.max(5,9))));
System.out.println(Math.min(3,4));
System.out.println(Math.ceil(3.4));
System.out.println(Math.floor(3.7));
System.out.println(Math.round(3.6));
System.out.println(Math.random());
System.out.println((int)(Math.random() * 100));
}
}
五、Random类
提供了更为丰富的随机数的方法的类
代码如下(示例):
import java.util.Random;
public class Test3 {
public static void main(String[] args) {
Random random = new Random();
System.out.println(random.nextBoolean());
System.out.println(random.nextInt());
System.out.println(random.nextDouble());
System.out.println(random.nextFloat());
System.out.println(random.nextLong());
}
}
六、System类
System类是系统类,提供了一些静态的方法和静态常量 代码如下(示例):
public class Test4 {
public static void main(String[] args) {
System.out.print("不换行输出");
System.out.println("换行输出");
System.out.println("错误输出");
System.out.println(System.currentTimeMillis());
System.gc();
Properties properties = System.getProperties();
System.out.println(properties.get("os.name"));
System.out.println(properties.get("os.version"));
System.out.println(properties.get("user.name"));
System.out.println(properties.get("user.dir"));
System.out.println(properties.get("java.version"));
}
}
七、Runtime类
Runtime这个类不能被实例化,因为Runtime这个类的设计采用了(饿汉式)单例模式,其构造方法私有化了,不能直接new 通常Runtime类的对象通过静态的getRunTime这个方法类获取的 这个类是专门提供java在运行程序的运行时候的信息 代码如下(示例):
import java.io.IOException;
public class Test5 {
public static void main(String[] args) throws IOException {
Runtime runtime = Runtime.getRuntime();
System.out.println(runtime.maxMemory()/1024/1024);
System.out.println(runtime.freeMemory()/1024/1024);
System.out.println(runtime.totalMemory()/1024/1024);
Runtime.getRuntime().exec("D:\\app\\Notepad++\\notepad++.exe");
}
}
八、Date类
Date专门处理日期的类,这个类很少用,一般用日历类Calendar
代码如下(示例):
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
Date date1 = new Date(2000, 10, 5);
System.out.println(date1);
Date date2 = new Date(System.currentTimeMillis());
System.out.println(date2);
System.out.println(date2.getYear() + 1900);
System.out.println(date2.getMonth() + 1);
}
}
九、Calendar类
专门处理日历的类,Calendar是一个抽象类,不能直接实例化,通过Calendar类名调用公开的静态的getIntance()方法获得Calendar对象。
Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当前日期和时间进行初始化:
代码如下(示例):
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Demo2 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(Calendar.YEAR);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
Date date = calendar.getTime();
System.out.println(date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdf.format(date));
}
}
总结
常用类不常用,但是学习这些东西的时候,要学习思想,给你一个你没有见过的类,
你要从几点考虑:
1.这个类是干嘛?比如String处理字符串 Date处理日期时间 System是和系统有关的。专门的类做这一类相关的事儿
2.看这个类的构造方法,能不能new?
3.这个类下面java估计猜测应该封装了好多方法。要学习常用的方法
|