Java相关知识点(三)---java基础类库

xiaoxiao2021-02-28  37

一, 与用户互动以及Scanner类 1,public static void main(String[] args): main()方法属于java类;由JVM调用,args为字符串数组形参:

public class ArgsTest{ public static void main(String[] args){ //输出args数组的长度 System.out.println(args.length);yi //遍历args数组的每个元素 for(String arg:args){ System.out.println(arg); } } }

这里,编译运行后输入命令 java ArgsTest / java ArgsTest Java Spring/ java ArgsTest “java Spring ” 三个命令会有不同的结果。 2,Scanner类: 提供了两个方法来扫描输入:hasNextXxx(),和nextXxx(): 例如:hasNext()和next(); hasNextLine()和nextLine()逐行读取;可以获取任意基本类型的输入项:hasNextLong()和nextLong()等; Scanner可以读取文件;

//建立Scanner类,System.in为标准输入,即键盘输入 Scanner sc = new Scanner(System.in); //设置分割符 sc.useDelimiter("\n"); //判断是否有下一个输出项并输出结果 while(sc.hasNext()){ System.out.println(sc.next()); } //scanner读取文件内容 Scanner sc = new Scanner(new File("xxx.java"));

二 System类以及Runtime类:这两种类实现与程序的运行平台进行交互 1,System类中identityHashCode(object x)方法,返回指定对象精确的hashcode值,与地址有关,故可以唯一的标识对象;不同对象地址不同,hashcode不同;currentTimeMills(),返回毫秒,nanoTime(),返回纳秒值,与1970年1月1日相差。 2,runtime类:Runtime rt = Runtime.getRuntime();,可以获得处理器数量,内存数量等相关知识,并可以启动记事本进程;

public class RuntimeTest{ public static void main(String[] args){ //获取Java程序关联的运行时对象 Runtime rt = Runtime.getRuntime(); System.out.println("处理器数量 " + rt.availableProcessors()); System.out.println("空闲内存数 " + rt.freeMemory()); System.out.println("总内存数 " + rt.totalMemory()); System.out.println("可用最大内存数 " + rt.maxMemory()); //运行记事本程序 rt.exec("notepad.exe"); } }

三,常用类–object类,objects类,String类,StringBuffer类,StringBuilder类,ThreadLocalRandon类与Random类,BigDecimal类 1,object类以及7以后新增的objects类: object类的方法有: equals(),finalize()(垃圾回收机制),getClass():返回该对象的运行实类;hashcode();toString()类;以及protected修饰的clone()类。objects 类为工具类,常用来对方法形参进行输入校验;

public Foo(Bar bar){ this.bar = Objects.requireNonNull(bar); } 2,String, StringBuffer, StringBuilder三者的区别: String类为不可变类;对象被创建后不可修改其字符串; StringBuffer类为可变类,即其字符序列可变。如其append方法,insert方法,reverse方法,setCharAt方法,以及setLength方法等等。 后两者可变类有两个属性,length和capacity。后者通常大于前者。 3,Math类;ThreadLocalRandom类与Random类。 4,BigDecimal类,提供了大量的构造器用于创建BigDecimal对象,提高精确度?解决精确度丢失的问题??

四,日期,时间类(Date,以及Calender类)

五,正则表达式:用于处理字符串的工具 1,数量标识符的几种模式: 贪婪模式,勉强模式,以及占有模式。 2,正则表达式的使用方法: Pattern和matcher。Pattern对象时正则表达式编译后再内存中的表现形式。所以,必须先把正则表达式编译为Pattern对象,然后利用Pattern对象创建matcher对象。多个matcher对象可共享一个Pattern对象。

//将一个字符串编译为Pattern对象 Pattern p = Pattern.compile("a*b"); //使用Pattern对象创建matcher对象 Matcher m = p.matcher("aaaaaaab"); boolean b = m.matches(); //或者直接使用Pattern类中的静态matches方法 boolean b = Pattern.mateches("a*b""aaaab");
转载请注明原文地址: https://www.6miu.com/read-2624563.html

最新回复(0)