📜  Java有趣和酷的技巧

📅  最后修改于: 2021-10-20 11:15:47             🧑  作者: Mango

Java是 Sun Microsystems 的 James Gosling 于 1991 年开发的最好的面向对象编程语言之一,并于 1995 年公开可用。它是一种解释性编程语言,具有平台独立性,使其成为所有编程语言中最好的之一.

在本文中,我们将看到Java的一些有趣和酷炫的技巧。

  1. 执行注释:大多数开发人员认为注释永远不会在程序中执行,只是为了便于理解代码。但是,他们被处决了。例如:
    public class GFG {
        public static void main(String[] args)
        {
            // \u000d System.out.println("GeeksForGeeks");
        }
    }
    
    输出:
    GeeksForGeeks
    

    解释:
    执行此注释是因为 Unicode字符“\u000d”, Java编译器将此 Unicode字符解析为新行。 Java允许使用 Unicode字符而不进行编码。

  2. 数字字面量的下划线:在Java SE 7 及更高版本中,可以在数字字面量使用下划线,而不会在输出中产生任何警告或错误。

    例子:

    public class GFG {
        public static void main(String[] args)
        {
            int x = 123_34;
            System.out.println(x);
        }
    }
    
    输出:

    12334
    
  3. 双括号初始化:在Java,集合,例如集合、列表、映射等,在声明期间没有简单易行的方法来初始化值。开发人员要么将值推送到集合中,要么为常量集合创建一个静态块。使用双括号初始化,可以在声明期间以更少的努力和时间初始化集合。

    例子:

    import java.util.HashSet;
    import java.util.Set;
      
    public class GFG {
        public static void main(String[] args)
        {
            Set GFG = new HashSet() {{
                add("DS");
                add("ALGORITHMS");
                add("BLOCKCHAIN");
                add("MACHINE LEARNING");
            } };
            System.out.println(GFG);
        }
    }
    
    输出:
    [MACHINE LEARNING, ALGORITHMS, DS, BLOCKCHAIN]
    
  4. 找到在数组中插入数字元素的位置:有一个很酷的小技巧可以找到可以在排序数组中插入请求元素的位置。

    例子:

    import java.util.Arrays;
    public class GFG {
        public static void main(String[] args)
        {
            int[] arr = new int[] { 1, 3, 4, 5, 6 };
      
            // 2 has to be inserted
            int pos = Arrays.binarySearch(arr, 2);
            System.out.print("Element has to be inserted at: "
                                                      + ~pos);
        }
    }
    
    输出:
    Element has to be inserted at: 1
    
  5. 包装类与数据类型:在下面的示例中,第二个打印语句不会显示 true,因为比较的是包装类对象的引用而不是它们的值。
    import java.util.Arrays;
    public class GFG {
        public static void main(String[] args)
        {
            int num_1 = 10;
      
            int num_2 = 10;
      
            Integer wrapnum_1 = new Integer(10);
      
            Integer wrapnum_2 = new Integer(10);
      
            System.out.println(num_1 == num_2);
      
            // Compares reference
            System.out.println(wrapnum_1 == wrapnum_2);
      
            // Compares value of object
            System.out.println(wrapnum_1.equals(wrapnum_2));
        }
    }
    
    输出:
    true
    false
    true