java100个经典例子-.pdf
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(arges0);iPara2=Integer.parseInt(arges1);iEnd=Integer.parseInt(arges2);/if 语句if(iPara2iPara1)System.out.println(if 条件满足!);System.out.println(第 2 个数比第1 个数大!);else System.out.println(if 条件不满足!);System.out.println(第 2 个数比第1 个数小!);/for 循环操作for(int i=0;iiEnd;i+)System.out.println(这是 for 第+i+次循环);/while 循环操作int i=0;while(iiEnd)System.out.println(这是 while 第+i+次循环);i+;/do-while 循环操作int j=0;do System.out.println(这是 do-while 第+j+次循环);j+;while(jiEnd);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;isMail.length;i+)if(sPara.indexOf(sMaili)=-1)return false;return true;/*方法说明:判断是否是数字*输入参数:String sPara。需要判断的字符串*返回类型:boolean。如果都是数字类型,返回true;否则返回false */public boolean isNumber(String sPara)int iPLength=sPara.length();for(int i=0;iiPLength;i+)char cTemp=sPara.charAt(i);boolean bTemp=false;for(int j=0;jcNum.length;j+)if(cTemp=cNumj)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;iiPLength;i+)char cTemp=sPara.charAt(i);boolean bTemp=false;for(int j=0;jcStr.length;j+)if(cTemp=cStrj)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(iMon12)return-1;/闰年二月处理if(iMon=2&chickDay(iYear)if(iDay29)return 2;else if(iDayiMonthiMon-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(tom163com);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;i4;i+)Vector vTemp=new Vector();for(int j=0;j4;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 iTemp,Object oTemp)if(iTempvTemp.size()print(数据超界!);return null;else vTemp.insertElementAt(oTemp,iTemp);return vTemp;/*方法说明:移除数据*输入参数:Vector vTemp 待删除矢量对象*输入参数:int iTemp 删除数据的位置*输出变量:Vector*其它说明:如果删除超界的数据,将返回null*/public Vector delete(Vector vTemp,int iTemp)if(iTempvTemp.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(iTempvTemp.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;ivPara.size();i+)System.out.println(vPara.elementAt(i);/*方法说明:主方法,程序入口*输入参数:String args *返回类型:无*/public static void main(String args)operateVector ov=new operateVector();Vector vTemp=ov.buildVector();ov.print(vTemp0,vTemp);Vector vResult=ov.insert(vTemp,2,添加的数据);ov.print(vResult,vResult);Vector vResultup=ov.updata(vResult,2,修改的数据);ov.print(vResultmp,vResultup);Vector vResultnow=ov.delete(vResultup,2);ov.print(vResultnow,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,satrap,manager,user,guest;String rightCodeList=10001,10011,10021,20011,24011;for(int i=0;iaccRoleList.length;i+)rightList.put(accRoleListi,rightCodeListi);/*方法说明:获取角色权限代码*输入参数: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,10110);RR.print();RR.print(_);RR.update(presider,10100);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 ;/*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 ;/*Title:标识符*Description:演示标识符对类的访问控制*Filename:*/public class classPlay public static void main(String args)classDemo1 d=new classDemo1();d.mechod1();d.mechod2();/d.mechod3();package ;import .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 类来实现自己的异常类。并使用 trycatch 来捕获这个异常。*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(),47);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,400,300);