第十一章内容与总结

1.1:包装类
11.1.1 Integer类
 
public class IntergerDaemo {
 
    public static void main(String[] args) {
        
        // TODO Auto-generated method stub
        int num = Integer.parseInt("456");                  //将字符串转换为int类型
        Integer iNum = Integer.valueOf("456");           //创建一个intefer对象
        System.out.println("int数据与Integer对象的比较:;"+iNum.equals(num));
        String str2 = Integer.toBinaryString(num);        //获取数字的二进制表示
        String str3 = Integer.toHexString(num);           //获取数字的十六进制表示
        String str4 = Integer.toOctalString(num);         //获取数字的八进制表示
        String str5 = Integer.toString(num,15);            //获取数字的十五进制
        System.out.println("456的二进制表示为:"+str2);
        System.out.println("456的十六进制表示为:"+str3);
        System.out.println("456的八进制表示为:"+str4);
        System.out.println("456的十五进制表示为:"+str5);
    }
}
//例题11.1


11.1.2 Double类
 
public class DoubleDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Double dNum =Double.valueOf("3.14");
        //判断是否为非数字值
        System.out.println("3.14是否为非数字值:"+Double.isNaN(dNum.doubleValue()));
        System.out.println("3.14转换为int的值为"+dNum.intValue());//转换为int类型
        //判断大小
        System.out.println("值为3.14的Double对象与3.14的比较"+dNum.equals(3.14));
        //转换为十六进制
        System.out.println("3.14转换为十六进制为:"+Double.toHexString(dNum));
        
    }
 
}
//例题11.3

11.1.3 Boolean类
 
public class BooleanDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Boolean b1 =Boolean.valueOf("true"); //创建Boolean对象
        Boolean b2 =Boolean.valueOf("ok");
        System.out.println("b1:"+b1.booleanValue());
        System.out.println("b2:"+b2.booleanValue());
    }
 
}


11.1.4 Character类
 
public class UpperOrLower {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Character mychar1=Character.valueOf('A');
        Character mychar2=Character.valueOf('a');
        if(Character.isUpperCase(mychar1)) {
            System.out.println(mychar1+"是大写字母");
            //转换为小写字母输出
            System.out.println("转换为小写字母的结果:"+Character.toLowerCase(mychar1));
        }
        if(Character.isLowerCase(mychar2)) {
            System.out.println(mychar1+"是小写字母");
            //转换为大写字母输出
            System.out.println("转换为小写字母的结果:"+Character.toUpperCase(mychar2));
        }
    }
}//例题11.5

 

 11.1.5 Number类
表11.6
方法    功能描述
byteValue()    
int Value()    
int Value()    
int Value()    
int Value()    
int Value()    

 
————————————————

11.1.5 Number类
返回数值

import java.text.DecimalFormat;
 
public class DecimalFormatSimpleDemo {
    //使用实例化对象时设置格式
            static public void SimgleFormat(String pattern,double value) {
                DecimalFormat myFormat =new DecimalFormat(pattern);
                String output =myFormat.format(value);
                System.out.println(value+""+pattern+""+output);
            }
                //使用applyPattern()方法对数字进行格式化
            static public void UseApplyPatternMethodFormat(String pattern,double value) {
            DecimalFormat myFormat =new DecimalFormat();
                myFormat.applyPattern(pattern);
                    System.out.println(value+""+pattern+""+myFormat.format(value));
                    
                }
                public static void main(String[] args) {
                    SimgleFormat("###,###,###",123456.789);
                    SimgleFormat("00000000.###",123456.789);
                    //按照格式化模板格式化数字,不存在的位以0显示
                    SimgleFormat("000000.000",123.78);
                    //调用静态    UseApplyPatternMethodFormat()方法
                    UseApplyPatternMethodFormat("#.###%", 00.789);
                    UseApplyPatternMethodFormat("###.##", 123456.789);
                    UseApplyPatternMethodFormat("0.00\u2030", 0.789);        
            }
    }
        
        //例题11.6
    
 

11.2:数字处理
11.2.1数字化格式
 

11.2.2Math类
1三角函数

 
public class TrigonometricFunction {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("90度的正弦值为:"+Math.sin(Math.PI/2));
        System.out.println("0度的余弦值:"+Math.cos(0));
        System.out.println("90度的正弦值为:"+Math.tan(Math.PI/3));
 
        //取2的平方根与2商的反正弦
        System.out.println("取2的平方根与2商的反正弦"+Math.asin(Math.sqrt(2)/2));
        
        //取2的平方根与2商的反余弦
        System.out.println("取2的平方根与2商的反余弦"+Math.asin(Math.sqrt(2)/2));
        System.out.println("1的反正切值"+Math.atan(1));
        System.out.println("120度的弧度制"+Math.toRadians(120.0));
        System.out.println("Π/2的角度值"+Math.toDegrees(Math.PI/2));
    
    }
 
}
//例题11.7

2.指数函数

 
public class ExceponentFunction {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("e的平方值"+Math.exp(2));
        System.out.println("以e为底的2的对数值"+Math.log(2));
        System.out.println("以10为底2的对数值"+Math.log10(2));
        System.out.println("4的平方根值"+Math.sqrt(4));
        System.out.println("8的立方根值"+Math.cbrt(8));
        System.out.println("2的2次方值"+Math.pow(2, 2));
        
    }
 
}
//例题11.8

3.取整函数

 
public class IntFunction {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("使用ceil()方法取整"+Math.ceil(5.2));
        System.out.println("使用floor()方法取整"+Math.floor(2.5));
        System.out.println("使用rint()方法取整"+Math.rint(2.7));
        System.out.println("使用rint()方法取整"+Math.rint(2.5));
        //将参数加上0.5后返回最接近的整数
        System.out.println("使用round()方法取整"+Math.round(3.4f));
        //将参数加上0.5后返回最接近的整数,并且将结果强制转换为长整型
        System.out.println("使用round()方法取整"+Math.round(2.5));
    }
 
}
//例题11.9

4.取最大值、最小值、绝对值

11.2.3 Random类
import java.util.Random;
 
public class RandomDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random r = new Random();
        //随机产生一个整数
        System.out.println("随机产生一个整数"+r.nextInt());
        //随机产生一个大于等于0且小于10的整数
        System.out.println("随机产生一个大于等于0且小于10的整数"+r.nextInt(10));
        //随机产生一个布尔型的值
        System.out.println("随机产生一个布尔型的值"+r.nextBoolean());
        //随机产生一个双精度浮点型的值
        System.out.println("随机产生一个双精度浮点型的值"+r.nextDouble());
        //随机产生一个单精度浮点型的值
        System.out.println("随机产生一个单精度浮点型的值"+r.nextFloat());
        //随机产生一个概率密度为高斯分布的双精度浮点型的值
        System.out.println("随机产生一个概率密度为高斯分布的双精度浮点型的值"+r.nextGaussian());
        
        
        
    }
 
}
//例题11.11

11.2.4 BigInteger类
import java.math.BigInteger;
 
public class BigIntegerDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BigInteger b1 =new BigInteger("987654321987654321");
        BigInteger b2 =new BigInteger("123456789123456789");
        System.out.println("加法操作:"+b1.add(b2));
        System.out.println("减法操作:"+b1.subtract(b2));
        System.out.println("乘法操作:"+b1.multiply(b2));
        System.out.println("除法操作:"+b1.divide(b2));
        System.out.println("取商:"+b1.divideAndRemainder(b2)[0]);
        System.out.println("取余数:"+b1.divideAndRemainder(b2)[1]);
        System.out.println("做2次方操作:"+b1.pow(2));
        System.out.println("取相反数操作:"+b1.negate());
        
    }
 
}
//例题11.12

11.2.4 BigDecimal类
import java.math.BigDecimal;
import java.math.RoundingMode;
 
public class BigDecimalDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         //11.2.4 BigDecimal
          BigDecimal b1=new BigDecimal("0.728382834535");
          BigDecimal b2=new BigDecimal("0.00045353");
          System.out.println("两个数字相加结果:"+b1.add(b2));
            System.out.println("两个数字相减结果:"+b1.subtract(b2));
            System.out.println("两个数字相乘结果:"+b1.multiply(b2));
          //除法运算,商小数点后保留9位,并将结果进行四舍五入操作
          System.out.println("两个数字相除,保留小数点后9位:"+b1.divide(b2,9,RoundingMode.HALF_UP));
      
    }
 
}
//例题11.13

四.Scanner类
        控制台输出内容用到了System.out就表示向控制台输出,System.in就表示从控制台输入,让Scanner扫描System.in就可以获取用户输入的值了。

        使用Scanner类首先要引入该类,语法:

import java.util.Scanner;//引入Scanner类


         使用Scanner类扫描控制台的代码如下:

Scanner sc=new Scanner(System.in);
【例11.15】猜数字游戏
代码:

 

结果:

 

五.日期时间类
        1.Date类
        Date类用于表示日期时间,使用该类表示时间需要使用其构造方法创建对象。

例如,使用Date类的第二种构造方法创建一个Date类的对象,代码:

long timeMillis=System.currentTimeMillis();//当前系统时间所经历的毫秒数
Date date=new Date(timeMillis);


 【例11.16】获取当前的日期和时间
代码:

 

结果:

 

        2.日期时间格式化
        DateFormat类是日期时间格式化子类的抽象类,可以按照指定的格式对日期或时间进行格式化。

         DateFormat类提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期时间Formatter,格式化风格主要包括SHORT、MEDIUM、LONG和FULL4种:

        (1)SHORT:完全为数字,如12.13.52或3:30pm。

        (2)MEDIUM:较长,如Jan 12,1952。

        (3)LONG:更长,如January 12,1952或3:30:32pm。
        (4)FULL:完全指定,如Tuesday、April 12、1952 AD或3:30:42pm PST。

        使用DateFormat类还可以自定义日期时间的格式。要格式化一个当前语言环境下的日期,首先需要创建DateFormat类的一个对象,由于它是抽象类,因此可以使用其静态方法getDateInstance()进行创建,语法:

DateFormat df=DateFormat.getDateInstance();
        使用getDateInstance()方法获取的是所在国家或地区的标准日期格式。

        DateFormat类还提供了一些其他静态方法。

         由于DateFormat类是一个抽象类,不能用new创建实例对象。因此,除了使用getXXXInstance()方法创建其对象,还可以使用其子类,如SimpleDateFormat类,该类是一个以与语言环境相关的方式来格式化和分析日期的具体类,它允许进行格式化(日期→文本)、分析(文本→日期)和规范化。

【例11.17】以中文的形式打印当前的日期和时间 
代码:

 

结果:

 

        DateFormat类提供的Date parse(String source)方法可以将字符串转为其字面日期对应的Date对象,整个过程相当于日期格式化的逆操作。

        例如,将“2021-02-19”这个字符串转成Date对象,代码:

DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date=sdf.parse("2021-02-19");
 总结:
代码:

 

结果:

 

        3.Calendar类
        Calendar提供了一个类方法getInstance(),以获得其类型的一个通用的对象。Calendar类的getInstance()方法返回一个Calendar对象,其日历字段已由当前日期和时间格式化,使用方法:

Calendar rightNow=Calendar.getInstance();


 

【例11.18】今天离中华人民共和国成立100周年差多少天
代码:

 

结果:

 

对Calendar类的使用的总结: 
(1)c.set(Calendar.DAY_OF_MONTH,0)获取的是上个月的最后一天,所以调用前需要将月份往后加一个月。

(2)Calendar.MONTH的第一个月是使用0记录的,所以在获得月份数字后要加1。年和日是从1开始记录的不需要加1。

(3)Calendar.DAY_OF_WEEK的第一天是周日,周一是第二天,周六是最后一天。

六.Runtime类
        Runtime类不能使用new关键字创建实例,只能通过Runtime.getRunntime()方法获取实例。

        1.执行本地命令
        本地命令指的是操作系统的命令。

        Runtime类提供exec()方法让Java代码可以执行系统命令,exec()方法有很多重载形式,如:

Process exec(String command)
Process exec(String[] cmdarray)
command:要执行的系统命令,字符串类型。

cmdarray:要执行的命令和相应的命令参数,字符串数组类型。

        使用第一种重载方式的代码:

Runtime.getRuntime().exec("javac hello.java");
        使用第二种重载方式的代码:

String command[]={"javac","hello.java");
Runtime.getRuntime().exec(command);


 【例11.19】让Java程序执行Windows系统的help命令
代码:

 

结果:

 

        2.查看内存 
        Runtime类可以通过freeMemory()方法查看当前Java虚拟机可用内存的剩余量。

【例11.20】监控虚拟机内存使用情况
代码:

 

结果:
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值