java代码注释(所有代码)注释比较重点的也行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码注释(所有代码)注释比较重点的也行相关的知识,希望对你有一定的参考价值。

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");
JPanel p = new JPanel();
p.add(b1);
p.add(b2);

b1.addActionListener(this);
b2.addActionListener(this);
b2.setEnabled(false);

this.getContentPane().add(tf,"North");
this.getContentPane().add(p,"South");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,200);
this.setLocation(300,300);
Cursor cu = new Cursor(Cursor.HAND_CURSOR);
this.setCursor(cu);
this.setVisible(true);
tf.setText("welcome you! ");
this.go();



public void go()
while(true)
if(isGo == true)
String s = "";
for(int j = 1; j <= 7;j++)
int i = (int)(Math.random() * 36) + 1;
if(i < 10)
s = s + " 0" + i;
else
s = s + " " + i;



tf.setText(s);


try
Thread.sleep(10);
catch(java.lang.InterruptedException e)
e.printStackTrace();






public void actionPerformed(ActionEvent e)
String s = e.getActionCommand();
if(s.equals("start"))
isGo = true;
b1.setEnabled(false);
b2.setEnabled(true);
else
isGo = false;
b2.setEnabled(false);
b1.setEnabled(true);




public static void main(String[] args)
new GoodLucky();

多注了些控制流程,希望我的注释能够对你有帮助:
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");//在开始按钮上设置一个动作监听 start
JPanel p = new JPanel(); //实例化一个可视化容器
//将两个按钮添加到可视化容器上面,用add方法
p.add(b1);
p.add(b2);
//在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvent e),如果要代码有更好的可读性,可用内部类实现动作
//监听处理。
b1.addActionListener(this);
b2.addActionListener(this);
//将停止按钮设置为不可编辑(即不可按的状态)
b2.setEnabled(false);

this.getContentPane().add(tf,"North"); //将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)
this.getContentPane().add(p,"South"); //将可视化容器pannel放在南边,也就是下面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置用户在此窗体上发起 "close" 时默认执行的操作,参数EXIT_ON_CLOSE是使用 System exit 方法退出应用程序。仅在应用程序中使用

this.setSize(300,200); //设置面板大小,宽和高
this.setLocation(300,300); //设置面板刚开始的出现的位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名称创建一个新的定制光标对象,参数表示手状光标类型
this.setCursor(cu); //为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型
this.setVisible(true); //将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏
tf.setText("welcome you! "); //设置面板的标题为欢迎
this.go(); //调用go方法



public void go()
while(true) //这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点击停止按钮循环才能推出,具体流程在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打的话,那么加上空格显示,即数字和数字之间有个空格

//以上循环循环七次,以保证能出现7个随机数

tf.setText(s); //将产生的随机数全部显示在文本域上,用文本域对象tf调用它的设置文本的方法setText(String)实现。


//以下为线程延迟
try
Thread.sleep(10); //线程类同步方法sleep,睡眠方法,括号里的单位为ms。
catch(java.lang.InterruptedException e)
e.printStackTrace(); //异常捕获,不用多说。






//以下是上面设置的事件监听的具体处理办法,即监听时间处理方法,自动调用
public void actionPerformed(ActionEvent e) //传入一个动作事件的参数e
String s = e.getActionCommand(); //设置字符串s来存储获得动作监听,上面的start
/*
以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。
执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,
执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把
停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。
*/
if(s.equals("start")) //如果捕获到start,也就是用户触发了动作监听器,那么下面处理
isGo = true; //设置isGo为true
b1.setEnabled(false); //将开始按钮设置为不可用
b2.setEnabled(true); //将停止按钮设置为可用
else
isGo = false; //将isGo设置为false,isGo为循环标志位
b2.setEnabled(false); //设置停止按钮为不可用(注意看是b2,b2是停止按钮)
b1.setEnabled(true); //设置开始按钮为可用




public static void main(String[] args)
new GoodLucky(); //产生类的实例,执行方法



圣诞平安夜了,祝朋友开心快乐!
参考技术A JTextField tf = new JTextField(); //生成文本框
JButton b1 = new JButton("开始"); //开始按钮
JButton b2 = new JButton("停止"); //停止按钮
boolean isGo = false; //自定义标志, false表示程序未执行

public GoodLucky()
b1.setActionCommand("start"); //为开始按钮设Action字符串为的是方便按下后知道是谁按的
JPanel p = new JPanel();// Jpanel是一个容器,里面可以放按钮文本框之类东西
p.add(b1); //把按钮放到上面的容器中
p.add(b2); //

b1.addActionListener(this); //为按钮指定监听器为本类,意思是按下后会通知本类,本类会调用actionPerformed方法以做出反应
b2.addActionListener(this); //同上
b2.setEnabled(false); //enabled后本按钮将无法点击,点击不起反应;

this.getContentPane().add(tf,"North"); //在本类(本类为一个JFrame容器)的北方安装好文本框
this.getContentPane().add(p,"South");//同上,在南方(下方)安装好Panel
这样,JFrame包含两个控件,上面是tf文本,下面是Panel面板,而Panel中又包含两个按钮

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //本界面的默认关闭方法是点击窗口右上角X按钮
this.setSize(300,200); //本界面长300高200
this.setLocation(300,300); //本界面位于屏幕 300,300位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //下面生成鼠标图形
this.setCursor(cu);
this.setVisible(true); //使鼠标可见

tf.setText("welcome you! "); //在文本框中显示welcome you!字符
this.go(); //高用go()方法



public void go()
......
//本方法每隔10毫秒循环一次 Thread.sleep(10)
//本方法只要不按下停止按钮就一直运行下去,以会看到 if(isGo == true)
//过会就会看到

//
for(int j = 1; j <= 7;j++) //产生7位字符
int i = (int)(Math.random() * 36) + 1; //每一位字符随机产生,位于1~37之间
..........

tf.setText(s); //将产生的随机数显示到文本框中



//这个方法,如果本类implements了 ActionListener接口就必须写这个方法。
//没写就会报错, 写好这个方法后,每次按下按钮就会自动运行这个方法。
//当然,前提是按钮己经设置本类为监听器,在前面有写b1.addActionListener(this);
public void actionPerformed(ActionEvent e)
//得到标识,记得前面b1.setActionCommand("start"); 现在派上用场了!
String s = e.getActionCommand();

if(s.equals("start")) //按下的是b1按钮
isGo = true;
b1.setEnabled(false); //使b1不可用,因为己开始,不能再开始
b2.setEnabled(true); //使b2可用,开始后就可以按停止了
else //否则按下的是b2停止按钮
isGo = false; //标志为停止,留意前面的循环用到它,那个循环现在可退出了
b2.setEnabled(false); //使b2不可用,因为还没开始,不用按停止
b1.setEnabled(true); //b1可用




综上所述,本程序为一个随机选数字的程序,
数字在界面上不停跳动,你一按,它就停止,然后报一个数给你,这个在电视上摇奖摇手机号码的那种会经常看到的。
参考技术B /***导入包**/
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"); //设置此按钮激发的操作事件的命令名称。
JPanel p = new JPanel(); //创建一个面板容器,用于放置组件
//添加两个按钮
p.add(b1);
p.add(b2);
//为两个按钮添加监视器
b1.addActionListener(this);
b2.addActionListener(this);
//停止按钮设置为不可编辑
b2.setEnabled(false);
//在主窗口中,添加文本框tf、面板容器P
this.getContentPane().add(tf,"North");
this.getContentPane().add(p,"South");
//设置主窗口关闭模式
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//主窗口大小
this.setSize(300,200);
//主窗口的初始位
this.setLocation(300,300);
//创建一个光标对象,设置为手型
Cursor cu = new Cursor(Cursor.HAND_CURSOR);
this.setCursor(cu);
//主窗口设置为可见
this.setVisible(true);
//tf文本框中文本先设置为 welcome you!
tf.setText("welcome you! ");
//调用go()方法
this.go();


//此方法主要是产生7位随机数,并显示到文本框中
public void go()
while(true)

if(isGo == true)
String s = "";
for(int j = 1; j <= 7;j++)
int i = (int)(Math.random() * 36) + 1;
if(i < 10)
s = s + " 0" + i;
else
s = s + " " + i;



//产生的字符串,放入到文本框中
tf.setText(s);


try
//让线程休眠10豪秒
Thread.sleep(10);
catch(java.lang.InterruptedException e)
e.printStackTrace();






//此方法是事件方法,
public void actionPerformed(ActionEvent e)
//得到事件源
String s = e.getActionCommand();
//如果是“开始”按钮
if(s.equals("start"))
//设置标记
isGo = true;
//设置“开始”按钮不可编辑
b1.setEnabled(false);
//设置“停止”按钮不可编辑
b2.setEnabled(true);
//如果是“停止”
else
//同理,同上,
isGo = false;
b2.setEnabled(false);
b1.setEnabled(true);




//main方法
public static void main(String[] args)
//创建一个别GoodLucky本身
new GoodLucky();

参考技术C 代码运行有错啊》。。 参考技术D 大家很热情。。

Java基础

Java基础

1、注释、标识符、关键字

  • 平时我们编写代码,在代码量比较少的时候,我们还可以看得懂,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  • 注释并不会被执行,是给我们写代码的人看的

  • 书写注释是一个非常好的习惯

Java中的三种注释

  1. 单行注释 //

  2. 多行注释 /**/

  3. 文档注释 /** */

public class Hello{
   publiv static void main(String[] args){
       //单行注释
       System.out.print("Hello,World");
       /*
       多行注释
       */
       //JavaDOC 文档注释 /** */
       /**
       * @Author WanG
       * @Description HelloWorld
       */
  }
}

关键字

Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

类别关键字说明
访问控制 private 私有的
  protected 受保护的
  public 公共的
  default 默认
类、方法和变量修饰符 abstract 声明抽象
  class
  extends 扩充,继承
  final 最终值,不可改变的
  implements 实现(接口)
  interface 接口
  native 本地,原生方法(非 Java 实现)
  new 新,创建
  static 静态
  strictfp 严格,精准
  synchronized 线程,同步
  transient 短暂
  volatile 易失
程序控制语句 break 跳出循环
  case 定义一个值以供 switch 选择
  continue 继续
  default 默认
  do 运行
  else 否则
  for 循环
  if 如果
  instanceof 实例
  return 返回
  switch 根据值选择执行
  while 循环
错误处理 assert 断言表达式是否为真
  catch 捕捉异常
  finally 有没有异常都执行
  throw 抛出一个异常对象
  throws 声明一个异常可能被抛出
  try 捕获异常
包相关 import 引入
  package
基本类型 boolean 布尔型
  byte 字节型
  char 字符型
  double 双精度浮点
  float 单精度浮点
  int 整型
  long 长整型
  short 短整型
变量引用 super 父类,超类
  this 本类
  void 无返回值
保留关键字 goto 是关键字,但不能使用
  const 是关键字,但不能使用
  null
     

标识符

  • 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始

  • 首字母之后可以是字母(A-Z或者a-z)、美元符($)、或者下划线(_)或数字的任何字符组合

  • 不能使用关键字作为变量名或者方法名

  • 标识符区分大小写

  • 可以使用中文命名,但是一般不建议去使用,也不建议用拼音

2、数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

Java的数据类型分为两大类

  1. 基本类型(primitive type)

    1. 数值类型

      • 整数类型

        • byte占1个字节:-128~127

        • short占2个字节:-32768~32767

        • int占4个字节:-2147483648~2147483647

        • long占8个字节:-9223372036854775808~9223372036854775807

      • 浮点类型

        • float占4个字节

        • double占8个字节

      • 字符类型

        • char占2个字节

    2. boolean类型

      • 占1位其值只有true和false两个

  2. 引用类型(reference type)

    1. 接口

    2. 数组

3、类型转换

由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

低------------------------------->高

byte,short,char->int->long->float->double

运算中,不同类型的数据先转化为同一类型,然后在运算。

强制类型转换 (类型)变量名 高到低

自动类型转换 低到高

注意

  • 不能对布尔值进行转换

  • 不能把对象类型转换为不相干的类型

  • 在把高容量转换为低容量的时候,强制转换

  • 在转换的时候可能存在内存溢出或者精度问题

4、变量、常量

变量

可以变化的量,Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中最基本的存储单元,其要素包括变量,变量类型和作用域。

注意

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型

  • 变量名必须是合法的标识符。

  • 变量声明是一条战争的语句,因此每个变量结束必须加一个分号结尾。

变量作用域

  • 类变量 需要加一个静态static

  • 实例变量 从属于对象:如果不初始化值,会输出默认值,数值为0或者0.0,布尔值默认为false,除了基本类型,其余的默认为null

  • 局部变量 必须声明和初始化值

常量

初始化后不能再改变的值,不会变动的值,值被设定后,在程序运行过程中不允许被改变。常量名一般使用大写字符。

final 常量名 = 值; final double PI = 3.14;

变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:lastName

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Car,LastName

  • 方法名:首字母小写和驼峰原则:run(),runRun()

5、运算符

Java语言支持如下运算符

  • 算数运算符 + - * / % ++ --

  • 赋值运算符 =

  • 关系运算符 > < >= <= == != instanceof

  • 逻辑运算符 && || !

  • 位运算符 & | ^ ~ >> << >>>

  • 条件运算符 ? :

  • 拓展赋值运算符 += -= *= /=

算术运算符 (++ --) 一元运算符

int a = 3;
int b = a++;
int c = ++a;
System.out.println(a);  //a = 5
System.out.println(b);  //b = 3
System.out.println(c);  //c = 5

位运算符 (二进制)

A = 0011 1100 B = 0000 1101

A & B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

A ~ B = 1111 0010

<< *2 >> /2

2<<3 16 8>>2 2

字符串连接 + 只要在运算前方是String类型 结果会转换为String

int a = 10;
int b = 20;
System.out.print("" + a + b);   //结果为1020
System.out.print(a + b + "");   //结果为30

三元运算符 条件运算符

//x ? y : z
//如果x== true,则结果为y,否则结果为z
int score = 80;
String s = score < 60 ? "不及格" : "及格";
System.out.print(s);    //输出及格

运算符优先级

优先级运算符结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、-- 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 <<、>>、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&=、|=、^=、~=、<<=、>>=、>>>= 从右向左

6、包机制、JavaDoc

包机制:

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名;

为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包,使用impot语句可完成此功能

import package1[.package2...].(classname|*);

JavaDoc:

javadoc命令是用来生成自己API文档的

  • @author 作者名

  • @version 版本号

  • @since 指明需要最早使用的jdk版本

  • @param 参数名

  • @return 返回值情况

  • @throws 异常抛出情况

以上是关于java代码注释(所有代码)注释比较重点的也行的主要内容,如果未能解决你的问题,请参考以下文章

Java代码注释

真正的开发中,java代码要如何注释?

Java基础

LaTeX 可不可以注释掉一行的某一部分

Java基础

Java基础