一、常用类1:out
1、System.out.println()
out是System上面的一个公开的静态的属性,是printStream类型的;println是out的方法。System.out就是一个printStream类型的对象,获取这个对象之后,调用对象上面的println()方法;
2、Scanner scan=new Scanner(System.in)
scan.next()是一个阻塞的方法,当没有从键盘输入\n的时候,scan.next()会阻塞。当从键盘上输入\n的时候,scan.next()会解除阻塞,并且读取键盘数据当作String返回。
二、常用类2:Math
Math类是通过调用类名来使用的;如何限制只能使用类名来调用,就是把Math类的构造方法私有化,这样就无法创建其对象了
面试注意:当方法的参数是基本数据类型的时候,要注意向上找.
Java中为8种基本类型提供了对应的8种引用类型,称为基本类型的包装器类型.提供包装器类型的目的是让我们可以通过对象方式来操作8种基本类型
Byte Short Integer Long
Float Double
Character
Boolean
所谓的Integer,实际上就是在Integer对象上面有个int型的属性value.
1、int->Integer
Integer I3 = i; //自动装箱,JVM会自动的把基本类型转换为对应的包装器类型
Integer I1 = new Integer(i);
Integer I2 = Integer.valueOf(i);
2、int -> String
int i = 10;
String s1 = i + ""; // "10"
String s2 = String.valueOf(i);
String s3 = Integer.toString(i);
3、Integer -> int
Integer I = 10;
int i1 = I.intValue();
int i2 = I; // 自动拆箱
4、String -> Integer 注意:只有有效的数值格式的String才能被转化为Intgeger
String s = "1000";
//String s = "hELLO";
Integer I1 = new Integer(s);
Integer I2 = Integer.valueOf(s);
Integer I3 = Integer.decode(s);
5、String -> int 注意:只有有效的数值格式的String才能被转化为int
String s = "100";
//String s = "Hello";
int i = Integer.parseInt(s);
6、Integer -> String
Integer I = 100;
String str = I.toString();
*byte,short int,long在自动装箱的时候,在-128~127范围内对象会在对象池中分配.
*对象池中的对象都是被共享的
*char自动装箱的时候,在0~127范围内对象会在对象池中分配.
*boolean自动装箱的时候,对象都会在对象池中分配.
浮点类型自动装箱的时候,没有对象池
截止到目前,Java中一个提供了6个对象池
精确的减法运算:使用BigDecimal
Double d1=3.1415;
BigDecimal bd1=new BigDecimal(Double.toString(d1));
//使用以下构造方法的结果有一定的不可预知性
BigDecimal bd2= new BigDecimal(d1),在这条语句中double->String->BigDecimal
0表示该位有数据就显示数据,如果没有数据就强制显示0
DecimalFormat df1 = new DecimalFormat("000,000,000,000.0000");
#表示该位有数据就显示数据,如果没有数据就不显示
DecimalFormat df2 = new DecimalFormat("###,###,###,###.####");
三、常用类3:String
1、String的实质就是一个char[]而已;
2、在Java中只要用到""格式来创建String对象,该对象都会在对象池中分配.对象池中的对象都是被共享的;
3、String对象一旦创建好之后,其内容是不可改变的。 String对象是如何控制其对象的内容是不可改变的呢?
(1).value这个引用是被final修饰的;
(2).value这个引用是私有的,并且String类中并没有提供任何方法来修改数组对象的内容;
4、用+来拼接大量的String对象的时候,会造成大量的垃圾;
四、常用类4:StringBuffer
1、StringBuffer : 速度慢;线程安全的 ;
2、StringBuilder: 速度快;非线程安全的;
3、StringBuffer 是一个可变的字符序列.在拼接大量的字符的时候,不会产生垃圾
1、System.out.println()
out是System上面的一个公开的静态的属性,是printStream类型的;println是out的方法。System.out就是一个printStream类型的对象,获取这个对象之后,调用对象上面的println()方法;
2、Scanner scan=new Scanner(System.in)
scan.next()是一个阻塞的方法,当没有从键盘输入\n的时候,scan.next()会阻塞。当从键盘上输入\n的时候,scan.next()会解除阻塞,并且读取键盘数据当作String返回。
二、常用类2:Math
Math类是通过调用类名来使用的;如何限制只能使用类名来调用,就是把Math类的构造方法私有化,这样就无法创建其对象了
面试注意:当方法的参数是基本数据类型的时候,要注意向上找.
Java中为8种基本类型提供了对应的8种引用类型,称为基本类型的包装器类型.提供包装器类型的目的是让我们可以通过对象方式来操作8种基本类型
Byte Short Integer Long
Float Double
Character
Boolean
所谓的Integer,实际上就是在Integer对象上面有个int型的属性value.
1、int->Integer
Integer I3 = i; //自动装箱,JVM会自动的把基本类型转换为对应的包装器类型
Integer I1 = new Integer(i);
Integer I2 = Integer.valueOf(i);
2、int -> String
int i = 10;
String s1 = i + ""; // "10"
String s2 = String.valueOf(i);
String s3 = Integer.toString(i);
3、Integer -> int
Integer I = 10;
int i1 = I.intValue();
int i2 = I; // 自动拆箱
4、String -> Integer 注意:只有有效的数值格式的String才能被转化为Intgeger
String s = "1000";
//String s = "hELLO";
Integer I1 = new Integer(s);
Integer I2 = Integer.valueOf(s);
Integer I3 = Integer.decode(s);
5、String -> int 注意:只有有效的数值格式的String才能被转化为int
String s = "100";
//String s = "Hello";
int i = Integer.parseInt(s);
6、Integer -> String
Integer I = 100;
String str = I.toString();
*byte,short int,long在自动装箱的时候,在-128~127范围内对象会在对象池中分配.
*对象池中的对象都是被共享的
*char自动装箱的时候,在0~127范围内对象会在对象池中分配.
*boolean自动装箱的时候,对象都会在对象池中分配.
浮点类型自动装箱的时候,没有对象池
截止到目前,Java中一个提供了6个对象池
精确的减法运算:使用BigDecimal
Double d1=3.1415;
BigDecimal bd1=new BigDecimal(Double.toString(d1));
//使用以下构造方法的结果有一定的不可预知性
BigDecimal bd2= new BigDecimal(d1),在这条语句中double->String->BigDecimal
0表示该位有数据就显示数据,如果没有数据就强制显示0
DecimalFormat df1 = new DecimalFormat("000,000,000,000.0000");
#表示该位有数据就显示数据,如果没有数据就不显示
DecimalFormat df2 = new DecimalFormat("###,###,###,###.####");
三、常用类3:String
1、String的实质就是一个char[]而已;
2、在Java中只要用到""格式来创建String对象,该对象都会在对象池中分配.对象池中的对象都是被共享的;
3、String对象一旦创建好之后,其内容是不可改变的。 String对象是如何控制其对象的内容是不可改变的呢?
(1).value这个引用是被final修饰的;
(2).value这个引用是私有的,并且String类中并没有提供任何方法来修改数组对象的内容;
4、用+来拼接大量的String对象的时候,会造成大量的垃圾;
四、常用类4:StringBuffer
1、StringBuffer : 速度慢;线程安全的 ;
2、StringBuilder: 速度快;非线程安全的;
3、StringBuffer 是一个可变的字符序列.在拼接大量的字符的时候,不会产生垃圾