首页 > 其他分享 >系统相关类(详细总结和代码案例拆解)(对小白巨友好)

系统相关类(详细总结和代码案例拆解)(对小白巨友好)

时间:2025-01-21 21:32:34浏览次数:3  
标签:Scanner 代码 System osName 对小白 拆解 println 友好 out

前言:

小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。

今天就先更新系统相关类第一个   java.lang.Math

我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,

把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,

为什么用这串代码关键字,对比同类型的代码,

让大家真正看完以后融会贯通,举一反三,实践应用!!!!


①官方定义  和  大白话拆解对比

②举生活中常见贴合例子、图解辅助理解的形式

③对代码实例中关键部分进行详细拆解、总结



给小编一个赞或者关注吧,我们一起进步!!

官方语言解释:

  • java.lang.System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包中。
  • 由于该类的构造器是private的,所以无法创建该类的对象。其内部的成员变量和成员方法都是static的,所以也可以很方便地进行调用。

成员变量:Scanner scan = new Scanner(System.in);

  • System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)和标准错误输出流(显示器)。


成员方法:

  • native long currentTimeMillis(): 该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间所差的毫秒数。
  • void exit(int status): 该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
  • void gc(): 该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。
  • String getProperty(String key): 该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见的属性名以及属性的作用如下表所示:

大白话拆解:

  • java.lang.System类就像是一个工具箱,里面装着一些可以用来获取系统信息或者控制系统的工具。这些工具不需要你去创建对象就可以直接使用,因为它们都是静态的。
  • 成员变量:Scanner scan = new Scanner(System.in);
  • 这里的System.in就像是电脑的一个耳朵,它可以听到你在键盘上敲击的内容。
  • 成员方法:
  • currentTimeMillis():这个方法可以告诉你现在是几点钟,不过它告诉你的不是我们平时说的时间,而是从1970年1月1日0点0分0秒开始到现在过去了多少毫秒。
  • exit(int status):这个方法可以让程序停止运行,就像关掉电视一样。如果你传入的数字是0,就表示程序正常结束;如果不是0,就表示程序遇到了问题。
  • gc():这个方法告诉电脑“嘿,你可以清理一下不再需要的东西了”。不过电脑会不会马上清理,还得看它的安排。
  • getProperty(String key):这个方法可以让你知道电脑的一些基本信息,比如你是谁、你的家在哪里、电脑是什么牌子的等等。

举个栗子:

它不仅会问候用户并显示当前时间,还会根据用户的操作系统类型给出相应的提示信息,并且在执行完任务后进行一次垃圾回收操作来释放不再使用的内存资源。

import java.util.Scanner;

public class GreetingApp {
    public static void main(String[] args) {
        // 创建Scanner对象用于获取用户输入
        Scanner scan = new Scanner(System.in);
        
        // 获取用户名
        System.out.println("请输入您的名字:");
        String name = scan.nextLine();
        
        // 问候用户
        System.out.println("您好, " + name + "! 欢迎使用我们的应用。");
        
        // 显示当前时间(毫秒数)
        long currentTime = System.currentTimeMillis();
        System.out.println("现在的时间是: " + currentTime + " (自1970年1月1日以来的毫秒数)");
        
        // 获取系统属性:操作系统名称
        String osName = System.getProperty("os.name");
        System.out.println("您正在使用的操作系统是: " + osName);
        
        // 根据不同的操作系统给出不同的提示
        if(osName.contains("Windows")) {
            System.out.println("提示: 请确保您的Windows防火墙处于启用状态以保护您的电脑安全。");
        } else if(osName.contains("Mac")) {
            System.out.println("提示: 使用Time Machine定期备份您的Mac数据是个不错的选择。");
        } else if(osName.contains("Linux")) {
            System.out.println("提示: 考虑更新您的Linux内核到最新版本以获得更好的性能和安全性。");
        }
        
        // 执行垃圾回收
        System.gc();
        System.out.println("已请求系统进行垃圾回收,以帮助释放不再使用的内存资源。");
        
        // 正常退出程序
        System.exit(0);
    }
}

代码解释和总结:

1、导入Scanner类

import java.util.Scanner;
  • 这行代码的意思是“我要用一个叫做Scanner的东西”,它可以帮助我们从键盘读取用户输入的信息。就像你有一张纸和一支笔准备记录别人告诉你的事情一样。

2、创建主类和主方法

public class GreetingApp {
    public static void main(String[] args) {
  
  
  • 这部分代码定义了一个名为GreetingApp的类,它是程序的入口点。main方法就像是这个程序的大门,当你运行这个程序时,计算机就会从这里开始执行代码。

3、获取用户名

System.out.println("请输入您的名字:");
String name = scan.nextLine();
  • 这两行代码首先会打印一条消息在屏幕上,提示用户输入他们的名字。然后,它会等待用户通过键盘输入信息,并将这个信息存储在一个叫name的变量里。这就像是问一个人的名字,然后记住这个名字。

4、打印信息

System.out.println("您好, " + name + "! 欢迎使用我们的应用。");
  • 这行代码将之前获取的名字与一些固定的文字组合起来,形成一条欢迎信息并显示出来。就像你认识新朋友后说:“你好,[朋友的名字]!很高兴见到你。”

5、显示当前时间

long currentTime = System.currentTimeMillis();
System.out.println("现在的时间是: " + currentTime + " (自1970年1月1日以来的毫秒数)");
  • 这两行代码首先调用System.currentTimeMillis()函数获取当前时间(以1970年1月1日为起点计算的毫秒数),然后将这个时间值打印出来。这有点像看手表知道现在几点了,只不过这里的时间是以一种特别的方式表示的。

6、获取操作系统名称

String osName = System.getProperty("os.name");
System.out.println("您正在使用的操作系统是: " + osName);
  • 这两行代码获取用户的操作系统名称(如Windows、MacOS等)并打印出来。这就像是询问对方使用的是哪种类型的手机或电脑。

7、根据操作系统给出建议

if(osName.contains("Windows")) {
    // 提示针对Windows用户的建议
} else if(osName.contains("Mac")) {
    // 提示针对Mac用户的建议
} else if(osName.contains("Linux")) {
    // 提示针对Linux用户的建议
}
  • 这段代码根据用户的操作系统类型给出相应的建议。就像根据不同季节给人们提供不同的穿衣建议一样

8、请求回收垃圾

System.gc();
System.out.println("已请求系统进行垃圾回收,以帮助释放不再使用的内存资源。");

9、程序正常退出

System.exit(0);



我们今天就到这里吧,下次见!!!



标签:Scanner,代码,System,osName,对小白,拆解,println,友好,out
From: https://blog.csdn.net/2401_86356924/article/details/145290373

相关文章

  • Java 比较器 (详细现实案例代码拆解)
    前言:小编最近又要练科目三了天天好多事情啊,不知道大家放了假事情多不多我们继续日更!!!我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,为什么用这串代码关键字,对比同类型的代码,让大家真正看完以后融会贯通......
  • 织梦CMS系统中如何正确设置前台网站地址以确保SEO友好性
    织梦(DedeCMS)是一款广泛使用的开源内容管理系统,但在实际应用过程中,很多用户不清楚如何正确配置前台网站地址,从而影响了SEO效果。正确的URL设置不仅能提升用户体验,还有助于搜索引擎更好地抓取和索引网站内容。解决方案确定唯一入口:确保整个网站只有一个主域名作为访问入口,避免出......
  • 【字节青训营-1】:万字长文深入拆解Git核心组织结构与Git最佳实践
    本文为笔者参加字节青训营时听字节青训课所做的笔记。本文目录一、Git的相关方向二、工作中Git相关的点三、版本控制的发展历程3.1本地控制版本3.2集中式版本控制3.3分布式版本控制四、Git简单实战4.1gitinit4.2Git配置4.3GitAdd与Objects4.4refs4.5gitchec......
  • 面对他人的不友好/恶意该怎么办(言语篇)
    如何应对他人的不友好/恶意(一)  ●区分真正的不友好/恶意  ▲分类上,被误解的善意中,并无恶意下,真正的恶意  •上,被误解的善意:有时候,人们的行为可能看似不友好,但实际上可能是出于善意但被误解了。例如,领导可能给出严厉的批评,本意可能是恨铁不成钢,希望帮助你提......
  • 日期时间格式化:DateTimeFormatter (全面总结和详细拆解)
    前言:小编吃了点药药,终于流感要好啦(嘻嘻)我们继续日更吧!!!我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,为什么用这串代码关键字,对比同类型的代码,让大家真正看完以后融会贯通,举一反三,实践应用!!!!①官方定义......
  • 不会“拆解爆款”,每天刷“25个小时”也不会有网感~~~
    50条爆款视频拆解表:每一步都帮你打造流量密码!痛点:内容做了无数,却总是“流量扑街”?剪辑尽力了,可播放量依旧低迷? 情绪:不要再迷茫了!爆款视频不是靠运气,而是拆解每一个细节,步步优化! 解决方案:本表从 内容、形式、技术、传播策略、后续运营 五大维度,提供50条详细拆解,助力你打......
  • 如何在网页中嵌入外部页面并确保SEO友好
    在现代网页开发中,使用 <iframe> 标签是一种常见的嵌入外部页面的方法。为了确保嵌入的内容对搜索引擎优化(SEO)友好,以下是详细的说明和最佳实践。<iframe> 标签的基本用法<iframe> 标签用于在当前页面中嵌入另一个HTML文档。其基本语法如下:src:指定要嵌入的页面URL。width......
  • 总结并拆解所有新手常用的——String API(二)(字符串)
    前言:String类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写.......小编这次就比较全面系统的带大家总结清楚几乎所有string常用的API,并且带大家拆解清楚,能够灵活使用!!!小编最近熬夜牙疼的......
  • 硬件拆解-PWM转电压变送器
    硬件拆解-PWM转电压变送器电源24V输出电平电源25%-75%......
  • 优化永不止步:TinyVue v3.20.0 正式发布,更美观的官网UI,更友好的文档搜索,更强大的主题配
    你好,我是Kagol,个人公众号:前端开源星球。我们非常高兴地宣布,2024年12月4日,TinyVue发布了v3.20.0......