2021-12-02_学习B站Java视频System对象_反转一个三位整数_Runtim对象_Date对象
备注:今天继续学习B站Java视频。视频的day25:正则表达式,之前已学完。day23-24:网络编程,我等学完IO流后再学这个。day22:GUI,这个不需要学了。day18-19-20-21:其他对象及IO流。今天从day18继续学习,同时,学习一点点算法。
1. day18,P214,System对象
/** * System:类中的方法和属性都是静态的。 * out:标准输出,默认是控制台。 * in:标准输入,默认是键盘。 * 描述系统一些信息。 * 获取系统属性信息:Properties getProperties(); */ import java.util.*; class SystemDemo { public static void main(String[] args) { Properties prop = System.getProperties(); // 因为Properties是Hashtable,也就是Map集合的一个子类对象 // 那么可以通过map的方法取出该集合中的元素。 // 该集合中存储的都是字符串,没有泛型定义。 // 如何在系统中自定义一些特有信息呢? // 获取指定属性信息 String value = System.getProperty("os.name"); System.out.println("value=" + value); // 可不可以在虚拟机启动时,动态的加载一些属性信息呢? String v = System.getProperty("haha"); System.out.println("v=" + v); System.setProperty("myKey", "myValue"); // 获取所有属性信息 for (Object obj :prop.keySet()) { String value = (String)prop.get(obj); System.out.println(obj + "::" + value); } } }
2.反转一个三位整数
%,取余,左操作数除以右操作数的余数。
Java中,int / int,两个int相除,结果取整(即忽略小数部分)。
public class Solution { /** * @param number: A 3-digit number. * @return: Reversed number. */ public int reverseInteger(int number) { // 原来的个位 int oldNumOne = (number % 10) % 10; // 原来的十位 int oldNumTwo = (number / 10) % 10; // 原来的百位 int oldNumThree = number / 100; return oldNumOne * 100 + oldNumTwo *10 + oldNumThree; } }
3. day18,P215,Runtime对象。
/** * Runtime对象 * 该类并没有提供构造函数。 * 说明不可以new对象。那么会直接想到该类中的方法都是静态的。 * 发现该类中还有非静态方法。 * 说明该类肯定会提供了方法获取本类对象。 * 而且该方法是静态的,并且返回值类型是本类类型。 * * 由这个特点可以看出该类使用了单例设计模式完成。 * * 该方法是static Runtime getRuntime(); */ class RuntimeDemo { public static void main(String[] args) throws Exception { Runtime r = Runtime.getRuntime(); Process p = r.exec("D:\\Program Files\\Notepad++\\notepad++.exe SystemDemo.java"); // Thread.sleep(4000); // p.destroy(); } }
4. day18,P216,Date对象。
import java.util.*; import java.text.*; class DateDemo { public static void main(String[] args) { Date d = new Date(); System.out.println(d); // Thu Dec 02 21:52:04 CST 2021 // 打印的时间看不懂,希望有些格式。 // 将模式封装到SimpleDateFormat对象中。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss"); // 调用format方法让模式格式化指定Date对象。 String time = sdf.format(d); System.out.println("time=" + time); // time=2021年12月02日星期四 22:04:46 } }
下一步进行day18,P217,Calendar对象。