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

Java基础类库

时间:2016-07-13 22:21:33      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

与用户互动

运行Java程序的参数

//Java程序的入口:main()方法
public static void main(String[] args)

 

public修饰符:Java类有JVM调用,为了让JVM可以自由调用main()方法,所有使用public修饰把这个方法暴露出来。

static修饰符:JVM调用这个主方法时,不是通过创建该类的实例来调用这个方法,而是通过类直接调用这个方法,所以用static修饰。

void返回值:主方法被JVM调用,该方法返回值将返回给JVM,这没有任何意义,所以main()方法没有任何意义。

方法调用的原则:谁调用方法,谁负责给形参赋值。因此。main()方法形参args应该由JVM负责赋值。

public class ArgsTest{
    public static void main(String[] args){
        //返回0
        System.out.println(args.length);
        for(String arg : args){
            System.out.println(arg);
            }
        }
    }

上面程序运行一下命令

Java ArgsTest Java Spring

运行Java程序时在类名后面跟一个或多个字符(多个字符以空格分开),JVM会把这些字符一次赋给args数组。如果某参数本身包含空格,参数用双引号(" ")扩起来。

Java ArgsTest "Java Spring"

使用Scanner获取键盘输入

Scanner类在java.util包下

Scanner是一个基于正则表达式的文本扫描器,可以从文件、输入流、字符串中解析出基本类型值和字符串值。

Scanner提供了多个构造器,不同的构造器可以接收文件、输入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。

Scanner主要提供了两个方法扫描输入:

hasNextXxx():是否还有下一输入项,其中Xxx可以使Int、Long等代表基本数据类型的字符串。如果只是判断是否包含下一个字符串,直接使用hasNext()

nextXxx():获取下一个输入项,Xxx与上一相同

默认的情况,Scanner使用空白(包括空格、Tab、回车)作为多个输入项直接的分隔符

import java.util.*;
public class ScannerTest{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        while(s.hasNext()){
            System.out.println(s.next());
            }
        }
    }

 

import java.util.*;
public class ScannerTest{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        //只会扫描Int数据类型的数据,不符合这个条件会跳出运行
        while(s.hasNextInt()){
            System.out.println(s.nextInt());
            }
        }
    }

可以把Scanner的付各负设置为其他

Scanner的读取操作可能被阻塞(当前执行顺序流暂停)来等待信息输入。如果输入流没有结束,Scanner又读不到更多输入项时(尤其是在键盘输入的比较常见),Scanner的hasNext()和next()方法都有可能阻塞,hasNext()方法阻塞与和其相关的next()方法是否阻塞无关。

为Scanner设置分隔符使用useDelimiter(String pattren)方法即可,该方法的参数应该是一个正则表达式

import java.util.*;
public class ScannerTest{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        //设置分隔符
        //下面这行程序将回车作为分隔符
        s.useDelimiter("\n");
        
        while(s.hasNextInt()){
            System.out.println(s.nextInt());
            }
        }
    }

Scanner提供了两个简单的方法来逐行读取

boolean hasNextLint():返回输入源是否有下一行

String nextLine():返回输入源下一行字符串

import java.util.*;
import java.io.*;
public class ScannerTest2{
    public static void main(String[] args) throws Exception{
        //读取文件
        //将File对象作为Scanner的构造器参数,Scanner读取文件内容
        Scanner s = new Scanner(new File("ScannerTest.java"));
        while(s.hasNextLine()){
            System.out.println(s.nextLine());
            }
        }
    }

系统相关

System类

System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些类变量和类方法,允许通过System类来调用这些类变量和方法。

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

System类还提供了一个identityHashCode(Object x)方法。该方法返回指定对象精确hashCode值,也就是根据该对象的地址计算得到hashCode值。当某个类hashCode()方法重写以后,该实例的hashCode()方法就不能唯一标识该对象,但通过identityHashCode()方法可以返回hashCode值。

 

Runtime类

Runtime类代表Java程序的运行时环境,每个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与其运行时环境相连。应用程序不能自己创建Runtime实例,但可以通过gerRuntime()方法获取与之关联的Rumtime对象Runtime也提供了gc()和runFinalizatiom()方法来通知系统进行垃圾回收、清理系统资源,并提供了load(String filename)和loadLibrary(Stringlibname)方法来加载文件和动态链接库。

 

常用类

 

Java基础类库

标签:

原文地址:http://www.cnblogs.com/changzuidaerguai/p/5667617.html

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