您的当前位置:首页正文

java100个经典例子

2024-03-20 来源:步旅网


package test1;

/**

* Title: Hello Java World

* Description: 简单的Java程序,只显示一个信息。

* filename: HelloWorld.java

*/

public class HelloWorld {

public static void main(String[] args) {

System.out.println(\"Hello Java World!\");

}

}

package test2;

/**

* Title: Java语言流程演示

* Description: 演示Java中几种常用的流程控制操作

* Filename: flowDome.java

*/

public class flowDemo{

public static void main(String[] arges){

int iPara1,iPara2,iEnd;

if(arges.length!=3)

{

System.out.println(\"USE :java flowDome parameter1 parameter2 circle\");

System.out.println(\"parameter1 : 比较条件1,数字类型\");

System.out.println(\"parameter2 : 比较条件2,数字类型\");

System.out.println(\"circle :循环次数\");

System.out.println(\"ego:java flowDome 1 2 5\");

return;

}else{

iPara1 = Integer.parseInt(arges[0]);

iPara2 = Integer.parseInt(arges[1]);

iEnd = Integer.parseInt(arges[2]);

}

//if语句

if(iPara2>iPara1)

{

System.out.println(\"if 条件满足!\");

System.out.println(\"第2个数比第1个数大!\");

}

else

{

System.out.println(\"if 条件不满足!\");

System.out.println(\"第2个数比第1个数小!\");

}

//for循环操作

for(int i=0;i{

System.out.println(\"这是for 第\"+i+\"次循环\");

}

//while循环操作

int i=0;

while(i{

System.out.println(\"这是while 第\"+i+\"次循环\");

i++;

}

//do-while循环操作

int j=0;

do

{

System.out.println(\"这是do-while 第\"+j+\"次循环\");

j++;

}while(j}

}

package test3;

/**

* Title: 数组数据操作

* Description: 演示一维数组和多维数组的初始化和基本操作

* Filename: myArray.java

*/

public class myArray{

//初始化数组变量

char[] cNum = {'1','2','3','4','5','6','7','8','9','0'};

char[] cStr = {'a','b','c','d','e','f','g','h',

'i','j','k','l','m','n','o','p',

'q','r','s','t','u','v','w','x','y','z'};

int[] iMonth = {31,28,31,30,31,30,31,31,30,31,30,31};

String[] sMail = {\"@\

/**

*
方法说明:校验电子邮件

*
输入参数:String sPara 被校验的电子邮件字符

*
返回类型:boolean 如果校验的格式符合电子邮件格式返回true;否则返回false

*/

public boolean isMail(String sPara){

for(int i=0;iif(sPara.indexOf(sMail[i])==-1)

return false;

}

return true;

}

/**

*
方法说明:判断是否是数字

*
输入参数:String sPara。 需要判断的字符串

*
返回类型:boolean。如果都是数字类型,返回true;否则返回false

*/

public boolean isNumber(String sPara){

int iPLength = sPara.length();

for(int i=0;ichar cTemp = sPara.charAt(i);

boolean bTemp = false;

for(int j=0;jif(cTemp==cNum[j]){

bTemp = true;

break;

}

}

if(!bTemp) return false;

}

return true;

}

/**

*
方法说明:判断是否都是英文字符

*
输入参数:String sPara。要检查的字符

*
返回类型:boolean。如果都是字符返回true;反之为false

*/

public boolean isString(String sPara){

int iPLength = sPara.length();

for(int i=0;ichar cTemp = sPara.charAt(i);

boolean bTemp = false;

for(int j=0;jif(cTemp==cStr[j]){

bTemp = true;

break;

}

}

if(!bTemp) return false;

}

return true;

}

/**

*
方法说明:判断是否是闰年

*
输入参数:int iPara。要判断的年份

*
返回类型:boolean。如果是闰年返回true,否则返回false

*/

public boolean chickDay(int iPara){

return iPara%100==0&&iPara%4==0;

}

/**

*
方法说明:检查日期格式是否正确

*
输入参数:String sPara。要检查的日期字符

*
返回类型:int 0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确

*/

public int chickData(String sPara){

@SuppressWarnings(\"unused\")

boolean bTemp = false;

//所输入日期长度不正确

if(sPara.length()!=10) return -2;

//获取年

String sYear = sPara.substring(0,4);

//判断年是否为数字

if(!isNumber(sYear)) return -2;

//获取月份

String sMonth = sPara.substring(5,7); 2011 05 05

//判断月份是否为数字

if(!isNumber(sMonth)) return -2;

//获取日

String sDay = sPara.substring(8,10);

//判断日是否为数字

if(!isNumber(sDay)) return -2;

//将年、月、日转换为数字

int iYear = Integer.parseInt(sYear);

int iMon = Integer.parseInt(sMonth);

int iDay = Integer.parseInt(sDay);

if(iMon>12) return -1;

//闰年二月处理

if(iMon==2&&chickDay(iYear)){

if(iDay>29) return 2;

}else{

if(iDay>iMonth[iMon-1]) return -1;

}

return 0;

}

/**

*
方法说明:主方法,测试用

*
输入参数:

*
返回类型:

*/

public static void main(String[] arges){

myArray mA = new myArray();

//校验邮件地址

boolean bMail = mA.isMail(\"***********\");

System.out.println(\"1 bMail is \"+bMail);

bMail = mA.isMail(\"tom@163com\");

System.out.println(\"2 bMail is \"+bMail);

//演示是否是数字

boolean bIsNum = mA.isNumber(\"1234\");

System.out.println(\"1:bIsNum=\"+bIsNum);

bIsNum = mA.isNumber(\"123r4\");

System.out.println(\"2:bIsNum=\"+bIsNum);

//演示是否是英文字符

boolean bIsStr = mA.isString(\"wer\");

System.out.println(\"1:bIsStr=\"+bIsStr);

bIsStr = mA.isString(\"wer3\");

System.out.println(\"2:bIsStr=\"+bIsStr);

//演示检查日期

int iIsTime = mA.chickData(\"2003-12-98\");

System.out.println(\"1:iIsTime=\"+iIsTime);

iIsTime = mA.chickData(\"2003-111-08\");

System.out.println(\"2:iIsTime=\"+iIsTime);

iIsTime = mA.chickData(\"2003-10-08\");

System.out.println(\"3:iIsTime=\"+iIsTime);

iIsTime = mA.chickData(\"2000-02-30\");

System.out.println(\"4:iIsTime=\"+iIsTime);

}

}

package test4;

import java.util.*;

/**

* Title: 矢量操作<

* Description: 演示一个矢量(Vector)的基本操作

* Filename: operateVector.java

*/

public class operateVector

{

/*

*
方法说明:生成一个4*4的二维Vector,供使用。

*
输入参数:

*
输出变量:Vector

*
其它说明:

*/

public Vector buildVector(){

Vector vTemps = new Vector();

for(int i=0;i<4;i++){

Vector vTemp = new Vector();

for (int j=0;j<4;j++){

vTemp.addElement(\"Vector(\"+i+\")(\"+j+\")\");

}

vTemps.addElement(vTemp);

}

return vTemps;

}

/*

*
方法说明:插入数据

*
输入参数:Vector vTemp 待插入的数据对象

*
输入参数:int iTemp 插入数据的位置

*
输入参数:Object oTemp 插入数据值

*
输出变量:Vector 结果

*
其它说明:如果插入位置超出实例实际的位置将返回null

*/

public Vector insert(Vector vTemp,int oTemp){

if(iTemp>vTemp.size()){

print(\"数据超界!\");

return null;

}else{

vTemp.insertElementAt(oTemp,iTemp);

iTemp,Object

}

return vTemp;

}

/*

*
方法说明:移除数据

*
输入参数:Vector vTemp 待删除矢量对象

*
输入参数:int iTemp 删除数据的位置

*
输出变量:Vector

*
其它说明:如果删除超界的数据,将返回null

*/

public Vector delete(Vector vTemp,int iTemp){

if(iTemp>vTemp.size()){

print(\"数据超界!\");

return null;

}else{

vTemp.removeElementAt(iTemp);

}

return vTemp;

}

/*

*
方法说明:修改数据

*
输入参数:Vector vTemp 待修改矢量对象

*
输入参数:int iTemp 修改数据的位置

*
输入参数:Object oTemp 修改数据值

*
输出变量:Vector

*
其它说明:如果修改位置超界的数据,将返回null

*/

public Vector updata(Vector vTemp,int iTemp,Object oTemp){

if(iTemp>vTemp.size()){

print(\"数据超界!\");

return null;

}else{

vTemp.setElementAt(oTemp,iTemp);

}

return vTemp;

}

/*

*
方法说明:输出信息

*
输入参数:String sTemp 输出信息名称

*
输入参数:Object oTemp 输出信息值

*
返回变量:无

*/

public void print(String sTemp,Vector oTemp){

System.out.println(sTemp+\"数据:\");

this.print(oTemp);

}

/**

*
方法说明:打印输出(过载)

*
输入参数:Object oPara 输出的对象

*
返回类型:无

*/

public void print(Object oPara){

System.out.println(oPara);

}

/**

*
方法说明:打印输出(过载)

*
输入参数:Vector vPara 显示输出矢量对象

*
返回类型:无

*/

public void print(Vector vPara){

for(int i=0;iSystem.out.println(vPara.elementAt(i));

}

}

/**

*
方法说明:主方法,程序入口

*
输入参数:String[] args

*
返回类型:无

*/

public static void main(String[] args)

{

operateVector ov = new operateVector();

Vector vTemp = ov.buildVector();

ov.print(\"vTemp0\

Vector vResult = ov.insert(vTemp,2,\"添加的数据\");

ov.print(\"vResult\

Vector vResultup = ov.updata(vResult,2,\"修改的数据\");

ov.print(\"vResultmp\

Vector vResultnow = ov.delete(vResultup,2);

ov.print(\"vResultnow\

}

}

package test5;

import java.util.*;

/**

* Title: 哈希表操作

* Description: 这是一个权限认证的例子,使用了哈希表作为数据的存储

* Filename: RoleRight.java

*/

public class RoleRight

{

private static Hashtable rightList = new Hashtable();

/**

*
方法说明:初始化数据

*
输入参数:

*
返回类型:

*/

public void init()

{

String[] accRoleList = {\"admin\

String[] rightCodeList = {\"10001\

for(int i=0;i{

rightList.put(accRoleList[i],rightCodeList[i]);

}

}

/**

*
方法说明:获取角色权限代码

*
输入参数:String accRole 角色名称

*
返回类型:String 权限代码

*/

public String getRight(String accRole)

{

if(rightList.containsKey(accRole))

return (String)rightList.get(accRole);

else

return null;

}

/**

*
方法说明:添加角色和代码信息

*
输入参数:String accRole 角色名称

*
输入参数:String rightCode 角色权限代码

*
返回类型:void (无)

*/

public void insert(String accRole,String rightCode)

{

rightList.put(accRole,rightCode);

}

/**

*
方法说明:删除角色权限

*
输入参数:String accRole 角色名称

*
返回类型:void(无)

*/

public void delete(String accRole)

{

if(rightList.containsKey(accRole))

rightList.remove(accRole);

}

/**

*
方法说明:修改角色权限代码

*
输入参数:String accRole 角色名称

*
输入参数:String rightCode 角色权限代码

*
返回类型:void(无)

*/

public void update(String accRole,String rightCode)

{

//this.delete(accRole);

this.insert(accRole,rightCode);

}

/**

*
方法说明:打印哈希表中角色和代码对应表

*
输入参数:无

*
返回类型:无

*/

public void print()

{

Enumeration RLKey = rightList.keys();

while(RLKey.hasMoreElements())

{

String accRole = RLKey.nextElement().toString();

print(accRole+\"=\"+this.getRight(accRole));

}

}

/**

*
方法说明:打印信息(过载)

*
输入参数:Object oPara 打印的信息内容

*
返回类型:无

*/

public void print(Object oPara)

{

System.out.println(oPara);

}

/**

*
方法说明:主方法,

*
输入参数:

*
返回类型:

*/

public static void main(String[] args)

{

RoleRight RR = new RoleRight();

RR.init();

RR.print();

RR.print(\"___________________________\");

RR.insert(\"presider\

RR.print();

RR.print(\"___________________________\");

RR.update(\"presider\

RR.print();

RR.print(\"___________________________\");

RR.delete(\"presider\");

RR.print();

}

}//end:)~

package test6;

/**

* Title: 树参数

* Description: 使用继承类,柳树就是树

* Filename: osier.java

*/

class tree

{

/**

*
方法说明:树的树根

*/

public void root()

{

String sSite = \"土壤中\";

String sFunction = \"吸收养份\";

print(\"位置:\"+sSite);

print(\"功能:\"+sFunction);

}

/**

*方法说明:树的树干

*/

public void bolo()

{

String sSite = \"地面\";

String sFunction = \"传递养份\";

print(\"位置:\"+sSite);

print(\"功能:\"+sFunction);

}

/**

*方法说明:树的树枝

*/

public void branch()

{

String sSite = \"树干上\";

String sFunction = \"传递养份\";

print(\"位置:\"+sSite);

print(\"功能:\"+sFunction);

}

/**

*方法说明:树的叶子

*/

public void leaf()

{

String sSite = \"树梢\";

String sFunction = \"光合作用\";

String sColor = \"绿色\";

print(\"位置:\"+sSite);

print(\"功能:\"+sFunction);

print(\"颜色:\"+sColor);

}

/**

*方法说明:显示信息

*输入参数:Object oPara 显示的信息

*/

public void print(Object oPara)

{

System.out.println(oPara);

}

/**

*方法说明:主方法:

*/

public static void main(String[] arges)

{

tree t = new tree();

t.print(\"描述一棵树:\");

t.print(\"树根:\");

t.root();

t.print(\"树干:\");

t.bolo();

t.print(\"树枝:\");

t.branch();

t.print(\"树叶:\");

t.leaf();

}

}

/**

* Title: 柳树参数

* Description: 描述柳树的参数

*/

class osier extends tree

{

/**

*方法说明:过载树的树叶

*/

public void leaf()

{

super.leaf();

String sShape = \"长形\";

super.print(\"形状:\"+sShape);

}

/**

*方法说明:扩展树的花

*/

public void flower()

{

print(\"哈哈,柳树没有花!!\");

}

/**

*方法说明:主方法

*/

public static void main(String[] args)

{

osier o = new osier();

o.print(\"柳树树根:\");

o.root();

o.print(\"柳树树干:\");

o.bolo();

o.print(\"柳树树枝:\");

o.branch();

o.print(\"柳树树叶:\");

o.leaf();

o.print(\"柳树花:\");

o.flower();

}

}

package test7;

/**

* Title: 接口和抽象函数

* Description: 演示继承抽象函数和实现接口

* Filename: newPlay.java

*/

//接口

interface player

{

int flag = 1;

void play();//播放

void pause();//暂停

void stop();//停止

}//end :)

//抽象类

abstract class playing

{

public void display(Object oPara)

{

System.out.println(oPara);

}

abstract void winRun();

}//end :)

//继承了playing抽象类和实现类player接口

public class newPlay extends playing implements player

{

public void play()

{

display(\"newPlay.play()\");//这里只是演示,去掉了代码。

}

public void pause()

{

display(\"newPlay.pause()\");//这里只是演示,去掉了代码。

}

public void stop()

{

display(\"newPlay.stop()\");//这里只是演示,去掉了代码。

}

void winRun()

{

display(\"newPlay.winRun()\");//这里只是演示,去掉了代码。

}

public static void main(String[] args)

{

newPlay p = new newPlay();

p.play();

p.pause();

p.stop();

p.winRun();

}

}//end :)

package test8.com;

/**

* Title: 标识符

* Description: 演示标识符对类的访问控制

* Filename:

*/

public class classDemo1 {

// 公有方法

public void mechod1() {

System.out.println(\"这是一个公有的方法!任何类都可以访问。\");

}

// 授保护的方法

protected void mechod2() {

System.out.println(\"这是一个受到保护的方法!只有子类可以访问。}

// 私有的方法

private void mechod3() {

System.out.println(\"这是一个私有的方法!只有类本身才可以访问。\");

\");

}

public static void main(String[] args) {

classDemo1 d = new classDemo1();

d.mechod1();

d.mechod2();

d.mechod3();

}

}

package test8.com;

/**

* Title: 标识符

* Description: 演示标识符对类的访问控制

* Filename:

*/

public class classPlay

{

public static void main(String[] args){

classDemo1 d = new classDemo1();

d.mechod1();

d.mechod2();

//d.mechod3();

}

}

package test8.net;

import test8.com.classDemo1;

/**

* Title: 标识符

* Description: 演示标识符对类的访问控制

* Filename:

*/

public class classPlay

{

public static void main(String[] args){

classDemo1 d = new classDemo1();

d.mechod1();

//d.mechod2();

//d.mechod3();

}

}

package test9;

/**

* Title: 捕获异常和实现自己的异常

* Description: 通过继承Exception类来实现自己的异常类。并使用try-catch来捕获这个异常。

* Filename:

*/

class MyException extends Exception {

private static final long serialVersionUID = 1L;

public MyException() {

}

public MyException(String msg) {

super(msg);

}

public MyException(String msg, int x) {

super(msg);

i = x;

}

public int val() {

return i;

}

private int i;

}

public class DemoException {

/**

*方法说明:使用MyException类中默认的构造器

*/

public static void a() throws MyException {

System.out.println(\"Throwing MyException from a()\");

throw new MyException();

}

/**

*方法说明:使用MyException类中带信息的构造器

*/

public static void b() throws MyException {

System.out.println(\"Throwing MyException from b()\");

throw new MyException(\"Originated in b()\");

}

/**

*方法说明:使用了MyException中有编码的构造器

*/

public static void c() throws MyException {

System.out.println(\"Throwing MyException from c()\");

throw new MyException(\"Originated in c()\

}

public static void main(String[] args) {

try {

a();

} catch (MyException e) {

e.getMessage();

}

try {

b();

} catch (MyException e) {

e.toString();

}

try {

c();

} catch (MyException e) {

e.printStackTrace();

System.out.println(\"error code: \" + e.val());

}

}

} // end :)

package test10;

import javax.swing.*;

import java.awt.*;

/**

* Title: 创建自己的窗体

* Description:

* Filename:mainFrame.java

*/

public class mainFrame extends JFrame {

private static final long serialVersionUID = 1L;

/**

*方法说明:构造器,通过传递参数来完成窗体的绘制。

*输入参数:String sTitle 窗体标题

*输入参数:int iWidth 窗体的宽度

*输入参数:int iHeight 窗体的高度 返回类型:

*/

public mainFrame(String sTitle, int iWidth, int iHeight) {

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();// 获取屏幕尺寸

ImageIcon ii = new ImageIcon(\"middle.gif\");

setTitle(sTitle);// 设置窗体标题

setIconImage(ii.getImage());// 设置窗体的图标

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 设置但关闭窗体时退出程序

setSize(iWidth, iHeight);// 设置窗体大小

int w = getSize().width;// 获取窗体宽度

int h = getSize().height;// 获取窗体高度

System.out.println(\"窗体宽:\" + w + \" 窗体高:\" + h);

int x = (dim.width - w) / 2;

int y = (dim.height - h) / 2;

setLocation(x, y);// 将窗体移到屏幕中间

setVisible(true);// 显示窗体

}

public static void main(String[] args) {

JFrame.setDefaultLookAndFeelDecorated(true);// 使用最新的SWING外观

new mainFrame(\"main Frame Demo\

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 版权所有