Math
-
math类,包含执行基本数字运算的方法,通过类名直接调用
-
常用方法
Math.abs(-88)//返回参数的绝对值 88 Math.ceil(12.56)//返回大于等于参数的最小double值 13.0 Math.floor(12.34)//返回小于等于参数的最小double值 12.0 Math.round(12.34F)//12 Math.round(12.56F)//13 按照四舍五入返回最接近参数int值 Math.max(66,88)//88 返回两个int值中最大值 Math.min(66,88)//66 返回两个int值中最小值 Math.pow(a:2.0,b:3.0)//8.0 返回a的b次幂 Math.random()//返回[0.0,1.0)间的double值 (int)(Math.random()*100)+1//[0,100]
System
-
System类包含几个有用的类字段和方法,他不能被实例化,通过类名访问
-
常用方法:
System.exit(0)//终止当前运行的Java虚拟机,非零表示异常终止 System.currentTimeMillis()//返回当前时间(以毫秒为单位)1.0/1000/60/60/24/365+"年" //实际应用 long start=System.currentTimeMillis(); for(int i=0;i<1999;i++){ System.out.println(i); } long end=System.currentTimeMillis(); System.out.println("共耗时"+(end-start)+"毫秒");//返回执行这个程序用了多少毫秒
Object
-
Object是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或间接的继承自该类
-
构造方法 public Object()
-
这就是为什么子类的构造方法默认访问的是父类的无参构造方法,因为他们的顶级父类只有无参构造方法
-
Object类常用方法
1.toString()返回对象的字符串表达式,使用时建议所有子类重写该方法,自动生成
//创建一个Student类 Student s=new Student; s.setName("小明"); s.setage(22); System.out.println(s);//会输出:Student{name='小明',age=30},前提是在类中重写toString方法(alt+insert自动生成)
2.equals() 比较对象是否相等,默认比较地址,重写可以比较内容,自动生成
//创建一个Student类 Student s1=new Student; s1.setName("小明"); s1.setage(22); Student s2=new Student; s2.setName("小明"); s2.setage(22); System.out.println(s1.equals(s2));//true 前提是在类中重写equals方法(alt+insert自动生成)
Arrays
-
冒泡排序
//假如有有4个元素进行排序 int[] arr={1,2,3,4} for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }
-
Array类包含用于操作数组的各种方法
int[] arr={2,8,5,1} Arrays.toString(arr);//[2,8,5,1] 返回指定数组的内容的字符串表达形式 Arrays.sort(arr); Arrays.toString(arr);//[1,2,5,8] 按照数字顺序排列指定的数组
-
构造方法用private修饰(不需要创建对象) 成员用public static 修饰(直接通过类名访问)
基本类型包装类
-
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
-
常用的操作之一:用于基本数据类型与字符串之间的转换 int---Integer char---Character
Integer类的概述和使用
-
Integer:包装一个对象中的原始类型int的值
Integer i1=Integer.valueof(100);//100 返回表示指定的int值的Integer实例 Integer i2=Integer.valueof("100");//100 返回一个保存指定值的Integer对象String
int和String的相互转换
-
基本类型包装类的最常见操作是:用于基本类型和字符串之间的相互转换
-
int转换为String
int num=100; String s1=String.valueOf(num);//100 string类中方法
-
String转换为int
String s="100"; int a=Integer.parseInt(s);//100 integer类中方法
自动装箱和拆箱
-
装箱:把基本数据类型转化为对应的包装类类型
Integer i=Integer.valueOf(100);//非自动装箱 Integer ii=100;//自动装箱
-
拆箱:把包装类类型转化为对应的基本数据类型
ii+=100;//200
日期类
1.Date类
-
Date代表了一个特定时间,精确到毫秒
-
Date类构造方法
Date d1=new Date(); System.out.println(d1);//此刻时间 long date=1000*60*60; Date d2=new Date(date); System.out.println(d2);//1970年
-
Date类常用方法
Date d=new Date(); System.out.println(d.getTime());//获取从1970年1月1日00:00:00到现在的毫秒值 long time=1000*60*60; d.setTime(time);//1970年1月1日00:00:00
2.SimpleDateFormat类
-
SimpleDateFormat类是一个具体的类,用于区域设置敏感的方式格式化和解析日期,掌握日期格式化和解析
-
格式化从date到string
Date d=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//构造方法 String s= sdf.format(d); System.out.println(s);
-
格式化从string到date
String ss="2048-08-09 11:11:11"; SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dd=sdf2.parse(ss); System.out.println(dd);
3.Calendar类
-
Calender为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
-
Calender提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化:
Calendar c=Calendar.getInstance();//创建对象
-
Calendar常用方法
Calendar c=Calendar.getInstance(); int year = c.get(Calendar.YEAR);//返回给定日历字段的值 年月日时分秒 2022 c.add(Calendar.YEAR,-3); int year1=c.get(Calendar.YEAR); System.out.println(year1);//将指定的时间量添加或减去给定的日历字段 2019 c.set(2048,11,11); int year2=c.get(Calendar.YEAR); System.out.println(year2);//设置时间日期
String类
-
String类概述
String类代表字符串,java程序中的所有字符串文字(例如“abc‘)都被实现为此类的实例
也就是说,Java程序中所有的双引号字符串,都是String类对象
-
String类特点
字符串不可变,他们的值在创建后不能被更改
虽然String的值是不可变的,但是他们可以被共享
字符串效果上相当于字符数组(char[]),但底层原理是字节数组(byte[])
-
String对象的特点
通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内存相同,但是地址值不同
以”“方式给出的字符串,只要字符序列相同,无论在代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护
-
常用方法
构造方法:
String s="abc";//最常用
equals():比较内容
charAt(): 返回指定索引处的char值,字符串索引也是从0开始
length(): 获取字符串的长度
StringBuilder类
-
如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间,而这种操作还不可避免。
这种操作通过Stringbuilder类来解决。
-
StringBuilder概述
StringBuilder是一个可变的字符串类,我们可以把它看成一个容器(这里的可变指StringBuilder对象中内容可变)
-
String和StringBuilder区别
string:内容是不可变的
StringBuilder:内容是可变的
-
StringBuilder构造方法
StringBuilder sb=new StringBuilder();//无参 StringBuilder sb2=new StringBuilder("hello");//有参
-
StringBuilder常用方法
StringBuilder sb=new StringBuilder(); sb.append("hello");//添加数据,并返回数据本身 任意类型 返回对象本身,说明还是个对象,可以使用链式编程。 sb.append("hello").append("world").append("java").append(100); sb.reverse();//olleh
-
StringBuilder和String相互转换
1.StringBuilder转换为String
StringBuilder sb=new StringBuilder(); sb.append("hello"); String s=sb.toString(); System.out.println(s);
2.String转换为StringBuilder
String s="hello"; StringBuilder sb=new StringBuilder(s); System.out.println(sb);
Random类
-
创建对象
Random r=new Random();
-
获取随机数
int num=r.nextInt(10);//[0,10)中任意一个数