大多数初级开发人员不知道的十个 Java 技巧!

开发 前端
有两种类型的开发人员,优秀的开发人员和聪明的开发人员,你是哪一种?掌握一些技巧能让我们变成一个聪明的开发人员。

有两种类型的开发人员,优秀的开发人员和聪明的开发人员,你是哪一种?掌握一些技巧能让我们变成一个聪明的开发人员。

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”);
}
}

看出什么差别了吗?

2.数值交换

数值交换的典型写法:

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)
}
}

3.没有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"


责任编辑:华轩 来源: 今日头条
相关推荐

2023-01-17 16:25:18

前端开发JSON

2022-03-23 20:49:13

微信移动应用

2024-11-04 14:18:32

JavaScript编程语言开发

2022-10-17 15:33:46

前端开发数组

2021-03-01 19:13:45

YAML程序员数据

2023-05-11 16:29:39

Javascript开发前端

2022-03-14 14:11:22

Java开发编程语言

2023-01-31 10:22:00

HiveMapReduce文件合并

2024-10-21 13:15:03

2020-12-03 15:10:31

Linux开发

2023-02-02 08:00:00

SQLJava开发

2021-11-02 08:54:10

开发编程测试

2021-11-06 23:07:47

开发网站编程

2023-07-12 07:56:13

CSS规则元素

2017-10-24 11:59:41

JavaScript

2024-07-17 14:12:07

开源工具开发管理模板

2019-10-11 10:03:02

负载均衡器LVS虚拟服务器

2013-01-28 10:25:46

开发人员设计技巧

2023-02-26 18:43:05

SQL工具数据库

2024-06-04 14:31:16

点赞
收藏

51CTO技术栈公众号