自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大多數(shù)初級(jí)開(kāi)發(fā)人員不知道的十個(gè) Java 技巧!

開(kāi)發(fā) 前端
有兩種類(lèi)型的開(kāi)發(fā)人員,優(yōu)秀的開(kāi)發(fā)人員和聰明的開(kāi)發(fā)人員,你是哪一種?掌握一些技巧能讓我們變成一個(gè)聰明的開(kāi)發(fā)人員。

有兩種類(lèi)型的開(kāi)發(fā)人員,優(yōu)秀的開(kāi)發(fā)人員和聰明的開(kāi)發(fā)人員,你是哪一種?掌握一些技巧能讓我們變成一個(gè)聰明的開(kāi)發(fā)人員。

1.main()函數(shù)的不同寫(xiě)法

從使用 Java 的第一天開(kāi)始,我們應(yīng)該就會(huì)這么寫(xiě):

public class Example {
public static void main(String [ ] args){
System.out.println(“Hello World”);
}
}

那么你知道 main() 方法的不同寫(xiě)法嗎?

方式一

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.數(shù)值交換

數(shù)值交換的典型寫(xiě)法:

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

聰明的寫(xiě)法:

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.沒(méi)有main()函數(shù)的Java代碼

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

System.exit(0); // 防止“main method not found” 錯(cuò)誤
}
}

4.測(cè)量程序運(yùn)行時(shí)間

currentTimeMillis():返回自大紀(jì)元以來(lái)以毫秒為單位的當(dāng)前時(shí)間,以長(zhǎng)為單位。

long startTime = System.currentTimeMillis();

long estimatedTime = System.currentTimeMillis() - startTime;

nanoTime():返回最精確的可用系統(tǒng)定時(shí)器的當(dāng)前值,以納秒為單位,以 long 為單位。nanoTime() 用于測(cè)量相對(duì)時(shí)間間隔而不是提供絕對(duì)時(shí)間。

long startTime = System.nanoTime();

long estimatedTime = System.nanoTime() - startTime;

5.檢查奇數(shù)

常規(guī)寫(xiě)法:

public boolean oddOrNot(int num) {
return num % 2 == 1;
}

考慮到負(fù)奇數(shù),除以 2 的余數(shù)不會(huì)是 1。因此,返回的結(jié)果將是 false,這是不正確的!

聰明的寫(xiě)法:

public boolean oddOrNot(int num) {
return (num & 1) != 0;
}

使用這段代碼,不僅解決了負(fù)奇數(shù)的問(wèn)題,而且這段代碼也進(jìn)行了高度優(yōu)化。由于與除法和乘法相比,算術(shù)和邏輯運(yùn)算要快得多,因此在第二個(gè)片段中可以更快地獲得結(jié)果。

6.在 Java 中搜索字符串

這可能不是所謂的技巧,但它是 Java 開(kāi)發(fā)人員應(yīng)該知道的東西。Java 提供了一個(gè) indexOf() 的庫(kù)方法。此方法與 String 對(duì)象一起使用,返回所需字符串的索引位置。如果未找到該字符串,則返回 -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.明智的判斷

當(dāng)我們做判斷時(shí),首先想到的是 If-else。這是在 Java 中做判斷的最簡(jiǎn)單方法。如下:

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

使用三木運(yùn)算更加簡(jiǎn)潔:

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.使用堆棧跟蹤

捕捉錯(cuò)誤可能是 Java 開(kāi)發(fā)過(guò)程中最耗時(shí)的部分。堆棧跟蹤能準(zhǔn)確跟蹤項(xiàng)目拋出異常的位置。

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() 進(jìn)行用戶(hù)輸入

用戶(hù)輸入是任何應(yīng)用程序的重要方面之一。Java 常見(jiàn)的方式為:

  • 使用 Scanner 類(lèi)
  • 使用 BufferedReader 類(lèi)

更簡(jiǎn)潔的方法:

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”循環(huán)中使用“+”運(yùn)算符連接兩個(gè)字符串,那么它每次都會(huì)創(chuàng)建一個(gè)新的字符串對(duì)象。這會(huì)導(dǎo)致內(nèi)存浪費(fèi)并增加執(zhí)行時(shí)間。此外,在實(shí)例化字符串對(duì)象時(shí),應(yīng)避免使用構(gòu)造函數(shù),而應(yīng)直接進(jìn)行實(shí)例化。

//實(shí)例化慢,創(chuàng)建新對(duì)象
String bad = new String("bad");
//實(shí)例化快
String good = "good"


責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2023-01-17 16:25:18

前端開(kāi)發(fā)JSON

2022-03-23 20:49:13

微信移動(dòng)應(yīng)用

2024-11-04 14:18:32

JavaScript編程語(yǔ)言開(kāi)發(fā)

2022-10-17 15:33:46

前端開(kāi)發(fā)數(shù)組

2021-03-01 19:13:45

YAML程序員數(shù)據(jù)

2022-03-14 14:11:22

Java開(kāi)發(fā)編程語(yǔ)言

2023-05-11 16:29:39

Javascript開(kāi)發(fā)前端

2023-01-31 10:22:00

HiveMapReduce文件合并

2024-10-21 13:15:03

2020-12-03 15:10:31

Linux開(kāi)發(fā)

2023-02-02 08:00:00

SQLJava開(kāi)發(fā)

2021-11-02 08:54:10

開(kāi)發(fā)編程測(cè)試

2021-11-06 23:07:47

開(kāi)發(fā)網(wǎng)站編程

2023-07-12 07:56:13

CSS規(guī)則元素

2017-10-24 11:59:41

JavaScript

2024-07-17 14:12:07

開(kāi)源工具開(kāi)發(fā)管理模板

2013-01-28 10:25:46

開(kāi)發(fā)人員設(shè)計(jì)技巧

2019-10-11 10:03:02

負(fù)載均衡器LVS虛擬服務(wù)器

2023-02-26 18:43:05

SQL工具數(shù)據(jù)庫(kù)

2024-06-04 14:31:16

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)