第十一章总结

 11.1.1  Integer类

Integer类在对象中包装了一个基本数据类型int的值,该类的对象包含一个int类型的字段。

常用方法如下表:

 例题11.1

 
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

Integer类提供了以下4个常量:

☑MAX VALUE:表示 int 类型可取的最大值,即³¹。

2³¹−1。

☑MIN VALUE:表示 int 类型可取的最小值,即³¹。

−2³¹。

☑ SIZE:用来以二进制补码形式表示int值的位数。

☑ TYPE:表示基本类型int 的Class实例。

 
public class GetCon {
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int maxint = Integer.MAX_VALUE;               //获取Integer类的常量值
  int minint = Integer.MIN_VALUE;
  int intsize = Integer.SIZE;
  System.out.println("int数据与Interger对象的比较:"+maxint);      //将常量值输出
  System.out.println("int数据与Interger对象的比较:"+minint);
  System.out.println("int数据与Interger对象的比较:"+intsize);
 }
 
}
//例题11.2

11.1.2 Double类

  Double类和Float 类是对double、float 基本类型的封装,它们都是Number 类的子类,都是对浮点数进行操作,所以常用方法基本相同。

  Double 类在对象中包装一个基本类型为double 的值,每个Double类的对象都包含一个double 类型的字段。此外,该类还提供多个方法,可以将double 类型转换为String 类型,将String 类型转换为double类型,也提供了其他一些处理double类型时有用的常量和方法。Double类的常用方法如表11.3 所示。

 
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类

 Boolean类将基本类型为boolean的值包装在一个对象中。一个Boolean 类型的对象只包含一个类型为boolean的字段。此外,此类还为boolean类型和String 类型的相互转换提供了许多方法,并提供了处理boolean 类型时非常有用的其他一些常量和方法。Boolean类的常用方法如表11.4 所示。

 
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.4

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.2数字处理

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.2Math类 

 
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

 

 
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

 

 
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. 取最大值、最小值、绝对值函数方法 

 
public class AnyFunction {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("4和8较大者"+Math.max(4, 8));
		System.out.println("4.4和4较小者"+Math.min(0, 0));
		System.out.println("-7的绝对值"+Math.abs(-7));
	}
 
}
//例题11.10

11.2.3Random类 

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类

在Biglnteger类中封装了多种操作,除了基本的加、减、乘、除操作,还提供了绝对值、相反数、最大公约数以及判断是否为质数等操作。
使用BigInteger类,可以实例化一个BigInteger对象,并自动调用相应的构造函数。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.5BigDecimal类 

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

11.3 System类 

11.3.1 控制台输出字符

11.3.2 计时

public class SystemTimeDemo {
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 long start = System.currentTimeMillis();
 String str =null;
 for(int i=0;i<10000;i++) {
  str+=i;
  }
 long end = System.currentTimeMillis();
 System.out.println("循环用时:"+(end-start)+"毫秒");
 }
 
}
//例题11.14

 

11.4 Scanner类 

import java.util.Random;
import java.util.Scanner;
 
public class ScannerDemo {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Random r = new Random();
		int num =r.nextInt(100);
		int input=-1;
		Scanner sc =new Scanner(System.in);
		while(true) {
		System.out.println("猜一猜随机数字多少?");
		input=sc.nextInt();
		if(input>num) {
			System.out.println("你输入的数字大了!");
		}else if(input<num) {
			System.out.println("你输入的数字小了!");
		}else if(input==num) {
			break;
		}else {
			System.out.println("你输入的数字有误!");
		}
		}
		System.out.println("恭喜你答对了!");
		sc.close();
	}
 
}
//例题11.15

 

 11.5日期时间类

import java.util.Date;
		public class DateDemo {
			public static void main(String[] args) {
				Date date = new Date(); // 创建现在的日期
				long value = date.getTime(); // 获得毫秒数
				System.out.println("日期:" + date);
				System.out.println("到现在所经历的毫秒数为: " + value);
			}
		}
 
//例题11.16

 

11.5.2日期时间格式化

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class DateFormatDemo {
	public static void main(String[] args) {
		DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 EEEE HH时mm分ss秒");
		System.out.print("各位观众大家好,现在是");
		System.out.print(df.format(new Date()));
		System.out.println(",欢迎收看新闻。");
	}
 
}
//例题11.17

 11.5.3Calendar类

 

		import java.text.SimpleDateFormat;
		import java.util.Calendar;
		import java.util.Date;
 
		public class CountDown {
			public static void main(String[] args) {
				System.out.println("——————————共和国建立100周年倒计时——————————");
				Date date = new Date(); // 当前时间
				// 创建SimpleDateFormat对象,指定目标格式
				SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
				// 调用format方法,格式化时间,转换为指定方法
				String today = simpleDateFormat.format(date);
				System.out.println("今天是" + today); // 输出当前日期
				// 获取自1970年1月1日至当前时间所经过的毫秒数
				long time1 = date.getTime();
				// 使用默认时区和语言环境获得一个日历calendar
				Calendar calendar = Calendar.getInstance();
				// 设置日历calendar中的 年、月 和日的值。因为月份是从0开始计算的,所以这里要减一
				calendar.set(2049, 10 - 1, 1);
				// 计算自1970年1月1日至2049年10月1日所经过的毫秒数
				long time2 = calendar.getTimeInMillis();
				// 计算2049年10月1日距离当前时间相差的天数
				long day = (time2 - time1) / (1000 * 60 * 60 * 24);
				System.out.println("距离2049年10月1日还有 " + day + " 天!");
			}
		}
 
 
//例题11.18

 

11.6Runtime类

 11.6.1执行本地命令

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class RuntimeExecDemo{
 
	public static void main(String[] args) {
		Runtime r = Runtime.getRuntime();
		try {
			Process p = r.exec("hellp");
			InputStream is = p.getInputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(is));
			String str = null;
			while((str = br.readLine())!=null) {
				System.out.println(str);
			}
		}catch(IOException e) {
			e.printStackTrace();
		}
		
 
	}
}

package a;
 
public class MemoryDemo {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Runtime r = Runtime.getRuntime();
		Integer ints[] =new Integer[10000];
		long before = r.freeMemory();
		System.out.println("赋值前空闲内存字结束:"+before);
		for (int i = 0,length = ints.length;i< length;i++) {
			ints[i]=i;
		}
		long after = r.freeMemory();
		System.out.println("赋值后空闲内存字节数:"+after);
		System.out.println("数组用掉的内存字节数:"+(before-after));
	}
 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值