検索
ホームページJava&#&チュートリアルJava での共通クラスのアプリケーション

Java での共通クラスのアプリケーション

Jul 17, 2017 pm 01:18 PM
javaベース説明する

この記事では、Java のいくつかの一般的なクラスのアプリケーションを紹介します。この記事を気に入ってくださったお友達は、以下にメッセージを残していただければ、順次返信させていただきます。

1. システム クラス

API から、パブリック最終クラス System が Object を拡張していることがわかります。システム クラスには、いくつかの便利なフィールドとメソッドが含まれています。これらのフィールドとクラスはすべて静的に変更されており、インスタンス化できないことを示しています。

System クラスによって提供される機能には、標準入力、標準出力、およびエラー出力ストリーム、外部定義されたプロパティおよび環境変数へのアクセス、および配列の一部を迅速にコピーするためのメソッドがあります。

フィールドの概要
static PrintStream err "Standard" 入力エラー Stream
静的InputStream in 「標準」入力ストリーム
静的 「標準」出力ストリーム

这里仅介绍几个常用的:

--static long currentTimeMillis() 
// 返回以毫秒为单位的当前时间。 1970 年 1 月 1 --arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
--exit(int status)//终止当前正在运行的 Java 虚拟机,非 0 的状态码表示异常终止。--gc(); //唤起垃圾回收器--static Map<string> getenv()</string>

代码实例:

public class Test6 {public static void main(String[] args) {long startTime = System.currentTimeMillis();// 取得计算开始时的时间@SuppressWarnings("unused")int sum = 0;// 声明变量并初始化for (int i = 0; i 

除此之外还有很多有用的方法,应用代码如下:

import java.util.Properties;import java.util.Set;public class Test1 {public static void main(String[] args) {
        Properties p = System.getProperties();//列出系统全部属性Set<object> set = p.keySet();for (Object key : set) { //利用增强for遍历System.out.println(key + ":" + p.get(key));
        }
        System.out.println("=====分割线1=====");

        String p2 = System.getProperty("os.name");//查找        System.out.println(p2);

        System.out.println("=====分割线2=====");
        System.setProperty("Mykey", "zhouzhou的系统");//自定义系统名称属性System.out.println("Mykey");
    }
}</object>
打印结果:
java.runtime.name:Java(TM) SE Runtime Environment
sun.boot.library.path:C:\Program Files\Java\jdk1.7.0_75\jre\bin
java.vm.version:24.75-b04
java.vm.vendor:Oracle Corporation
java.vendor.url:http://java.oracle.com/path.separator:;
java.vm.name:Java HotSpot(TM) Client VM
file.encoding.pkg:sun.io
user.country:CN
user.script:
sun.java.launcher:SUN_STANDARD
sun.os.patch.level:
java.vm.specification.name:Java Virtual Machine Specification
user.dir:E:\ClassC
java.runtime.version:1.7.0_75-b13
java.awt.graphicsenv:sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs:C:\Program Files\Java\jdk1.7.0_75\jre\lib\endorsed
os.arch:x86
java.io.tmpdir:C:\Users\win7\AppData\Local\Temp\
line.separator:

java.vm.specification.vendor:Oracle Corporation
user.variant:
os.name:Windows 7sun.jnu.encoding:GBK
java.library.path:C:\Program Files\Java\jdk1.7.0_75\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jdk1.7.0_75/bin/../jre/bin/client;C:/Program Files/Java/jdk1.7.0_75/bin/../jre/bin;C:/Program Files/Java/jdk1.7.0_75/bin/../jre/lib/i386;C:\Program Files\Java\jdk1.7.0_75\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Program Files\IDM Computer Solutions\UltraEdit\;E:\eclipse;;.
java.specification.name:Java Platform API Specification
java.class.version:51.0sun.management.compiler:HotSpot Client Compiler
os.version:6.1user.home:C:\Users\win7
user.timezone:
java.awt.printerjob:sun.awt.windows.WPrinterJob
file.encoding:GBK
java.specification.version:1.7java.class.path:E:\ClassC\bin
user.name:win7
java.vm.specification.version:1.7sun.java.command:Test1
java.home:C:\Program Files\Java\jdk1.7.0_75\jre
sun.arch.data.model:32user.language:zh
java.specification.vendor:Oracle Corporation
awt.toolkit:sun.awt.windows.WToolkit
java.vm.info:mixed mode, sharing
java.version:1.7.0_75
java.ext.dirs:C:\Program Files\Java\jdk1.7.0_75\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path:C:\Program Files\Java\jdk1.7.0_75\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_75\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_75\jre\classes
java.vendor:Oracle Corporation
file.separator:\
java.vendor.url.bug:http://bugreport.sun.com/bugreport/sun.io.unicode.encoding:UnicodeLittle
sun.cpu.endian:little
sun.desktop:windows
sun.cpu.isalist:pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86=====分割线1=====Windows 7
=====分割线2=====Mykey

可以看出,System类本身提供的静态属性都是与IO操作有关。比如,gc();

代码实例:

public class Test7 {private String name;private int age;public Test7(String name, int age) {this.age = age;this.name = name;
    }public String toString() {return "姓名:" + this.name + "  年龄:" + this.age;
    }public void finalize() throws Throwable { // 释放空间System.out.println("对象被释放==" + this);
    }
}

测试类及结果:

二、Runtime类

每个Java应用程序都有一个Runtime类的实例,使应用程序能够与其运行环境相连接。不能new,可以通过getRuntime方法获取当前运行时。应用程序不能自己创建自己的Runtime类实例。

可以说,Runtime 封装了Java虚拟机进程。

代码演示:

import java.io.IOException;public class Test8 {public static void main(String[] args) throws IOException,
            InterruptedException {// Runtime r=new Runtime();计划这样得到本类实例是错误的Runtime r = Runtime.getRuntime();// 要这样得到本类实例/* * Process的栗子Process p = r.exec("notepad.exe c:/Add.java");//
         * Process代表一个被虚拟机启动的进程p.destroy();         */r.exec("calc");// 打开计算器,没有p.destroy();r.exec("mspaint");// 打开画板,没有p.destroy();Thread.sleep(5000);// 程序暂停执行5秒    }
}

三、Date类和SimpleDateFormat

Data类,位于java.util 包下(不同于Java.sql.Date,有时当你按快捷键输入导包时会遇到这个选项)

Data类中有好多方法被废弃了。SimpleDateFormat是java.text包下的。

代码应用例子:

import java.text.SimpleDateFormat;import java.util.Date;public class Test2 {public static void main(String[] args) {
        
        Date d = new Date();// 得到当前日期所对应的Date对象SimpleDateFormat o = new SimpleDateFormat("yyyy-MM-dd E hh:mm:ss");// 上面括号里的“-”,你可以换成你想要的,比如"yyyy/MM/dd E hh:mm:ss"。这些日期输出也可以删除//还有很多好玩的方法,去看JDK哈~~String str = o.format(d);
        System.out.println(str);// 2017-07-02 星期日 07:04:06    }
}

附加:

//例子Date d=new Date();  //以当前时间构造 Date 对象System.out.println(d);  
//例子, Date中有一些方法废弃了,不要用new Date(1999,2,28);   //废弃new Date("1990");  //废弃//使用  SimpleDateFormat 进行日期格式化public static void main(String[] args) throws IOException, InterruptedException {
Date d=new Date();  //以当前时间构造 Date 对象System.out.println(d); 
//SimpleDateFormat df=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); 
 //构造了一个SimpleDateFormat对象//SimpleDateFormat df=new SimpleDateFormat("hh:mm:ss"); //SimpleDateFormat df=new SimpleDateFormat("yyyy"); //SimpleDateFormat df=new SimpleDateFormat("yyyy/MM/dd E hh:mm:ss");SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
String  str= df.format(d);  //用format方法格式化一个日期,得到一个String类型System.out.println(str);
}

重点介绍,如何把字符串转换成日期

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Test9 {public static void main(String[]args) throws ParseException{
        test2();
    }static void test2() throws ParseException {
        String str = "2017-7-7";
        SimpleDateFormat o = new SimpleDateFormat("yyyy-MM-dd");
    
        Date d = o.parse(str);//接收一个String类型,转成一个Date类型System.out.println(d);//Fri Jul 07 00:00:00 CST 2017    }
}

四、Calendar类

Calendar类本身是一个抽象的基类。与其他语言环境敏感类一样,Calendar提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化。

Calendar c=Calendar.getInstance(); //这这样得到它的实例对象-- void set(int field, int value) 
-- set(int year, int month, int date) 
-- void set(int year, int month, int date, int hourOfDay, int minute)

代码例子:

import java.util.Calendar;public class Test3 {public static void main(String[] args) {

        calendarDemo();// 经常忘记调用    }static void calendarDemo() {
        Calendar o = Calendar.getInstance();// 计算距当前日期250天之后的日期// o.add(Calendar.DAY_OF_YEAR, 250);/* * 也可以自己設置時間, 下面这个打印结果是2015换行0换行2o.set(2015, 0, 12);// 注意0月指的是1月         */// o.set(Calendar.DAY_OF_YEAR,2);//打印:2017换行0换行2o.set(2015, 1, 10000);// 打印:2042換行5換行169 (可以帮你向前推)。// 比如,當你不知道2月的天数的时候,只知道日子的累加,你就不用再去计算了。System.out.println(o.get(Calendar.YEAR));
        System.out.println(o.get(Calendar.MONTH));
        System.out.println(o.get(Calendar.DAY_OF_YEAR));

    }
}

打印结果:

五、Math类

Math类是我至今接触到的类当中,觉得最好玩的一个类。虽然有些数学计算上的应用暂时用不上,但是听说如果开发游戏会用上他们。突然觉得蛮有趣。

Math类包含用于执行基本数学运算的方法,比如指数、对数、平方根、三角函数等。

--PI //常量--E  //常量--random() //生成一个double型的随机数 大于等于 0.0 且小于 1.0--abs(基本数据类型)  //求绝对值

代码示例:

public class Test4 {public static void main(String[] args) {// 此方法输出0-1之间的随机小数,伪随机数,用的时候可以忽略不计。不包含0和1.// double o=Math.random();// System.out.println(o);// Double o=Math.random()*10;//第一次计划把double型默认输出格式X.0.想把.0去掉,没成功System.out.println((float)(Math.floor(Math.random() * 10)));        //第二次计划把double型默认输出格式X.0.想把.0去掉,成功System.out.println((int)(Math.floor(Math.random() * 10)));

        System.out.println(Math.ceil(88.99));// 89.0 返回大于指定数的最小整数System.out.println(Math.ceil(88.39));// 89.0 接上,没有四舍五入System.out.println((int)(Math.ceil(88.39)));// 去掉.0        
        
        System.out.println(Math.floor(9.65));// 9.0 返回小于指定数的最大整数System.out.println(Math.floor(9.25));// 9.0 接上,没有四舍五入System.out.println((int)(Math.floor(9.25)));// 去掉.0        
        System.out.println(Math.round(9988.01));// 9988 四舍五入}
}

呃,上面是我看着API兴奋的折腾一会儿,后来发现有一些方法,可以直接实现我上面的操作,用nextInt();,下面介绍Random类时会应用到。

六、Random类

public class Random extands Object implements Serializable。Random类的实例用于生成随机数流。后面的API介绍,有些难理解:

代码应用例子:

例一:

import java.util.Random;//用Java.util.Random类返回20个指定范围(1-10)内的随机整数//用这个类要构造Random对象//Random r=new Random(System.currentTimeMillis());设置此随机数生成器的样子public class Test5 {public static void main(String[] args) {
        Random o = new Random();for (int i = 0; i 

例二:

import java.util.HashSet;import java.util.Random;import java.util.Set;//从100到题中随机抽取90道public class Test10 {public static void main(String[] args) {
        Set<integer> list = demo();
        System.out.println(list.size() + "=====");for (Integer i : list) {
            System.out.println(i);
        }
    }static Set<integer> demo() {
        Set<integer> set = new HashSet<integer>();while (set.size() </integer></integer></integer></integer>

例三:

import java.util.ArrayList;//import java.util.Collection;import java.util.Collections;import java.util.List;//随机生成1-100之间的100个数,排序无序public class Test11 {public static void main(String[] args) {
        List<integer> list = new ArrayList<integer>();for (int i = 0; i </integer></integer>

结果:

以上がJava での共通クラスのアプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境