包装类:
1.包装类把基本类型数据转换(包装成了)为对象
(基本类型.(点)不出来东西,只有引用类型才能.(点)出来东西)
(1)每个基本类型在java.lang包中都有一个相对应的包装类
2.包装类有何作用
(1)提供一系列实用的方法
(2)集合不允许存放基本类型数据,存放数字时,要用包装类
1.包装类和基本类型对应
2.包装类他对应与基本类型之后,因为是包装类了所以它能提供一系列方法了
3.如果有些场合只能用包装类型用不了基本类型,那你只能把基本类型变成包装类。
包装类常用的类型:
1.Boolean(布尔类型)------------ 对应的是boolean
1、当用Boolean(布尔类型)用字符串构造方法进行构造对象的时候,只要字母tuer没写错他就随意大小写。
2、如果不是tuer那么全部是false。
(Boolean类型构造方法参数为String类型时,若改字符串内容为true(不考虑大小写),则该Boolean对象表true,否则表示false)
2.Numder(数字类型) ----------- 都是包装类
1.当用字符串进行构造的时候,必须对应的字符串要能对应相应变成数字才能传,如果变不成数字就不能传。
(当Numder包装类构造方法参数为String类型时,字符串不能为unll,且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumderFormatExcepion异常)
包装类: Byte、Short、Integer、Long、Float、Double
基本类型跟上面对应: byte、short、int、 long、float、doule
3.Character -------------------- 对应的基本类型是char
包装类的构造方法:
1.所以包装类都可将之与对应的基本数据类型作为参数,来构造它们的示例
(1)public Type(type calue)
如:lnter i=new lnteger(1);
2.除Character类外,其他包装类可将一个字符串作为参数构造它们的示例
(1)public Type(String value)
如:integer i=new Integer("123");
4.ValueOf():
1.所有包装类都有如下方法(基本类型->包装类)
public static Type ValueOf(type value)
如:Integer integer.valyeOf(21);
2.除Character类除外,其他包装类都有如下方法(字符串->包装类)
public static Type valueOf(String s)
如:Integer intValue=Integer.ValueOf("21");
包装类的常用方法4-1
1.XXXValue():包装类转换成基本数据类型
Integer integerld=new Integer(25);
int intld=inttegerid.intValue();
2.toString():以字符串形式返回包装对象的基本类型数据(基本类型->字符串)
(1)String sex=Character.toString('男');
String id=Integer.toString(25);
(2)String sex='男'+" ";
String id=25+" ";
3.parseXXX():把字符串转换为相应的基本数据类型数据(Character除外) (字符串->基本类型)
int num=Integer.parseInt("36");
boolean bool=Boolean.parseBoolean("false");
4.ValueOf():
1.所有包装类都有如下方法(基本类型->包装类)
public static Type ValueOf(type value)
如:Integer integer.valyeOf(21);
2.除Character类除外,其他包装类都有如下方法(字符串->包装类)
public static Type valueOf(String s)
如:Integer intValue=Integer.ValueOf("21");
装箱和拆箱
基本类型和包装类型的自动转换;
装箱:基本类型转换为包类的对象
拆箱:包装类对象装换为基本类型的值
包装类的特点:
1.JDK1.5后允许基本数据类型和包装类型的混合数学运算了
2.包装类并不是用来取代基本数据类型的
它只是解决当基本类型必须要用对象表示的时候才能用它
(在基本数据类型需要应对象表示时使用)
学习方法:记不住的话使用帮助文档。
Math类:
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)
Math.ads(-3.5); //返回3.5
Math.max(2.5,90.5);//返回90.5
int random=(int)(Math.random()*10)//生成一个0-9之间的随机数
Random类:可以生成随机数
使用:1.创建Random对象(Random xx=new Radom )
2.输出Random(System.out.println(xx.nextInt() );
java.util.Random类
Random rand=new Random //创建一个Random对象
for(int i=0;i<20;i++){ //随机生成20个随机整数,并显示
int num=rand.nexInt(10) //返回下一个伪随机数,整型的
System.out.print("第"+(i+1)+"个随机数是:"+num);
System.out.println(random.nextInt());//生成随机整数 有负数 这个是无参
System.out.println(random.nextInt(10));//生成随机整数1-10 这个是有参
种子:JDK里面借助这个种子生成一种算法,通过这个算法来算出一个随机数
不同的种子构造Random对象生成的随机数是不同的(Random() 括号里面没有参数(种子))
Random random1=new Random();
Random random2=new Random();
System.out.println(random1.nextInt(10));
System.out.println(random2.nextInt(10));
不同
相同的种子构造Random对象生成的随机数是相同的;(Random()括号里面有参数(种子))
Random random1=new Random(55);
Random random2=new Random(55);
System.out.println(random1.nextInt(10));
System.out.println(random2.nextInt(10));
生成的随机数是一样的
相同
注意:用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,得到随机数也是相同的。
String类
使用Striing对象存储字符串
String s="你好";
String s=new String();
String s=new String("你好";)
length()方法
注册新用户,要求密码长度不能小于6位数
字符串常用方法:Length() 注意字符串的长度或者叫做数与数组的Length属性的区别
epuals()方法
比较两个内容
epauals():比较两个字符串内容是否相等
String的epuals面试题:(1)epuals()与== (2)创建了几个字符串对象?
(1)int比较== equals()本来是一样的比较内存地址是不是相同,String里面的epauls()被Objetc重写了,比较地址里面的内容是不是一样(int==是比较是否是同意对象 equals()变成了比较字符串内容)
String s1="hello";
String s2="hello";
System.out.println(s1.equals(s2));//true
System.out.println(s1==s2);//true
(2)new String() 这个里面equals是一样的 ==的话不一样
String s1="hello";
String s2=new String("hello");
System.out.println(s1.equals(s2));//true
System.out.println(s1==s2);//false
三个方法
epualslagnoreCase() 比较不区分大小写
epuals 严格区分大小写
toLowerCase() 小写
toUpperCase 大写
trim:去掉字符串两端的空格