码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础类库——2017.08.04

时间:2017-08-04 21:33:42      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:highlight   thread   math   insert   mat   构造器   相关   ble   proc   

1 运行Java程序的参数

package Collection;



public class ArgsTest {

	//public static void main
	// public :main程序需要被JVM调用,需要被JVM自由调用这个main()方法,所以使用public 修饰符把这个方法暴露出来
	//static: 调用主方法的时候 ,JVM不可能先创建该主类的对象,然后通过该对象来调用该主方法,JVM直接通过该类来调用主方法
	//void:返回值,因为主方法被JVM调用,该方法返回值给JVM,此处没有任何意义
	public static void main(String[] args) {
	
		System.out.println(args.length);
		for(String s: args)
		{
			System.out.println(s);
// 0
		}

	}

	
}

 2 Scanner键盘输入

package Collection;

import java.util.Scanner;

public class ScannerKeyBoard {

	public static void main(String[] args) {
     //键盘输入Scanner,里面带一个系统输入,通过构造器Scanner(InputStream source)
		Scanner scanner=new Scanner(System.in);
     //nextXxx():获取下一个输入项
//      int i=scanner.nextInt();
//      System.out.println(i);
      //获取下一个输入项hasNextXxx(),如果是String,直接是hasNext(0
      while(scanner.hasNextInt())
      {
    	  System.out.println("下一个数数:"+scanner.nextInt());
      }

	}

}

  3 System类

System类是什么?当前Java程序的运行平台。

有什么用?提供了标准输入、标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量、系统属性的方法,还提供了加载文件和动态链接库的方法。

package Collection;

import java.util.Map;

public class SystemTest {

	public static void main(String[] args) {
		//获取系统所有的环境变量
		Map<String, String> env=System.getenv();
		//System.getenv() 返回一个不能修改的当前系统环境的字符串映射视图。
		for(String name:env.keySet())
		{
			System.out.println(name+"--->"+env.get(name));
		}
		System.out.println("///////");
		//获取指定环境变量的值
		System.out.println(System.getenv("M2_HONE"));
		System.out.println(System.getenv("os.name"));
		//currentTimeMillis()当前时间  (返回以毫秒为单位的当前时间)
		System.out.println(System.currentTimeMillis());
		
		//nanoTime()
		System.out.println(System.nanoTime());
				
	}

}

 

4 Runtime类

   是什么? Runtime类代表Java程序的运行时环境,应用程序通过该对象与运行时环境相连。

  干什么用?访问JVM的相关信息,如处理器数量、内存信息。

package Collection;

public class ExecTest {

	public static void main(String[] args) {
	  //获取Java程序关联的运行时对象
	//getRuntime():返回与当前 Java应用程序相关的运行时对象。
		Runtime rt=Runtime.getRuntime();
		
		//输出处理器数量
		System.out.println("处理器数量:"+rt.availableProcessors());
		//空闲内存数
		System.out.println("空闲内存:"+rt.freeMemory()/1024);
		//可用最大内存
		System.out.println("可用最大内存" +rt.maxMemory());
	    //总内存
		System.out.println("总内存 "+rt.totalMemory());
		
		
	}

	
}

 

5 Object类是所有类、数组、枚举类的父类,Java允许把任何类型的变量赋给Object类型的变量。

Objects类:操作Object类的工具类

有诸如clone(),equals(),finalize(),getClass(),hashcode(),notify(),notifyAll(),toString(),wait()

package Collection;



public class ObjectTest {

	 
	 public static void main(String[] args)
	 {
		 Object ob1=new Object();
		 String s1=new String("tianjianke");
		 System.out.println(s1.toString());
		 System.out.println(ob1.toString());
		 //java.lang.Object@15db9742
		 //类名+@+哈希码
		 System.out.println(ob1.hashCode());
		 System.out.println(s1.hashCode());
		 
	 }

}

 

6 String、StringBuffer、StringBuilder类的异同

字符串就是一连串字符串序列,Java提供了String和StringBuffer两个类来封装字符串.

String是不可变类:在jdk源码里面用了final修饰,一旦一个String对象被创建之后,包含这个对象的字符序列是不可改变的。

StringBuffer对象是字符序列可变的字符串,可以通过一些方法包括:append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。

StringBuilder对象是字符序列可变的字符串,与StringBuffer的区别是没有考虑线程,所以性能要好一些。

package Collection;

public class StringBuilderTest {
	

	public static void main(String[] args)
	{
		String s1=new String("tianjianke");
		StringBuffer s2=new StringBuffer("tianjianke1");
		StringBuilder s3=new StringBuilder("tianjianke2");
		
		StringBuffer s4=s2.append(‘a‘);
		System.out.println(s4.toString());
		System.out.println(s4.reverse().toString());
		
		StringBuilder s5=s3.append("dafas");
		System.out.println(s5);
		System.out.println(s5.toString());
		
	}

}

 

7 Math类

     是什么?Java提供了基本的+,-,*,?、%等基本运算,但是对于更复杂一些的运算,则需要运用Java的Math类。

package Collection;

public class MathTest {

	public static void main(String[] args) {
		
		//floor地板那就是小的
		System.out.println(Math.floor(5.32));
		//ceil天花板那就是大的
		System.out.println(Math.ceil(5.32));
		
		//max(int a, int b)和min(int a,int b)
		System.out.println(Math.max(55, 89));


	}

}

 

8Random()类与ThreadLocalRandom()

是什么?Random()专门用来生成一个伪随机数,ThreadLocalRandom()是Random()的增强版,在并发访问环境下,使用TheadLocalRandom()来代替Random()可以减少线程资源竞争。

package Collection;

import java.util.Random;

public class RandomTest {
	public static void main(String[] args)
	{
		Random random=new Random();
		System.out.println(random.nextInt());
		System.out.println(random.nextFloat());
		System.out.println(random.nextBoolean());
	}

}

 

9 BigDecimal类

是什么?有什么用?BigDecimal一种数据类,在计算一些数据的时候float、double会产生精度丢失;为了能够精确表示、计算浮点数,Java提供了BigDecimal类。

package Collection;

import java.math.BigDecimal;

public class DoubleTest {
	public static void main(String[] args) {
		System.out.println("0.5+0.1="+(0.5+0.01));
		System.out.println("0.05+0.01="+(0.05+0.01));
		/*
		 * 0.5+0.1=0.51
		   0.5+0.1=0.060000000000000005
		 */
		BigDecimal b3=new BigDecimal("0.5145");
		BigDecimal b1=new BigDecimal(0.05);
	    BigDecimal b2=new BigDecimal(0.04);
	    System.out.println("0.05+0.04="+(b1.add(b2)));
	    
	    System.out.println("0.5145+0.04="+(b3.add(b2)));
	}

}

  

 

Java基础类库——2017.08.04

标签:highlight   thread   math   insert   mat   构造器   相关   ble   proc   

原文地址:http://www.cnblogs.com/linjingjia/p/7287047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!