📜  Java有趣有趣的技巧

📅  最后修改于: 2021-05-20 05:31:23             🧑  作者: Mango

Java是1991年由Sun Microsystems的James Gosling开发的最好的面向对象的编程语言之一,并于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