欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在java中正確使用注釋

 更新時間:2019年06月04日 15:39:28   作者:伊謝爾倫  
在編寫程序時,經(jīng)常需要添加一些注釋,用以描述某段代碼的作用。 一般來說,對于一份規(guī)范的程序源代碼而言,注釋應(yīng)該占到源代碼的 1/3 以上。下面我們來詳細(xì)了解一下吧

Java提供了3種類型的注釋:

單行注釋(C++風(fēng)格)

在Java中最簡單的注釋是單行注釋。它以兩個正斜杠開始并到行尾結(jié)束。例如:

// this is a single-line comment
x = 1; // a single-line comment after code

多行注釋(C風(fēng)格)

Java同樣提供跨越多行的注釋類型。這種類型的注釋以緊跟著一個星號的正斜杠開始,并以緊跟著一個正斜杠的星號結(jié)束。這種類型注釋的開始和結(jié)束分界符可以在同一行里也可以在不同的行上。例如:

/* This is a c-style comment */
/* This is also a
c-style comment, spanning
multiple lines */

注意:C風(fēng)格的注釋不可以嵌套使用。比如下面的用法:

/* A comment looks like
/* This is a comment */
blah blah blah
*/

上面的用法會造成語法錯誤,因為Java編譯器只把第一個 */ 當(dāng)做注釋來處理。(編譯器認(rèn)為注釋在第一個“*/”就結(jié)束了)。

你可以在多行注釋里嵌入單行注釋:

/* This is a single-line comment:
// a single-line comment
*/

以及在單行注釋里使用多行注釋:

// /* this is
// a multi-line
// comment */

文檔注釋

文檔注釋是一種與多行注釋很類似的特殊注釋,它可以用來為你的源代碼產(chǎn)生外部文檔。這種注釋以緊跟著兩個星號的正斜杠開始,并以緊跟著一個正斜杠的星號結(jié)束。例如:

/** This is a documentation comment */
/** This is also a
documentation comment */

這里有一些關(guān)于文檔注釋的重要事情要注意:

javadoc文檔生成器會把文檔注釋里的所有文本都添加到一個HTML段落里。這意味著,在文檔注釋里的任意文本都會被格式化為一個段落;空格和換行符會被忽略。如果你想要特殊的格式,你必須要在文檔注釋里使用HTML標(biāo)簽。

如果文檔注釋以超過兩個的星號開始,那么javadoc就認(rèn)為這些星號是用來在源碼里創(chuàng)建一個“框”框住注釋的,并忽略多余的星號。例如:

/**********************************
This is the start of a method
**********************************/

該注釋僅保留“This is the start of a method”文本。

javadoc會忽略文檔注釋里處于行首的星號。例如:

/***************************************
* This is a doc comment
* on multiple lines that I want to stand
* out in source code, looking "neat"
***************************************/

該注釋僅保留“This is a doc comment on multiple lines that I want to stand out in source code, looking “neat””文本。

常見的用法如下:

/******************************************
...
******************************************/

該用法是為了突出注釋。要注意的是,這屬于文檔注釋(即使這不是你所想的那樣),并會在產(chǎn)生的文檔里出現(xiàn)注釋的內(nèi)容。

什么時候使用文檔注釋

你(至少)應(yīng)該在任意的公有類、接口、方法和源碼里的類或?qū)嵗兞壳懊媸褂梦臋n注釋。這樣可以讓javadoc針對代碼產(chǎn)生簡單的文檔,它列出了公共實體 和每個實體的簡要說明。你同樣可以在非公共方法前面使用文檔注釋,不過需要使用一個javadoc選項來它們產(chǎn)生文檔。相比于公有實體,在非公有實體上使 用文檔注釋顯得沒那么重要(它的接口不會暴露出來……)。但如果你要注釋代碼,你同樣可以使用文檔注釋。

什么時候使用單行注釋

任意時候都可以!

關(guān)于注釋,我有一個簡單的建議,在你想寫常規(guī)注釋(不是用來描述類、接口、方法或者變量的文檔注釋)的時候可以使用單行注釋。

為什么?因為你可以輕易地使用多行注釋去“注釋掉”你的代碼段(“注釋掉代碼”意味著把一段代碼的詞法狀態(tài)變?yōu)橐欢巫⑨?,讓編譯器忽略這段代碼)。舉個例子:

x = 1; /* set x to 1 */
y = 2; /* set y to 2 */
f(x, y); /* call f with x and y */

要把上面三行代碼注釋掉,你可能需要在每一行的前面使用單行注釋:

// x = 1; /* set x to 1 */
// y = 2; /* set y to 2 */
// f(x, y); /* call f with x and y */

或者在還沒有加注釋的地方加上多行注釋:

/* x = 1; */ /* set x to 1 */
/* y = 2; */ /* set y to 2 */
/* f(x, y);*/ /* call f with x and y */

或者分解或刪除已存在的注釋的“結(jié)束注釋”分解符:

/*
x = 1; /* set x to 1 * /
y = 2; /* set y to 2 * /
f(x, y); /* call f with x and y * /
*/

這些用法都糟糕透了。如果原始代碼使用下面的注釋,那么事情就好辦多了:

x = 1; // set x to 1
y = 2; // set y to 2
f(x, y); // call f with x and y

如此一來,只需使用多行注釋把代碼圍起來你就可以輕松把它注釋掉:

/*
x = 1; // set x to 1
y = 2; // set y to 2
f(x, y); // call f with x and y
*/

在你需要使用注釋的時候盡量使用單行注釋,不要寫無用的注釋。

你也可以看看之前發(fā)布的9個最有趣的代碼注釋,盡管它是搞笑的。

什么時候使用多行注釋

閱讀了上面的內(nèi)容后,這個問題變得很明顯了。只使用多行注釋來注釋代碼段,不要用以其他目的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解用Spring Boot Admin來監(jiān)控我們的微服務(wù)

    詳解用Spring Boot Admin來監(jiān)控我們的微服務(wù)

    這篇文章主要介紹了用Spring Boot Admin來監(jiān)控我們的微服務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用Java將一個List運用遞歸轉(zhuǎn)成樹形結(jié)構(gòu)案例

    使用Java將一個List運用遞歸轉(zhuǎn)成樹形結(jié)構(gòu)案例

    這篇文章主要介紹了使用Java將一個List運用遞歸轉(zhuǎn)成樹形結(jié)構(gòu)案例,本文通過詳細(xì)的案例來解釋說明了如何去操作,需要的朋友可以參考下
    2021-06-06
  • java基于線程池和反射機制實現(xiàn)定時任務(wù)完整實例

    java基于線程池和反射機制實現(xiàn)定時任務(wù)完整實例

    這篇文章主要介紹了java基于線程池和反射機制實現(xiàn)定時任務(wù)的方法,以完整實例形式較為詳細(xì)的分析了Java定時任務(wù)的功能原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • JAVA maven項目使用釘釘SDK獲取token、用戶

    JAVA maven項目使用釘釘SDK獲取token、用戶

    這篇文章主要介紹了JAVA maven項目使用釘釘SDK獲取token、用戶,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • @Column映射不一致的解決

    @Column映射不一致的解決

    這篇文章主要介紹了@Column映射不一致的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java控制臺實現(xiàn)可視化日歷小程序

    java控制臺實現(xiàn)可視化日歷小程序

    這篇文章主要為大家詳細(xì)介紹了java控制臺實現(xiàn)可視化日歷小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • SpringBoot內(nèi)存數(shù)據(jù)導(dǎo)出成Excel的實現(xiàn)方法

    SpringBoot內(nèi)存數(shù)據(jù)導(dǎo)出成Excel的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于SpringBoot內(nèi)存數(shù)據(jù)導(dǎo)出成Excel的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • springboot文件上傳保存路徑的問題

    springboot文件上傳保存路徑的問題

    這篇文章主要介紹了springboot文件上傳保存路徑的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 關(guān)于mybatis-plus邏輯刪除無效的問題

    關(guān)于mybatis-plus邏輯刪除無效的問題

    這篇文章主要介紹了mybatis-plus邏輯刪除無效,文中給大家提到了配置過程及全部代碼,代碼簡單易懂,需要的朋友可以參考下
    2021-09-09
  • MapStruct實體間轉(zhuǎn)換的簡單用法

    MapStruct實體間轉(zhuǎn)換的簡單用法

    今天小編就為大家分享一篇關(guān)于MapStruct實體間轉(zhuǎn)換的簡單用法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論