初级开发人员不知道的 10 个 Java 技巧

大多数初级开发人员不知道的 10 Java 技巧,很多学编程的朋友一般 都会系统的学习很多编程的内容,不过很多初学者一定要知道这 10JAVA技巧,我们来看看什么样的技巧呢?

1)main()函数的不同写法

从使用 Java 的第一天开始,我们应该就会这么写:

 public class Example {

   public static void main(String [ ] args){

     System.out.println(“Hello World”);

   }

}

那么你知道 main() 方法的不同写法吗?

方式一

public class Example {

  public static void main(String . . . args){

    System.out.println(“Hello World”);

  }

}

方式二

public class Example {

  static public void main(String . . . args){

    System.out.println(“Hello World”);

  }

}

看出什么差别了吗?

数值交换

数值交换的典型写法:

class Example {

  public static void main(String a[]) {

   

    int x = 10;

    int y = 5;

   

    x = x + y;

    y = x - y;             

    x = x - y;

    System.out.println("交换后的值为:"+ " x = " + x + ", y = " + y);

  }

}

聪明的写法:

class Example {

  public static void main(String a[]) {

   

    int x = 10;

    int y = 5;

    y= x+y - (x=y);

    System.out.println("After swaping:"+ " x = " + x + ", y = " + y)

  }

}

没有main()函数的Java代码

{

  static

  {

    System.out.println("Hello World!");

    System.exit(0); // 防止“main method not found” 错误

  }

}

4) 测量程序运行时间

currentTimeMillis()返回自大纪元以来以毫秒为单位的当前时间,以长为单位。

long startTime = System.currentTimeMillis();

long estimatedTime = System.currentTimeMillis() - startTime;

nanoTime()返回最精确的可用系统定时器的当前值,以纳秒为单位,以 long 为单位。nanoTime() 用于测量相对时间间隔而不是提供绝对时间。

long startTime = System.nanoTime();

long estimatedTime = System.nanoTime() - startTime;

5) 检查奇数

常规写法:

public boolean oddOrNot(int num) {

  return num % 2 == 1;

}

考虑到负奇数,除以 2 的余数不会是 1。因此,返回的结果将是 false,这是不正确的!

聪明的写法:

public boolean oddOrNot(int num) {

  return (num & 1) != 0;

}

使用这段代码,不仅解决了负奇数的问题,而且这段代码也进行了高度优化。由于与除法和乘法相比,算术和逻辑运算要快得多,因此在第二个片段中可以更快地获得结果。

6) 在 Java 中搜索字符串

这可能不是所谓的技巧,但它是 Java 开发人员应该知道的东西。Java 提供了一个 indexOf() 的库方法。此方法与 String 对象一起使用,返回所需字符串的索引位置。如果未找到该字符串,则返回 -1。

public class Example {

  public static void main(String[] args) {

    String myString = "Hello String!";

    if(myString.indexOf("String") == -1) {

      System.out.println("String not Found!");

    } else {

      System.out.println("String found at: " + myString.indexOf("String"));

    }

  }

}

7) 明智的判断

当我们做判断时,首先想到的是 If-else。这是在 Java 中做判断的最简单方法。如下:

class Example{

  public static void main(String [ ] main){

    int n1 = 5;

    int n2 = 10;

    if(n1>n2){

      System.out.println(“n1 is greater”);

    } else{

      System.out.println(“n2 is greater”);

    }

  }

}

使用三木运算更加简洁:

class Ternary {

  public static void main(String[] args)

  {

    int n1 = 5;

    int n2 = 10;

    int max = (n1 > n2) ? n1 : n2;

    System.out.println("Maximum is = " + max);

  } 

}

8) 使用堆栈跟踪

捕捉错误可能是 Java 开发过程中最耗时的部分。堆栈跟踪能准确跟踪项目抛出异常的位置。

import java.io.*;

Exception e = …;

java.io.StringWriter sw = new java.io.StringWriter();

e.printStackTrace(new java.io.PrintWriter(sw));

String trace = sw.getBuffer().toString();

9) 使用 System.in.read() 进行用户输入

用户输入是任何应用程序的重要方面之一。Java 常见的方式为:

  • 使用 Scanner 类
  • 使用 BufferedReader 类

更简洁的方法:

import java.io.IOException;

class ExamTest{

  public static void main(String args[]) throws IOException{

    int sn=System.in.read();

    System.out.println(sn);

  }

}

10) 小心使用字符串

如果在“for”循环中使用“+”运算符连接两个字符串,那么它每次都会创建一个新的字符串对象。这会导致内存浪费并增加执行时间。此外,在实例化字符串对象时,应避免使用构造函数,而应直接进行实例化。

 //实例化慢,创建新对象

String bad = new String("bad");

//实例化快

String good = "good"

这10个技巧你都学会了吗?

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunguang2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值