Java基础类库——2017.08.04

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());
		 //[email protected]
		 //类名[email protected]+哈希码
		 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)));
	}

}

  

时间: 2024-08-06 15:59:05

Java基础类库——2017.08.04的相关文章

Java基础类库简介

Java基础类库简介 一.常用的基础类库:11个jar(Java Archive,Java归档)包 作为java语言使用者,我们可以感受到java语言带来的优势(平台无关.面向对象.多线程.高效易扩展等),而且它有很多已经实现的类库可以供我们直接使用,这些类库都是以jar包的形式提供的,也可以成为java API,它为编程者实现了各种常用操作的方法,为程序员编写java程序代码带来了许多方便. 作为初学者,我觉得熟练掌握和应用java基础类库是很有必要的.因此,总结了一些自己在初学java时的一

java核心学习(九) java基础类库之Scanner

从第九节开始,对java的基础类库进行初步学习,这些基础类其中的一些内容是java程序员的基本功 言归正传,开始学习.对于java类库的具体使用方法,可以在IDE里面查看源码和注释,也可以在官方网站查看文档,本学习只是简单过一边重点,并不会面面俱到. Scanner顾名思义就是一个扫描器,可以从文件.输入流.字符串解析数据. 在new Scanner时可以使用不同的构造器参数来创建不同数据源的Scanner,如Scanner sc = new Scanner(System.in)就是对标准输入流

Java基础类库

与用户互动 运行Java程序的参数 //Java程序的入口:main()方法 public static void main(String[] args) public修饰符:Java类有JVM调用,为了让JVM可以自由调用main()方法,所有使用public修饰把这个方法暴露出来. static修饰符:JVM调用这个主方法时,不是通过创建该类的实例来调用这个方法,而是通过类直接调用这个方法,所以用static修饰. void返回值:主方法被JVM调用,该方法返回值将返回给JVM,这没有任何意

Java流程控制——2017.08.01

package Collection; import org.omg.CORBA.SystemException; public class ifexpression { public static void main(String[] args) { //if表达式针对布尔表达式或者boolean值 //第一种方式 int a=5; int b=7; int c=84; if(a<b){ System.out.println("a小于b"); } //第二种方式 if(a>

java 基础类库之 SQLFun

package com.exjor.webdemo; import java.sql.Timestamp; import java.util.Date; public class SQLFun { /** * 将java.util.Date类型的对象转换为 java.sql.Timestamp类型 * @param pDate 为null,则返回null * @return */ public static Timestamp Date2Timestamp(Date pDate) { Times

java 基础类库之 FormatFun

package com.exjor.webdemo; import java.text.SimpleDateFormat; import java.util.Date; public class FormatFun { /** * FORMAT_STRING = yyyy-MM-dd hh:mm:ss.SSS */ public static final String STRING_FORMAT_DATETIME = "yyyy-MM-dd hh:mm:ss.SSS"; /** * F

JAVA基础--数组的应用04

一.数组的简单应用 1. 数组平均值 例子:求下列数字的平均值:1.0,2.4,3.5,4.3,5.1,6.8,7.2,8,9,10 1 package cn.haile.array; 2 3 /** 4 * 练习数组的应用 5 * 6 * @author 小白 7 */ 8 public class ArrayPractise { 9 10 /** 11 * @param args 12 */ 13 public static void main(String[] args) { 14 dou

2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报

1.项目准备:网站地址:http://quanzhou.tianqi.com/ 2.创建编辑Scrapy爬虫: scrapy startproject weather scrapy genspider HQUSpider quanzhou.tianqi.com 项目文件结构如图: 3.修改Items.py: 4.修改Spider文件HQUSpider.py: (1)先使用命令:scrapy shell http://quanzhou.tianqi.com/   测试和获取选择器: (2)试验选择

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

1.最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了: 1 package himi.hebao05; 2 3 public class TestDemo02 { 4 public static void main(String[] args) { 5 int i = 0; 6 String text = "hebao I love you!"; 7 String result = " "; 8 char[] charArr