(1)單行注釋:以“ // ”開頭后面接所要加的說明的內容。如下面所示: //定義變量a int a = 10; //定義變量b int b = 20;上面的語句中,在編譯的過程就會直接略過注釋,只會編譯 int a = 10 和 int b = 20這兩句。由此可見注釋只是起著說明的作用。
按需網站建設可以根據自己的需求進行定制,成都做網站、網站設計構思過程中功能建設理應排到主要部位公司成都做網站、網站設計的運用實際效果公司網站制作網站建立與制做的實際意義
(2)多行注釋:以“/*”開頭,以“*/”結尾。 假設當你要說明你所寫的代碼的功能時。要說明的內容有很多。如果全部放在同一行會顯得很難看。所以一般會用多行來寫,如下所示// 說明//說明//說明//說明以上是用四個單行注釋來注釋四行說明。但如果有10行說明就要按十個“//”這顯示很麻煩,所以這時就可采用多行注釋。上面的可改成:/*說明說明說明說明*/也可以這樣/* 說明 說明 說明 說明 */
(3)文檔注釋:以“/**”開頭,以“*/”結尾。文檔注釋主要是生成文檔的。
就把打字游戲的給你吧
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;
class WordPanel extends JPanel implements Runnable{
private Thread thread = null;
private int level = 1;
private Font font = new Font("宋體",Font.ITALIC+Font.BOLD,24);
private Color color = Color.BLUE;
public static final int x = 10;
private int y = 0;
private char word;//下落的字母
private static Random rand = new Random();
public void setY(int y){
this.y = y;
}
public void setWord(char word){
this.word = word;
}
public char getWord(){
return this.word;
}
public static char newChar(){
return (char)(97+rand.nextInt(26));
}
public WordPanel(){
word = newChar();
thread = new Thread(this);
thread.start();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setFont(font);
g.setColor(color);
g.drawString(String.valueOf(word),x,y);
}
public void run(){
while (true){
try {
Thread.sleep(1000);
this.repaint();
if (y=this.getHeight()){
y = 0;
word = this.newChar();
}else
y+=20;
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
public class WordGame extends JFrame{
private WordPanel[] words = new WordPanel[10];
class Listener extends KeyAdapter{
public void keyTyped(KeyEvent e) {
char input = e.getKeyChar();
for (int i = 0; iwords.length; i++){
if ( input==words[i].getWord() ){
words[i].setWord(WordPanel.newChar());
words[i].setY(0);
words[i].repaint();
break;
}
}
}
}
public WordGame(String title){
super(title);//思考
Container c = this.getContentPane();
c.setLayout(new GridLayout(1,words.length));
this.addKeyListener( new Listener() );
for (int i = 0; iwords.length; i++){
words[i] = new WordPanel();
c.add(words[i]);
}
this.setSize( new Dimension(400,400) );
this.setVisible(true);
}
public static void main(String[] args){
WordGame game = new WordGame("簡單的打字游戲");
}
}
class?Point?{
private?double?x; //類的屬性
private?double?y;
Point(double?x1,?double?y1)?{?//構造方法,給屬性賦值。new?Point(1.0,2.0),所以x=1.0,y=2.0
x?=?x1;?
y?=?y1;
}
public?double?getX()?{?return?x;?}?//返回屬性的值
public?double?getY()?{?return?y;?}
public?void?setX(double?i)?{?x?=?i;?}?//給屬性賦值
public?void?setY(double?i)?{?y?=?i;?}
}
class?Circle?{
private?Point?o;
private?double?radius;
Circle(Point?p,?double?r)?{//構造方法,就是在main方法中new的時候要執(zhí)行的方法,會給o和radius賦值。
o?=?p;?
radius?=?r;
}
Circle(double?r)?{//構造方法
o?=?new?Point(0.0,?0.0);
radius?=?r;
}
boolean?contains(Point?p)?{
double?x?=?p.getX()?-?o.getX();
double?y?=?p.getY()?-?o.getY();
if(x*x?+?y*y??radius?*?radius)?return?false;
else?return?true;
}
public?void?setO(double?x,?double?y)?{
o.setX(x);?
o.setY(y);
}
public?Point?getO()?{?return?o;?}
public?double?getRadius()?{?return?radius;}
public?void?setRadius(double?r)?{?radius?=?r;}
public?double?area()?{?
return?3.14?*?radius?*?radius;
}
public?double?per(){
return?3.14*2*radius;
}
}
public?class?aaa?{
public?static?void?main(String?args[])?{
Circle?c1?=?new?Circle(new?Point(1.0,2.0),?9.0);?//首先new?Point(1.0,2.0),會調用Point類的構造方法。得到一個Point對象,這個對象的屬性x=1.0?y=2.0
?//然后看外面,調用Circle類的第一個構造方法。所以radius=9.0
System.out.println("c1?area?=?"+c1.area());//這樣執(zhí)行Circle的area()方法時,返回3.14*9.0*9.0的結果
System.out.println("c1?area?=?"+c1.per());//同樣,返回3.14*2*9.0的結果
}
}
不明白再問吧
好像和另外一個一樣,貼一下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GoodLucky extends JFrame implements ActionListener{
JTextField tf = new JTextField(); //實例化一個文本域
//設置兩個按鈕
JButton b1 = new JButton("開始");
JButton b2 = new JButton("停止");
boolean isGo = false;
//構造函數
public GoodLucky(){
b1.setActionCommand("start");//在開始按鈕上設置一個動作監(jiān)聽 start
JPanel p = new JPanel(); //實例化一個可視化容器
//將兩個按鈕添加到可視化容器上面,用add方法
p.add(b1);
p.add(b2);
//在兩個按鈕上增加監(jiān)聽的屬性,自動調用下面的監(jiān)聽處理方法actionPerformed(ActionEvent e),如果要代碼有更好的可讀性,可用內部類實現動作
//監(jiān)聽處理。
b1.addActionListener(this);
b2.addActionListener(this);
//將停止按鈕設置為不可編輯(即不可按的狀態(tài))
b2.setEnabled(false);
this.getContentPane().add(tf,"North"); //將上面的文本域放在面板的北方,也就是上面(上北下南左西右東)
this.getContentPane().add(p,"South"); //將可視化容器pannel放在南邊,也就是下面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置用戶在此窗體上發(fā)起 "close" 時默認執(zhí)行的操作,參數EXIT_ON_CLOSE是使用 System exit 方法退出應用程序。僅在應用程序中使用
this.setSize(300,200); //設置面板大小,寬和高
this.setLocation(300,300); //設置面板剛開始的出現的位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名稱創(chuàng)建一個新的定制光標對象,參數表示手狀光標類型
this.setCursor(cu); //為指定的光標設置光標圖像,即設置光標圖像為上面所創(chuàng)建的手狀光標類型
this.setVisible(true); //將面板可視化設置為true,即可視,如果為false,即程序運行時面板會隱藏
tf.setText("welcome you! "); //設置面板的標題為歡迎
this.go(); //調用go方法
}
public void go(){
while(true){ //這里是死循環(huán),也就是說用戶不點擊停止按鈕的話他一直循環(huán)出現隨機數,直到用戶點擊停止按鈕循環(huán)才能推出,具體流程在actionPerformed方法中控制。
if(isGo == true){ //上面所定義的isGo的初始值為false,所以程序第一次到此會跳過
String s = ""; //設置空字符串
for(int j = 1; j = 7;j++){ //產生7個隨機數
int i = (int)(Math.random() * 36) + 1;//每個隨機數產生方式,這里定義靈活,可以自由定義隨機數產生的方式
if(i 10){
s = s + " 0" + i; //如果產生的隨機數小于10的話做處理:這里就牽扯到一個重要的概念,簡單敘述一下:
/*
當一個字符串與一個整型數項相加的意思是連接,上面的s = s + " 0" + i的意思是字符串s鏈接0再連接整型i值,而不會導致0和整型的i相加,
產生的效果為s0i,由于s為空字符串(上面定義過的),所以當i小于零時,在個位數前面加上0,比如產生的隨機數i為7的話,顯示效果為 07.
*/
}else{
s = s + " " + i; //如果產生的隨機數比10打的話,那么加上空格顯示,即數字和數字之間有個空格
}
//以上循環(huán)循環(huán)七次,以保證能出現7個隨機數
}
tf.setText(s); //將產生的隨機數全部顯示在文本域上,用文本域對象tf調用它的設置文本的方法setText(String)實現。
}
//以下為線程延遲
try{
Thread.sleep(10); //線程類同步方法sleep,睡眠方法,括號里的單位為ms。
}catch(java.lang.InterruptedException e){
e.printStackTrace(); //異常捕獲,不用多說。
}
}
}
//以下是上面設置的事件監(jiān)聽的具體處理辦法,即監(jiān)聽時間處理方法,自動調用
public void actionPerformed(ActionEvent e){ //傳入一個動作事件的參數e
String s = e.getActionCommand(); //設置字符串s來存儲獲得動作監(jiān)聽,上面的start
/*
以下這個條件語句塊的作用為:用戶點擊開始后(捕獲start,用方法getActionCommand()),將命令觸發(fā)設置為true,從而執(zhí)行上面的go方法中的循環(huán)體(因為循環(huán)體中要求isGo參數為true,而初始為false)。
執(zhí)行循環(huán)快產生隨機數,并將開始按鈕不可編輯化,而用戶只可以使用停止按鈕去停止。如果用戶按下停止時,也就是沒有傳入參數“start”的時候,
執(zhí)行else語句塊中的語句,isGo設置為false,將不執(zhí)行上面go中的循環(huán)語句塊,從而停止產生隨機數,并顯示,并且把開始按鈕設置為可用,而把
停止按鈕設置為不可用,等待用戶按下開始再去開始新一輪循環(huán)產生隨機數。
*/
if(s.equals("start")){ //如果捕獲到start,也就是用戶觸發(fā)了動作監(jiān)聽器,那么下面處理
isGo = true; //設置isGo為true
b1.setEnabled(false); //將開始按鈕設置為不可用
b2.setEnabled(true); //將停止按鈕設置為可用
}else{
isGo = false; //將isGo設置為false,isGo為循環(huán)標志位
b2.setEnabled(false); //設置停止按鈕為不可用(注意看是b2,b2是停止按鈕)
b1.setEnabled(true); //設置開始按鈕為可用
}
}
public static void main(String[] args){
new GoodLucky(); //產生類的實例,執(zhí)行方法
}
}
多注了些控制流程,希望我的注釋能夠對你有幫助:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GoodLucky extends JFrame implements ActionListener{
JTextField tf = new JTextField(); //實例化一個文本域
//設置兩個按鈕
JButton b1 = new JButton("開始");
JButton b2 = new JButton("停止");
boolean isGo = false;
//構造函數
public GoodLucky(){
b1.setActionCommand("start");//在開始按鈕上設置一個動作監(jiān)聽 start
JPanel p = new JPanel(); //實例化一個可視化容器
//將兩個按鈕添加到可視化容器上面,用add方法
p.add(b1);
p.add(b2);
//在兩個按鈕上增加監(jiān)聽的屬性,自動調用下面的監(jiān)聽處理方法actionPerformed(ActionEvent e),如果要代碼有更好的可讀性,可用內部類實現動作
//監(jiān)聽處理。
b1.addActionListener(this);
b2.addActionListener(this);
//將停止按鈕設置為不可編輯(即不可按的狀態(tài))
b2.setEnabled(false);
this.getContentPane().add(tf,"North"); //將上面的文本域放在面板的北方,也就是上面(上北下南左西右東)
this.getContentPane().add(p,"South"); //將可視化容器pannel放在南邊,也就是下面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置用戶在此窗體上發(fā)起 "close" 時默認執(zhí)行的操作,參數EXIT_ON_CLOSE是使用 System exit 方法退出應用程序。僅在應用程序中使用
this.setSize(300,200); //設置面板大小,寬和高
this.setLocation(300,300); //設置面板剛開始的出現的位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名稱創(chuàng)建一個新的定制光標對象,參數表示手狀光標類型
this.setCursor(cu); //為指定的光標設置光標圖像,即設置光標圖像為上面所創(chuàng)建的手狀光標類型
this.setVisible(true); //將面板可視化設置為true,即可視,如果為false,即程序運行時面板會隱藏
tf.setText("welcome you! "); //設置面板的標題為歡迎
this.go(); //調用go方法
}
public void go(){
while(true){ //這里是死循環(huán),也就是說用戶不點擊停止按鈕的話他一直循環(huán)出現隨機數,直到用戶點擊停止按鈕循環(huán)才能推出,具體流程在actionPerformed方法中控制。
if(isGo == true){ //上面所定義的isGo的初始值為false,所以程序第一次到此會跳過
String s = ""; //設置空字符串
for(int j = 1; j = 7;j++){ //產生7個隨機數
int i = (int)(Math.random() * 36) + 1;//每個隨機數產生方式,這里定義靈活,可以自由定義隨機數產生的方式
if(i 10){
s = s + " 0" + i; //如果產生的隨機數小于10的話做處理:這里就牽扯到一個重要的概念,簡單敘述一下:
/*
當一個字符串與一個整型數項相加的意思是連接,上面的s = s + " 0" + i的意思是字符串s鏈接0再連接整型i值,而不會導致0和整型的i相加,
產生的效果為s0i,由于s為空字符串(上面定義過的),所以當i小于零時,在個位數前面加上0,比如產生的隨機數i為7的話,顯示效果為 07.
*/
}else{
s = s + " " + i; //如果產生的隨機數比10打的話,那么加上空格顯示,即數字和數字之間有個空格
}
//以上循環(huán)循環(huán)七次,以保證能出現7個隨機數
}
tf.setText(s); //將產生的隨機數全部顯示在文本域上,用文本域對象tf調用它的設置文本的方法setText(String)實現。
}
//以下為線程延遲
try{
Thread.sleep(10); //線程類同步方法sleep,睡眠方法,括號里的單位為ms。
}catch(java.lang.InterruptedException e){
e.printStackTrace(); //異常捕獲,不用多說。
}
}
}
//以下是上面設置的事件監(jiān)聽的具體處理辦法,即監(jiān)聽時間處理方法,自動調用
public void actionPerformed(ActionEvent e){ //傳入一個動作事件的參數e
String s = e.getActionCommand(); //設置字符串s來存儲獲得動作監(jiān)聽,上面的start
/*
以下這個條件語句塊的作用為:用戶點擊開始后(捕獲start,用方法getActionCommand()),將命令觸發(fā)設置為true,從而執(zhí)行上面的go方法中的循環(huán)體(因為循環(huán)體中要求isGo參數為true,而初始為false)。
執(zhí)行循環(huán)快產生隨機數,并將開始按鈕不可編輯化,而用戶只可以使用停止按鈕去停止。如果用戶按下停止時,也就是沒有傳入參數“start”的時候,
執(zhí)行else語句塊中的語句,isGo設置為false,將不執(zhí)行上面go中的循環(huán)語句塊,從而停止產生隨機數,并顯示,并且把開始按鈕設置為可用,而把
停止按鈕設置為不可用,等待用戶按下開始再去開始新一輪循環(huán)產生隨機數。
*/
if(s.equals("start")){ //如果捕獲到start,也就是用戶觸發(fā)了動作監(jiān)聽器,那么下面處理
isGo = true; //設置isGo為true
b1.setEnabled(false); //將開始按鈕設置為不可用
b2.setEnabled(true); //將停止按鈕設置為可用
}else{
isGo = false; //將isGo設置為false,isGo為循環(huán)標志位
b2.setEnabled(false); //設置停止按鈕為不可用(注意看是b2,b2是停止按鈕)
b1.setEnabled(true); //設置開始按鈕為可用
}
}
public static void main(String[] args){
new GoodLucky(); //產生類的實例,執(zhí)行方法
}
}
圣誕平安夜了,祝朋友開心快樂!
標題名稱:java代碼可執(zhí)行注釋 java語言中可用的注釋符
路徑分享:http://vcdvsql.cn/article46/dosdjhg.html
成都網站建設公司_創(chuàng)新互聯,為您提供電子商務、建站公司、云服務器、微信小程序、手機網站建設、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯