22个Java经典实例 带完美注释

1. 获取环境变量
Java代码 
1.    System.getenv("ATH");  
2.    System.getenv("JAVA_HOME");  

2. 获取系统属性
Java代码 
1.    System.getProperty("pencil color");  // 得到属性值  
2.    java -Dpencil color=green  
3.    System.getProperty("java.specification.version");  // 得到Java版本号  
4.    Properties p = System.getProperties();  // 得到所有属性值  
5.    p.list(System.out);  

3. StringTokenizer
Java代码 
1.    // 能够同时识别, 和 |  
2.    StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |");  
3.    while (st.hasMoreElements()) {  
4.        st.nextToken();  
5.    }  
6.      
7.    // 把分隔符视为token  
8.    StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |",  true);  

4. StringBuffer(同步)和StringBuilder(非同步)
Java代码 
1.    StringBuilder sb = new StringBuilder();  
2.    sb.append("Hello");  
3.    sb.append("World");  
4.    sb.toString();  
5.    new StringBuffer(a).reverse();   // 反转字符串  

5. 数字
Java代码 
1.    // 数字与对象之间互相转换 - Integer转int  
2.    Integer.intValue();  
3.      
4.    // 浮点数的舍入    
5.    Math.round()  
6.      
7.    // 数字格式化  
8.    NumberFormat  
9.      
10.    // 整数 -> 二进制字符串  
11.    toBinaryString() 或valueOf()  
12.      
13.    // 整数 -> 八进制字符串  
14.    toOctalString()  
15.      
16.    // 整数 -> 十六进制字符串  
17.    toHexString()  
18.      
19.    // 数字格式化为罗马数字  
20.    RomanNumberFormat()  
21.      
22.    // 随机数  
23.    Random r = new Random();  
24.    r.nextDouble();  
25.    r.nextInt();  

6. 日期和时间
Java代码 
1.    // 查看当前日期  
2.    Date today = new Date();  
3.    Calendar.getInstance().getTime();  
4.      
5.    // 格式化默认区域日期输出  
6.    DateFormat df = DateFormat.getInstance();  
7.    df.format(today);  
8.      
9.    // 格式化制定区域日期输出        
10.    DateFormat df_cn = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);  
11.    String now = df_cn.format(today);  
12.      
13.    // 按要求格式打印日期  
14.    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
15.    sdf.format(today);  
16.      
17.    // 设置具体日期  
18.    GregorianCalendar d1 = new GregorianCalendar(2009, 05, 06);  // 6月6日  
19.    GregorianCalendar d2 = new GregorianCalendar();  // 今天  
20.    Calendar d3 = Calendar.getInstance();  // 今天  
21.    d1.getTime();  // Calendar或GregorianCalendar转成Date格式  
22.    d3.set(Calendar.YEAR, 1999);  
23.    d3.set(Calendar.MONTH, Calendar.APRIL);  
24.    d3.set(Calendar.DAY_OF_MONTH, 12);  
25.      
26.    // 字符串转日期  
27.    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
28.    Date now = sdf.parse(String);  
29.      
30.    // 日期加减  
31.    Date now = new Date();  
32.    long t = now.getTime();  
33.    t += 700*24*60*60*1000;  
34.    Date then = new Date(t);  
35.      
36.    Calendar now = Calendar.getInstance();  
37.    now.add(Calendar.YEAR, -2);  
38.      
39.    // 计算日期间隔(转换成long来计算)  
40.    today.getTime() - old.getTime();  
41.      
42.    // 比较日期  
43.    Date 类型,就使用equals(), before(), after()来计算  
44.    long类型,就使用==, <, >来计算  
45.      
46.    // 第几日  
47.    使用 Calendar的get()方法  
48.    Calendar c = Calendar.getInstance();  
49.    c.get(Calendar.YEAR);   
50.      
51.    // 记录耗时  
52.    long start = System.currentTimeMillis();  
53.    long end = System.currentTimeMillis();  
54.    long elapsed = end - start;  
55.    System.nanoTime();  //毫秒  
56.      
57.    // 长整形转换成秒  
58.    Double.toString(t/1000D);  

7. 结构化数据
Java代码 
1.    // 数组拷贝  
2.    System.arrayCopy(oldArray, 0, newArray, 0, oldArray.length);  
3.      
4.    // ArrayList  
5.    add(Object o)  // 在末尾添加给定元素  
6.    add(int i, Object o)  // 在指定位置插入给定元素  
7.    clear()  // 从集合中删除全部元素  
8.    Contains(Object o)  // 如果Vector包含给定元素,返回真值  
9.    get(int i)  // 返回 指定位置的对象句柄  
10.    indexOf(Object o)  // 如果找到给定对象,则返回其索引值;否则,返回-1  
11.    remove(Object o)  // 根据引用删除对象  
12.    remove(int i)  // 根据 位置删除对象  
13.    toArray()  // 返回包含集合对象的数组  
14.      
15.    // Iterator  
16.    List list = new ArrayList();  
17.    Iterator it = list.iterator();  
18.    while (it.hasNext())  
19.    Object o = it.next();  
20.      
21.    // 链表  
22.    LinkedList list = new LinkedList();  
23.    ListIterator it = list.listIterator();  
24.    while (it.hasNext())  
25.    Object o = it.next();  
26.      
27.    // HashMap  
28.    HashMap<String, String> hm = new HashMap<String, String>();  
29.    hm.get(key);  // 通过key得到value  
30.    hm.put("No1", "Hexinyu");  
31.    hm.put("No2", "Sean");  
32.    // 方法1: 获取全部键值    
33.    Iterator<String> it = hm.values().iterator();   
34.    while (it.hasNext()) {  
35.        String myKey = it.next();  
36.        String myValue = hm.get(myKey);  
37.    }  
38.    // 方法2: 获取全部键值        
39.    for (String key : hm.keySet()) {  
40.        String myKey = key;  
41.        String myValue = hm.get(myKey);  
42.    }  
43.      
44.    // Preferences - 与系统相关的用户设置,类似名-值对  
45.    Preferences prefs = Preferences.userNodeForPackage(ArrayDemo.class);  
46.    String text = prefs.get("textFontName", "lucida-bright");  
47.    String display = prefs.get("displayFontName", "lucida-balckletter");  
48.    System.out.println(text);  
49.    System.out.println(display);  
50.    // 用户设置了新值,存储回去       
51.    prefs.put("textFontName", "new-bright");  
52.    prefs.put("displayFontName", "new-balckletter");  
53.      
54.    // Properties - 类似名-值对,key和value之间,可以用"=",":"或空格分隔,用"#" 和"!"注释  
55.    InputStream in = MediationServer.class.getClassLoader().getResourceAsStream("msconfig.properties");  
56.    Properties prop = new Properties();  
57.    prop.load(in);  
58.    in.close();  
59.    prop.setProperty(key, value);  
60.    prop.getProperty(key);  
61.      
62.    // 排序  
63.    1. 数组:Arrays.sort(strings);  
64.    2. List:Collections.sort(list);  
65.    3. 自定义类:class SubComp implements Comparator  
66.        然 后使用Arrays.sort(strings, new SubComp())  
67.         
68.    // 两个接口  
69.    1. java.lang.Comparable: 提供对象的自然排序,内置于类中  
70.       int compareTo(Object o);  
71.        boolean equals(Object o2);  
72.    2. java.util.Comparator: 提供特定的比较方法  
73.       int compare(Object o1, Object o2)  
74.         
75.    // 避免重复排序,可以使用TreeMap  
76.    TreeMap sorted = new TreeMap(unsortedHashMap);  
77.      
78.    // 排除重复元素  
79.    Hashset hs - new HashSet();  
80.      
81.    // 搜索对象  
82.    binarySearch(): 快 速查询 - Arrays, Collections  
83.    contains(): 线型搜 索 - ArrayList, HashSet, Hashtable, linkedList, Properties, Vector  
84.    containsKey(): 检 查集合对象是否包含给定 - HashMap, Hashtable, Properties, TreeMap  
85.    containsValue(): 主 键(或给定值) - HashMap, Hashtable, Properties, TreeMap  
86.    indexOf(): 若 找到给定对象,返回其位置 - ArrayList, linkedList, List, Stack, Vector  
87.    search(): 线 型搜素 - Stack  
88.      
89.    // 集合转数组  
90.    toArray();  
91.      
92.    // 集合总结  
93.    Collection: Set - HashSet, TreeSet  
94.    Collection: List - ArrayList, Vector, LinkedList  
95.    Map: HashMap, HashTable, TreeMap  

8. 泛型与foreach
Java代码 
1.    // 泛型  
2.    List<String> myList = new ArrayList<String>();  
3.      
4.    // foreach  
5.    for (String s : myList) {  
6.        System.out.println(s);  
7.    }  

9. 面向对象
Java代码 
1.    // toString()格式化  
2.    public class ToStringWith {  
3.        int x, y;  
4.        public ToStringWith(int anX, int aY) {  
5.            x = anX;  
6.            y = aY;  
7.        }  
8.        public String toString() {  
9.            return "ToStringWith[" + x + "," + y + "]";  
10.        }  
11.        public static void main(String[] args) {  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的二叉树的 Java 代码例子,注释在代码中: ```java // 定义二叉树节点类 class TreeNode { int val; // 节点的值 TreeNode left; // 左子树节点 TreeNode right; // 右子树节点 // 构造函数 TreeNode(int x) { val = x; } } // 定义二叉树类 class BinaryTree { private TreeNode root; // 根节点 // 插入节点 public void insert(int val) { root = insert(root, val); } // 递归插入节点 private TreeNode insert(TreeNode node, int val) { if (node == null) { // 如果节点为空,则新建一个节点 return new TreeNode(val); } // 如果插入的值比当前节点小,则插入左子树 if (val < node.val) { node.left = insert(node.left, val); } // 如果插入的值比当前节点大,则插入右子树 else if (val > node.val) { node.right = insert(node.right, val); } return node; } // 中序遍历 public void inorder() { inorder(root); } // 递归中序遍历 private void inorder(TreeNode node) { if (node == null) { return; } inorder(node.left); System.out.print(node.val + " "); inorder(node.right); } } // 示例代码 public class BinaryTreeExample { public static void main(String[] args) { BinaryTree tree = new BinaryTree(); tree.insert(50); tree.insert(30); tree.insert(20); tree.insert(40); tree.insert(70); tree.insert(60); tree.insert(80); System.out.print("中序遍历结果:"); tree.inorder(); // 中序遍历结果:20 30 40 50 60 70 80 } } ``` 以上代码演示了一个简单的二叉树的定义、插入节点和中序遍历的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值