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基础
1、注释、标识符、关键字
-
平时我们编写代码,在代码量比较少的时候,我们还可以看得懂,但是当项目结构一旦复杂起来,我们就需要用到注释了。
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
Java中的三种注释
-
单行注释 //
-
多行注释 /**/
-
文档注释 /** */
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的数据类型分为两大类
-
基本类型(primitive type)
-
数值类型
-
整数类型
-
byte占1个字节:-128~127
-
short占2个字节:-32768~32767
-
int占4个字节:-2147483648~2147483647
-
long占8个字节:-9223372036854775808~9223372036854775807
-
-
浮点类型
-
float占4个字节
-
double占8个字节
-
-
字符类型
-
char占2个字节
-
-
-
boolean类型
-
占1位其值只有true和false两个
-
-
-
引用类型(reference type)
-
类
-
接口
-
数组
-
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代码注释(所有代码)注释比较重点的也行的主要内容,如果未能解决你的问题,请参考以下文章