5月23号System类

System类

System里面包含了一些对于系统信息相关的方法

System.exit(); 退出与停止虚拟机

System.currentTimeMillis();自1970年1月1日00:00:00起到现在程序运行的时间的差值;(毫秒)

long a=System.currentTimeMillis();类型必须用long

System.getenv() 获得和系统相关的信息

System.getenv(“Path”) 获得和系统相关的信息

Arrays.copyof(a,0,b,10 )返回一个指定长度的新数组,把原数组的值填进去

src(source):原数组 srcpao:从原数组的第几个开始复制

dest:目标数组 destpos:被复制的元素数量

Date类(spal ,util包里都有Date类)

Date date =new Date();新建对象(使用的是util包里的)

date.getYear()+1900 //+1900,

date.getMonth( )+1 //一年中的第几个月,月份从零开始,0就是一月,1就是二月

date.getDate ( ) //月中的第几天

date.getDay( ) //一周中的第几天

date.getHours( )//今天的小时是

date.getMinutes( ) //今天的第多少分钟

date.getSecond( )//今天的第多少秒

date.getTime( )//获得现在这一时刻的时间

date.to Locale String //根据本地区的习惯输出一个字符串格式的时间

Date date=new Date();//这些方法已经弃用,但任然可以使用执行,但是官方不推荐System.out.println(date.getYear()+1900);//自1900年开始,所以要加一个1900表示现在的年份System.out.println(date.getMonth());System.out.println(date.getDate());//表示这是月中的第几天System.out.println(date.getDay());//表示的是周中的第几天System.out.println(date.getHours());//小时System.out.println(date.getMinutes());//分钟System.out.println(date.getSeconds());//秒System.out.println(date.getTime());//返回时间的差值(long类型   毫秒)
Date date1=new Date(1621741054023L);//L表示long类型,因为int类型范围不够System.out.println(date1.toLocaleString());//根据本地区的习惯输出一个字符串类型的时间

Calendar 日历

Calendar类是抽象类不能创建对象

Calendar calendar= Calendar.get Instance( );返回的是子类对象

Calendar calendar=new Gregorian Calendar( );直接新建了一个子类对象

Date类型转为Calendar类型

Date date=new Date( );

Calendar calendar= Calendar.get Instance( );

calendar.setTime(date);

方法:

calendar.getTime

calendar.get(Calendar.Year)

/* System.out.println(calendar.getTime());//Sun May 23 14:25:52 CST 2021 System.out.println(calendar.get(Calendar.YEAR));//今年是几几年 System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天是本月中的第几天 System.out.println(calendar.get(Calendar.MONTH)+1);//本月是几月,+1是因为月份的排序从0开始,0就是1月,2是1月 System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//今天是今年的第几天 
System.out.println(calendar.getFirstDayOfWeek());*/
y  Year  Year  1996; 96
Y  Week year  Year  2009; 09
M  Month in year (context sensitive)  Month  July; Jul; 07
L  Month in year (standalone form)  Month  July; Jul; 07
w  Week in year  Number  27
W  Week in month  Number  2
D  Day in year  Number  189
d  Day in month  Number  10
F  Day of week in month  Number  2
E  Day name in week  Text  Tuesday; Tueu  Day number of week (1 = Monday, ..., 7 = Sunday)  Number  1
a  Am/pm marker  Text  PMH 
Hour in day (0-23)  Number  0k 
Hour in day (1-24)  Number  24K  
Hour in am/pm (0-11)  Number  0h  
Hour in am/pm (1-12)  Number  12
m  Minute in hour  Number  30
s  Second in minute  Number  55
S  Millisecond  Number  978
z  Time zone  General time zone
Pacific Standard Time; PST; 
GMT-08:00Z  Time zone  RFC 822 time zone  -0800X 
Time zone  ISO 8601 time zone  -08; -0800; -08:00

日期格式化 SimpleDateFormat(在java.text包中.

把java中的对象型(日期类型 new Date() Calendar )转为转为指定格式的字符,字符串

或者是将字符串格式转换为日期格式

SimpleDateFormat

//日期格式化--把日期对象转为字符串
Date date=new Date(1999-02-18);
SimpleDateFormat simpleDateFormat=new SimpleDateFormat  ("yyyy年MM月dd日 HH时:mm分钟:ss秒 SSS毫秒 ");
String str= simpleDateFormat.format(date);
System.out.println(str);

//日期格式化--把字符串转为日期对象
String birthday="1999-02-18";
SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("yyyy-MM-dd");
try {    
Date date1=simpleDateFormat1.parse(birthday);   
System.out.println(date1.getYear()+1900);  
System.out.println(date1.getTime());    
System.out.println(date1.toLocaleString());} catch (ParseException e) {

}
这里出现了异常,ParseException 





/    BigInteger   大整型
 /*在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的
        局限性。
        我们都知道 Integer 是 Int 的包装类,int 的最大值为 正负二十一亿。若希望描述
        更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了
        BigInteger 类。*/

        //BigInteger现在java.math包中
        BigInteger a=new BigInteger("111111111111111111111111111111122");
        BigInteger b=new BigInteger("111111111111111111111111111111333");
        // BigInteger特有的运算方法
        BigInteger c=a.add(b);//加
        BigInteger c1=a.subtract(b);//减
        BigInteger c2=a.multiply(b);//乘
        BigInteger c3=a.divide(b);//除
        
        
        BigDecimal   大浮点型
        BigDecimal a=new BigDecimal("12.94");
        BigDecimal b=new BigDecimal("1.28");
       BigDecimal c =a.add(b);
       BigDecimal c1 =a.subtract(b);
       BigDecimal c2 =a.multiply(b);
       BigDecimal c3 =a.divide(b);

        System.out.println(c);//加 14.22 
        System.out.println(c1);//减  11.66
        System.out.println(c2);//乘   16.5632
        System.out.println(c3);//除      10.109375

        

异常(Exception)

广义上的异常是指,程序运行时出现的所有不正常情况

狭义上的异常是指,程序运行时,由于程序缺陷导致在运行时出现不正常情况

错误是指,出现不正常情况时候,程序无法解决的问题(例如,文件读写时文件删除,网络中断,内存不够)

异常:异常出现后程序可以控制,进行处理,程序可以继续执行的情况

 /*   int num=5;        public static  int sum(int num){
 return num+sum(num:num-1);        }*/    
 
 /*java.lang.ArrayIndexOutOfBoundsException 数组越界,索引超出 
 索引超出了数组的长度减去一      
 int []a={1,2,3,4,5,};                  
 a[5]=5;                   */
 
 /* java.lang.StringIndexOutOfBoundsException 数组越界 
 String  s="abc";                   
 s.charAt(3);*/ 
 
 /* java.lang.NumberFormatException   数字格式化异常 
 Integer .parseInt("a");*/   

/*java.lang.NullPointerException     空指针异常  地址为空
 String s=null;         s.length();*/
 /*java.lang.ClassCastException类类型转换异常  
 Object obj ="abc";//最然是object类,但其实是String类型 
 Integer integer= (Integer) obj;//向下转型*/  
 
 /* java.lang.ArithmeticException       算术条件异常时抛出。
 例如,“除以零”的整数会抛出此类的一个实例。   
 程序出现异常后,后面程序就不执行*/       
 int a=10;        int b=0;       
 System.out.println(a/b);     
 System.out.println("daaafafaf");
/*try的书写方式    
try{可能出现异常的代码1      
try{  可能出现异常的代码2            }        }    
catch(异常类型 e){        捕获处理发生的异常}     
catch(异常类型 n){捕获处理发生的异常        }*/ 

/*try {            int a=10;            int b=2;  
int c = a / b;          
System.out.println(c);           
try {               
String s="acczc";              
System.out.println(s);            } 
catch (NullPointerException n) {         
System.out.println("出错了");            }        } catch (ArithmeticException e) {            e.printStackTrace();// e.printStackTrace(); 打印异常信息(在程序开发期间使用)            System.out.println(e.getMessage());//e.getMessage() 获得异常的原因        }*/         /*try的书写方式        try{可能出现异常的代码1             可能出现异常的代码2   }        catch(异常类型 e){        捕获处理发生的异常}        catch(异常类型 n){捕获处理发生的异常        }*/        try {            int a=10;            int b=0;            int c = a / b;            System.out.println(c);            String s=null;            System.out.println(s.length());        } catch (NullPointerException n) {            System.out.println("出错了");        } catch (ArithmeticException e) {            System.out.println("运算错误,除数为零");            System.out.println(e.getMessage());//e.getMessage() 获得异常的原因            e.printStackTrace();// e.printStackTrace(); 打印异常信息(在程序开发期间使用)        }

当有多个try的时候,一个错误后面的try就不执行了

catch(大的异常类型 e){ }

catch(小的异常类型 v){ }

大的异常类型必须写在小的异常类型后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值