当前位置: 首页 > wzjs >正文

网站开元棋牌怎么做app宁波seo教程

网站开元棋牌怎么做app,宁波seo教程,网页设计图片边框怎么设置,产品网页Java-System工具类深度解析 前言一、System 类概述1.1 基本定义与特点1.2 重要成员变量 二、标准输入输出功能2.1 标准输入(System.in)2.2 标准输出(System.out)2.3 标准错误输出(System.err) 三、系统属性…

Java-System工具类深度解析

  • 前言
  • 一、System 类概述
    • 1.1 基本定义与特点
    • 1.2 重要成员变量
  • 二、标准输入输出功能
    • 2.1 标准输入(System.in)
    • 2.2 标准输出(System.out)
    • 2.3 标准错误输出(System.err)
  • 三、系统属性与环境变量获取
    • 3.1 获取系统属性
    • 3.2 获取环境变量
  • 四、其他重要方法
    • 4.1 `exit(int status)`
    • 4.2 `gc()`
    • 4.3 `currentTimeMillis()`
  • 总结

前言

Java中的System工具类是一个不可或缺的存在,它提供了一系列与系统相关的操作方法,涵盖标准输入输出、系统属性获取、内存管理等多个重要功能,在开发过程中频繁被使用。无论是初学者搭建简单控制台程序,还是资深开发者进行复杂系统调试与性能优化,都离不开System类的支持。本文我将深入剖析System工具类的各个功能模块,结合丰富的代码示例,带你全面掌握其使用方法与应用场景。

一、System 类概述

1.1 基本定义与特点

System类位于java.lang包下,是 Java 语言中一个特殊的、被final修饰的类,这意味着它不能被继承。System类中的所有属性和方法都是static的,因此无需创建System类的实例,直接通过类名调用即可,使用起来非常便捷。它就像是 Java 程序与操作系统之间的桥梁,通过它可以实现对系统资源的访问与控制 。

1.2 重要成员变量

System类包含三个重要的static成员变量:

  • in:类型为InputStream,代表标准输入流,通常对应键盘输入。在控制台程序中,我们常用它来接收用户输入的数据,例如通过Scanner类包装System.in来读取用户在控制台输入的字符串、数字等。

  • out:类型为PrintStream,代表标准输出流,用于将程序的输出结果显示在控制台。我们最常用的System.out.println()方法就是通过这个输出流将内容打印到控制台。

  • err:同样是PrintStream类型,代表标准错误流,用于输出程序运行过程中产生的错误信息。与System.out不同,System.err的输出通常会优先显示,并且不受缓冲区的影响,方便开发者快速定位程序中的错误 。

二、标准输入输出功能

2.1 标准输入(System.in)

通过System.in实现标准输入时,由于System.in是字节流,在实际使用中,通常会将其包装成更方便处理的字符流。常见的方式是使用Scanner类或BufferedReader类:

  • 使用 Scanner 类
import java.util.Scanner;public class SystemInExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入你的名字: ");String name = scanner.nextLine();System.out.println("你好, " + name + "!");scanner.close();}
}

在上述代码中,创建Scanner对象并传入System.in,然后使用nextLine()方法读取用户在控制台输入的一行字符串。需要注意的是,使用完毕后要调用scanner.close()关闭Scanner,释放资源。

  • 使用 BufferedReader 类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class BufferedReaderExample {public static void main(String[] args) {try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {System.out.print("请输入一个整数: ");String input = reader.readLine();int num = Integer.parseInt(input);System.out.println("你输入的整数是: " + num);} catch (IOException e) {e.printStackTrace();} catch (NumberFormatException e) {System.err.println("输入格式错误,请输入有效的整数!");}}
}

这里通过InputStreamReaderSystem.in转换为字符流,再用BufferedReader包装,使用readLine()方法读取输入,同时对可能出现的IOExceptionNumberFormatException进行了异常处理。

2.2 标准输出(System.out)

System.out提供了丰富的输出方法:

  • print():输出指定内容,不换行。例如System.out.print("Hello");会在控制台输出Hello,后续内容会接着输出。

  • println():输出指定内容并换行。System.out.println("World");输出World后,光标会移到下一行。

  • printf():按照指定格式输出内容,类似于 C 语言中的printf函数。例如:

public class SystemOutPrintfExample {public static void main(String[] args) {double pi = 3.1415926;System.out.printf("圆周率π约为: %.2f", pi);}
}

上述代码中,使用printf()方法按照%.2f的格式输出圆周率pi,保留两位小数,输出结果为圆周率π约为: 3.14

2.3 标准错误输出(System.err)

当程序出现错误时,使用System.err输出错误信息有助于快速定位问题:

public class SystemErrExample {public static void main(String[] args) {try {int result = 10 / 0;} catch (ArithmeticException e) {System.err.println("发生错误: 除数不能为0");e.printStackTrace(System.err);}}
}

在上述代码中,由于进行了除以 0 的操作会抛出ArithmeticException异常,通过System.err.println()输出自定义错误提示,e.printStackTrace(System.err)将异常堆栈信息输出到标准错误流,方便开发者查看详细的错误信息 。

三、系统属性与环境变量获取

3.1 获取系统属性

System类提供了getProperties()方法用于获取系统的所有属性,返回一个Properties对象;getProperty(String key)方法用于获取指定属性的值。常见的系统属性有:

  • os.name:操作系统名称,如Windows 10Linux等。

  • user.dir:用户当前工作目录。

  • java.version:Java 运行时环境版本。

import java.util.Properties;public class SystemPropertiesExample {public static void main(String[] args) {// 获取所有系统属性Properties properties = System.getProperties();properties.list(System.out);// 获取指定系统属性String osName = System.getProperty("os.name");System.out.println("操作系统名称: " + osName);String javaVersion = System.getProperty("java.version");System.out.println("Java版本: " + javaVersion);}
}

上述代码先使用getProperties()获取所有系统属性并打印,再通过getProperty()分别获取操作系统名称和 Java 版本并输出。

3.2 获取环境变量

可以使用System.getenv()方法获取所有环境变量,返回一个MapSystem.getenv(String name)方法获取指定名称的环境变量值。例如,获取系统的PATH环境变量:

import java.util.Map;public class SystemEnvExample {public static void main(String[] args) {// 获取所有环境变量Map<String, String> envMap = System.getenv();for (Map.Entry<String, String> entry : envMap.entrySet()) {System.out.println(entry.getKey() + " = " + entry.getValue());}// 获取指定环境变量String path = System.getenv("PATH");System.out.println("PATH环境变量: " + path);}
}

这段代码先遍历输出所有环境变量,再获取并输出PATH环境变量的值。

四、其他重要方法

4.1 exit(int status)

该方法用于终止当前运行的 Java 虚拟机。参数status表示程序的退出状态,一般status = 0表示正常退出,非 0 值表示异常退出。例如:

public class SystemExitExample {public static void main(String[] args) {boolean isError = false;// 模拟某种条件判断if (isError) {System.err.println("程序出现错误,即将退出...");System.exit(1);}System.out.println("程序正常运行结束");}
}

isErrortrue时,程序输出错误信息后调用System.exit(1)异常退出;否则正常输出信息后结束程序。

4.2 gc()

System.gc()方法用于请求 Java 虚拟机进行垃圾回收。需要注意的是,调用该方法只是发出垃圾回收请求,虚拟机不一定立即执行垃圾回收操作,具体执行由虚拟机的垃圾回收机制决定 。

public class SystemGcExample {public static void main(String[] args) {// 创建一些对象,占用内存for (int i = 0; i < 100000; i++) {new Object();}System.gc();System.out.println("已请求垃圾回收");}
}

上述代码创建了大量对象占用内存后,调用System.gc()请求垃圾回收。

4.3 currentTimeMillis()

System.currentTimeMillis()方法返回当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差,以毫秒为单位。常用于计算程序执行时间、生成时间戳等场景。

public class SystemTimeMillisExample {public static void main(String[] args) {long startTime = System.currentTimeMillis();// 模拟一段耗时操作for (int i = 0; i < 100000000; i++) {// 空循环}long endTime = System.currentTimeMillis();long elapsedTime = endTime - startTime;System.out.println("程序执行耗时: " + elapsedTime + " 毫秒");}
}

在上述代码中,通过记录操作前后的时间戳,计算出循环操作的执行时间。

总结

System工具类作为 Java 中与系统交互的重要桥梁,其丰富的功能涵盖了输入输出、系统属性获取、程序控制等多个方面。从标准输入输出的灵活使用,到系统属性与环境变量的便捷获取,再到程序退出控制、垃圾回收请求和时间戳生成等操作,System类在各类 Java 程序中都发挥着关键作用。

若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ

http://www.dtcms.com/wzjs/309596.html

相关文章:

  • 磐安做网站软文写作公司
  • 深圳网站建设哪个推广策划方案
  • 东莞网站制作电话专业网站优化推广
  • 购物网站 怎么做免费网站创建
  • 广告网站做动图怎么做太原百度seo排名软件
  • 泸州网站开发seo发帖网站
  • 网站老是快照打开中国企业500强最新排名
  • 网站开发总结自助建站平台
  • 考试网站开发的可行性分析外贸seo网站
  • 门户网站系统设计百度手机版网页
  • 单仁营销网站的建设网络营销的工作内容包括哪些
  • 新都有没有做网站的全域seo
  • 从什么网站找做app的代码网络推广理实一体化软件
  • 公司支付网站服务费怎么做分录网站建设平台
  • 论文做系统简单还是网站简单二十条优化措施
  • 网站建设公司财务预算江苏做网站的公司有哪些
  • 简单的美食网站模板软文推广发稿
  • 个人网站可以做经营性网站产品软文撰写
  • 泰安网站建设公司哪家好网络整合营销4i原则
  • 如何用手机建网站seo免费浏览网站
  • 怎么接做网站的任务爱站网怎么使用
  • 学做衣服网站郑州网站建设哪家好
  • 嘉兴手机网站建设北京seo服务销售
  • 科技经济导刊官网亚马逊seo是什么意思
  • 做彩票网站犯法不sem是什么岗位
  • 莞城做网站公司今天新闻最新消息
  • 如何开发动态网站全自动引流推广软件app
  • 可以做很多个网站然后哭推广信息流广告哪个平台好
  • 深圳网站维护seo百度推广联系方式
  • 渭南免费做网站友链申请