A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangyijunnnnnnn 初级黑马   /  2015-7-25 01:24  /  482 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

System类:
全部是静态方法:
static void exit(int status)
static void gc()---运行垃圾回收机制,并对垃圾进行回收
static void currentTimeMillis()
static void arrayCopy(Object src,int srcPos, Object dest , int desPos,int length)---数组的copy
static Properties getProperties()---系统属性的获取
static String getProperty(String key)


Runtime类:
用于封装jvm虚拟机进程
采用单例模式,不可以直接实例化:
Runtime runTime  = Runtime.getRuntime();
常用方法:
int availableProcessors()
int freeMemory()
int maxMemory()
Process exec()---执行一个电脑进程(类似cmd)


Math类:
也全是静态方法
主要有几个常用的方法:

public class Example15{
       

        public static void main(String[] args){
                System.out.println("计算绝对值的结果:"+Math.abs(-10));
                System.out.println("计算大于参数的最小整数:"+Math.ceil(5.6));
                System.out.println("计算小于参数的最小整数:"+Math.floor(-4.2));
                System.out.println("对小数进行四舍五入:"+Math.round(-4.8));
                System.out.println("求两个数的最大数:"+Math.max(2.1,-2.1));
                System.out.println("求两个数的最小数:"+Math.min(2.1,-1.1));
                System.out.println("生成一个大于0.0小于1.0的随机值"+Math.random());
        }
}


Random类:
两种实例方法:
Random r = new Randow()---无种子
Random r  = new Randow(10)---有种子
其差别在于:如果指定了相同的种子,则每个实例对象产生的随机数具有相同的序列


public class Example16{
        public void static main(String[] args){
                Random r = new Random();                //创建对象时不传入种子
                for(int i = 0 ; i < 10 ; i ++){
                        System.out.println(r.nextInt(1000));
                }
        }
}

public class Example17{
        public void static main(String[] args){
                Random r = new Random();                //创建对象时传入种子
                for(int i = 0 ; i < 10 ; i ++){
                        System.out.println(r.nextInt(1000));
                }
        }
}


Randow的常用方法:
boolean nextBoolean()
double nextDouble()
float nextFloat()
int nextInt()
int nextInt(int n)
long nextLong()




基本数据类型的包装类:
除了Integer和Character类外,其他包装类的名称和基本数据类型的名称一致,只是首字母大写即可
Integer的常用方法:
String toBinaryString(int i)---转为二进制
String toOctalString(int i)---转为八进制
String toHexString(int i)---转为十六进制
int intValue()---转为int类型的值
Integer valueOf(int i)
Integer valueOf(String s)
int parseInt(String s)

public class Example20{
        public void static main(String[] args){
                Integer i = new Integer(22);
                int int = i.intValue();
                System.out.println(int);
        }
}


public class Example21{
        public void static main(String[] args){
                int x = Integer.parseInt(args[0]);
                int y = Integer.parseInt(args[1]);
               
                for(int i = 0; i <x ; i ++){
               
                        StringBuffer sb = new StringBuffer();        //得到行数,且同名重复

                        for(int i = 0 ; i < y ; i ++){                //得到每行的个数

                                sb.append("*");
                        }
                }
        }
}


cmd中输入:
java Example21 3 4  得到:
****
****
****

Integer的装箱:
Integer i = new Interger(20)
Integer的拆箱:
int iii = i.intValue()

但jdk5.0之后就自动装箱和自动拆箱了


Date类:
两种实例化方式:
Date date1 = new Date();
Date date2 = new Date(8888888888888888888);

date1得到的是当前计算机的日期和时间
date2得到的是从1970年1月1日以来过了8888888888888毫秒后的日期和时间

Calendar类和DateFormat类以及SimpleDateFormat类
calendar类的实例化方法和dateFormat类的实例化方法都是单例模式,故不能直接new
Calendar c = Calendar.getInstance();
DateFormat df = DateFormat.getDateInstance();
只差了一个Date,get(Date)Instance()

SimpleDateFormat类的实例化直接new:
SimpleDateFormat sdf = new SimpleDateFormat();

Calendar类的总要方法:
int get(int field)
void add(int field , int amount)
void set(int field , int value)
void set(int year , int month , int date)
void set(int year, int month , int date , int hourOfDay, int minute, int second)

这些方法里的参数int field有:
Calendar.YEAR
Calendar.MONTH
Calendar.DATE
Calendar.HOUR
Calendar.MINUTE
Calendar.SECOND

三者比较:
如果要到达一个统一的目的(即格式化时间)
public class Calender {
        public void static main(String[] args){
                Calendar calendar = Calendar.getInstance();
                int year = calendar.get(Calendar.YEAR);
                int month = calendar.get(Calendar.MONTH);
                int date = calendar.get(Calendar.DATE);
                int hour = calendar.get(Calendar.HOUR);
                int minute = calendar.get(Calendar.MINUTE);
                int second = calendar.get(Calendar.SECOND);

                System.out.println("当前时间为:"+year+"年"+month+"月"+date+"日"+ hour+"时"+minute+"分钟"+minute+"秒");
        }
}

public class DateFormat {
        public void static main(String[] args){
                DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);                                //参数有以下几种:DateFormat.FULL,DateFormat.LONG,DateFormat.MEDIUM,DateFormat.SHORT

                Date date = new Date();
                String time = df.format(date);
               
                System.out.println(time);
        }
}


public class SimpleDateFormat {
        public void static main(String[] args){
                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("Gyyyy年MM月dd日:今天是yyyy年的第D天,E");
                String time = sdf.format(date);
        }
}

simpleDateFormat的参数是合适的格式字符串参数,然后format一个Date对象,搞定!



JDK7新特性:switch语句支持String

public class Example30 {
        public void static main(String[] args){
                String week = "friday";
                switch(week){
                        case "monday":
                                System.out.println("星期一");
                                break;
                        case "Tuesday":
                                System.out.println("星期二");
                                break;
                        case "Wednesday":
                                System.out.println("星期三");
                        ...
        }
}

api,over!

都是自己在教室大的哦,谢谢支持

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马