Java经典例子1.docx
《Java经典例子1.docx》由会员分享,可在线阅读,更多相关《Java经典例子1.docx(117页珍藏版)》请在冰点文库上搜索。
Java经典例子1
packagetest1;
/**
*Title:
HelloJavaWorld
*Description:
简单的Java程序,只显示一个信息。
*filename:
HelloWorld.java
*/
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("HelloJavaWorld!
");
}
}
viewplain
packagetest2;
/**
*Title:
Java语言流程演示
*Description:
演示Java中几种常用的流程控制操作
*Filename:
flowDome.java
*/
publicclassflowDemo{
publicstaticvoidmain(String[]arges){
intiPara1,iPara2,iEnd;
if(arges.length!
=3)
{
System.out.println("USE:
javaflowDomeparameter1parameter2circle");
System.out.println("parameter1:
比较条件1,数字类型");
System.out.println("parameter2:
比较条件2,数字类型");
System.out.println("circle:
循环次数");
System.out.println("ego:
javaflowDome125");
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(inti=0;i{
System.out.println("这是for第"+i+"次循环");
}
//while循环操作
inti=0;
while(i{
System.out.println("这是while第"+i+"次循环");
i++;
}
//do-while循环操作
intj=0;
do
{
System.out.println("这是do-while第"+j+"次循环");
j++;
}while(j}
}
viewplain
packagetest3;
/**
*Title:
数组数据操作
*Description:
演示一维数组和多维数组的初始化和基本操作
*Filename:
myArray.java
*/
publicclassmyArray{
//初始化数组变量
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={"@","."};
/**
*
方法说明:
校验电子邮件
*
输入参数:
StringsPara被校验的电子邮件字符
*
返回类型:
boolean如果校验的格式符合电子邮件格式返回true;否则返回false
*/
publicbooleanisMail(StringsPara){
for(inti=0;iif(sPara.indexOf(sMail[i])==-1)
returnfalse;
}
returntrue;
}
/**
*
方法说明:
判断是否是数字
*
输入参数:
StringsPara。
需要判断的字符串
*
返回类型:
boolean。
如果都是数字类型,返回true;否则返回false
*/
publicbooleanisNumber(StringsPara){
intiPLength=sPara.length();
for(inti=0;icharcTemp=sPara.charAt(i);
booleanbTemp=false;
for(intj=0;jif(cTemp==cNum[j]){
bTemp=true;
break;
}
}
if(!
bTemp)returnfalse;
}
returntrue;
}
/**
*
方法说明:
判断是否都是英文字符
*
输入参数:
StringsPara。
要检查的字符
*
返回类型:
boolean。
如果都是字符返回true;反之为false
*/
publicbooleanisString(StringsPara){
intiPLength=sPara.length();
for(inti=0;icharcTemp=sPara.charAt(i);
booleanbTemp=false;
for(intj=0;jif(cTemp==cStr[j]){
bTemp=true;
break;
}
}
if(!
bTemp)returnfalse;
}
returntrue;
}
/**
*
方法说明:
判断是否是闰年
*
输入参数:
intiPara。
要判断的年份
*
返回类型:
boolean。
如果是闰年返回true,否则返回false
*/
publicbooleanchickDay(intiPara){
returniPara%100==0&&iPara%4==0;
}
/**
*
方法说明:
检查日期格式是否正确
*
输入参数:
StringsPara。
要检查的日期字符
*
返回类型:
int。
0日期格式正确,-1月或这日不合要求,-2年月日格式不正确
*/
publicintchickData(StringsPara){
@SuppressWarnings("unused")
booleanbTemp=false;
//所输入日期长度不正确
if(sPara.length()!
=10)return-2;
//获取年
StringsYear=sPara.substring(0,4);
//判断年是否为数字
if(!
isNumber(sYear))return-2;
//获取月份
StringsMonth=sPara.substring(5,7);
//判断月份是否为数字
if(!
isNumber(sMonth))return-2;
//获取日
StringsDay=sPara.substring(8,10);
//判断日是否为数字
if(!
isNumber(sDay))return-2;
//将年、月、日转换为数字
intiYear=Integer.parseInt(sYear);
intiMon=Integer.parseInt(sMonth);
intiDay=Integer.parseInt(sDay);
if(iMon>12)return-1;
//闰年二月处理
if(iMon==2&&chickDay(iYear)){
if(iDay>29)return2;
}else{
if(iDay>iMonth[iMon-1])return-1;
}
return0;
}
/**
*
方法说明:
主方法,测试用
*
输入参数:
*
返回类型:
*/
publicstaticvoidmain(String[]arges){
myArraymA=newmyArray();
//校验邮件地址
booleanbMail=mA.isMail("tom@");
System.out.println("1bMailis"+bMail);
bMail=mA.isMail("tom@163com");
System.out.println("2bMailis"+bMail);
//演示是否是数字
booleanbIsNum=mA.isNumber("1234");
System.out.println("1:
bIsNum="+bIsNum);
bIsNum=mA.isNumber("123r4");
System.out.println("2:
bIsNum="+bIsNum);
//演示是否是英文字符
booleanbIsStr=mA.isString("wer");
System.out.println("1:
bIsStr="+bIsStr);
bIsStr=mA.isString("wer3");
System.out.println("2:
bIsStr="+bIsStr);
//演示检查日期
intiIsTime=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);
}
}
viewplain
packagetest4;
importjava.util.*;
/**
*Title:
矢量操作<
*Description:
演示一个矢量(Vector)的基本操作
*Filename:
operateVector.java
*/
publicclassoperateVector
{
/*
*
方法说明:
生成一个4*4的二维Vector,供使用。
*
输入参数:
*
输出变量:
Vector
*
其它说明:
*/
publicVector
Vector
for(inti=0;i<4;i++){
VectorvTemp=newVector();
for(intj=0;j<4;j++){
vTemp.addElement("Vector("+i+")("+j+")");
}
vTemps.addElement(vTemp);
}
returnvTemps;
}
/*
*
方法说明:
插入数据
*
输入参数:
VectorvTemp待插入的数据对象
*
输入参数:
intiTemp插入数据的位置
*
输入参数:
ObjectoTemp插入数据值
*
输出变量:
Vector结果
*
其它说明:
如果插入位置超出实例实际的位置将返回null
*/
publicVectorinsert(VectorvTemp,intiTemp,ObjectoTemp){
if(iTemp>vTemp.size()){
print("数据超界!
");
returnnull;
}else{
vTemp.insertElementAt(oTemp,iTemp);
}
returnvTemp;
}
/*
*
方法说明:
移除数据
*
输入参数:
VectorvTemp待删除矢量对象
*
输入参数:
intiTemp删除数据的位置
*
输出变量:
Vector
*
其它说明:
如果删除超界的数据,将返回null
*/
publicVectordelete(VectorvTemp,intiTemp){
if(iTemp>vTemp.size()){
print("数据超界!
");
returnnull;
}else{
vTemp.removeElementAt(iTemp);
}
returnvTemp;
}
/*
*
方法说明:
修改数据
*
输入参数:
VectorvTemp待修改矢量对象
*
输入参数:
intiTemp修改数据的位置
*
输入参数:
ObjectoTemp修改数据值
*
输出变量:
Vector
*
其它说明:
如果修改位置超界的数据,将返回null
*/
publicVectorupdata(VectorvTemp,intiTemp,ObjectoTemp){
if(iTemp>vTemp.size()){
print("数据超界!
");
returnnull;
}else{
vTemp.setElementAt(oTemp,iTemp);
}
returnvTemp;
}
/*
*
方法说明:
输出信息
*
输入参数:
StringsTemp输出信息名称
*
输入参数:
ObjectoTemp输出信息值
*
返回变量:
无
*/
publicvoidprint(StringsTemp,VectoroTemp){
System.out.println(sTemp+"数据:
");
this.print(oTemp);
}
/**
*
方法说明:
打印输出(过载)
*
输入参数:
ObjectoPara输出的对象
*
返回类型:
无
*/
publicvoidprint(ObjectoPara){
System.out.println(oPara);
}
/**
*
方法说明:
打印输出(过载)
*
输入参数:
VectorvPara显示输出矢量对象
*
返回类型:
无
*/
publicvoidprint(VectorvPara){
for(inti=0;iSystem.out.println(vPara.elementAt(i));
}
}
/**
*
方法说明:
主方法,程序入口
*
输入参数:
String[]args
*
返回类型:
无
*/
publicstaticvoidmain(String[]args)
{
operateVectorov=newoperateVector();
VectorvTemp=ov.buildVector();
ov.print("vTemp0",vTemp);
VectorvResult=ov.insert(vTemp,2,"添加的数据");
ov.print("vResult",vResult);
VectorvResultup=ov.updata(vResult,2,"修改的数据");
ov.print("vResultmp",vResultup);
VectorvResultnow=ov.delete(vResultup,2);
ov.print("vResultnow",vResultnow);
}
}
viewplain
packagetest5;
importjava.util.*;
/**
*Title:
哈希表操作
*Description:
这是一个权限认证的例子,使用了哈希表作为数据的存储
*Filename:
RoleRight.java
*/
publicclassRoleRight
{
privatestaticHashtablerightList=newHashtable();
/**
*
方法说明:
初始化数据
*
输入参数:
*
返回类型:
*/
publicvoidinit()
{
String[]accRoleList={"admin","satrap","manager","user","guest"};
String[]rightCodeList={"10001","10011","10021","20011","24011"};
for(inti=0;i{
rightList.put(accRoleList[i],rightCodeList[i]);
}
}
/**
*
方法说明:
获取角色权限代码
*
输入参数:
StringaccRole角色名称
*
返回类型:
String权限代码
*/
publicStringgetRight(StringaccRole)
{
if(rightList.containsKey(accRole))
return(String)rightList.get(accRole);
else
returnnull;
}
/**
*
方法说明:
添加角色和代码信息
*
输入参数:
StringaccRole角色名称
*
输入参数:
StringrightCode角色权限代码
*
返回类型:
void(无)
*/
publicvoidinsert(StringaccRole,StringrightCode)
{
rightList.put(accRole,rightCode);
}
/**
*
方法说明:
删除角色权限
*
输入参数:
StringaccRole角色名称
*
返回类型:
void(无)
*/
publicvoiddelete(StringaccRole)
{
if(rightList.containsKey(accRole))
rightList.remove(accRole);
}
/**
*
方法说明:
修改角色权限代码
*
输入参数:
StringaccRole角色名称
*
输入参数:
StringrightCode角色权限代码
*
返回类型:
void(无)
*/
publicvoidupdate(StringaccRole,StringrightCode)
{
//this.delete(accRole);
this.insert(accRole,rightCode);
}
/**
*
方法说明:
打印哈希表中角色和代码对应表
*
输入参数:
无
*
返回类型:
无
*/
publicvoidprint()
{
EnumerationRLKey=rightList.keys();
while(RLKey.hasMoreElements())
{
StringaccRole=RLKey.nextElement().toString();
print(accRole+"="+this.getRight(accRole));
}
}
/**
*
方法说明:
打印信息(过载)
*
输入参数:
ObjectoPara打印的信息内容
*
返回类型:
无
*/
publicvoidprint(ObjectoPara)
{
System.out.println(oPara);
}
/**
*
方法说明:
主方法,
*
输入参数:
*
返回类型:
*/
publ