基于工作过程的Java程序设计 源代 码.docx
《基于工作过程的Java程序设计 源代 码.docx》由会员分享,可在线阅读,更多相关《基于工作过程的Java程序设计 源代 码.docx(91页珍藏版)》请在冰豆网上搜索。
基于工作过程的Java程序设计源代码
基于工作过程的Java程序设计
源程序
第1章简单Java程序
1.1屏幕上显示一句话的Java程序
[实例]编写程序,从屏幕输出一句话Helloworld!
。
/*文件名:
HelloWorld.java
*Copyright(C):
2009
*功能:
在屏幕输出文字"Hello,World!
"。
*/
publicclassHelloWorld{
publicstaticvoidmain(Stringarg[]){
System.out.println("Hello,World!
");
}
}
例1-1编写程序,从屏幕输出一句话Helloworld!
,Hello和world从命令行输入。
publicclassHelloWorld{
publicstaticvoidmain(Stringargs[]){
System.out.println(args[0]+""+args[1]+"!
");
}
}
1.2基本数据类型及运算
[实例]整数、浮点数、布尔数、字符数及运算。
/*文件名:
DataCalculatejava
*Copyright(C):
2009
*功能:
整数、浮点数、布尔数、字符数及运算。
*/
publicclassDataCalculate{
publicstaticvoidmain(Stringargs[]){
System.out.println(3+5);
System.out.println(3.5+5.4);
System.out.println(3>5);
System.out.println('J');
}
}
1.3把1、2、3累加到变量
[实例]1、2、3累加到变量。
/*文件名:
Sum.java
*Copyright(C):
2009
*功能:
把1、2、3分别累加到一个变量。
*/
publicclassSum{
publicstaticvoidmain(Stringargs[]){
intsum=0;
sum=sum+1;
System.out.println("sumis:
"+sum);
sum=sum+2;
System.out.println("sumis:
"+sum);
sum=sum+3;
System.out.println("sumis:
"+sum);
}
}
例1-2用Java对Human进行完整定义。
classHuman{
Stringcode;
Stringname;
intage;
Stringbirth;
voidsetCode(codevalue){
this.code=codevalue;
}
StringgetCode(){
returncode;
}
}
1.4运算符
1.4.1找6的所有因子
[实例]6的所有因子。
/*文件名:
Sum.java
*Copyright(C):
2009
*功能:
6的所有因子。
*/
publicclassFactor{
publicstaticvoidmain(Stringargs[]){
System.out.println("1:
"+(6%1));
System.out.println("2:
"+(6%2));
System.out.println("3:
"+(6%3));
System.out.println("4:
"+(6%4));
System.out.println("5:
"+(6%5));
System.out.println("6:
"+(6%6));
}
}
例1-3编写程序对int类型数4和-3进行相关的位操作。
publicclassBitwiseOperator{
publicstaticvoidmain(Stringargs[]){
inta=4;//00000000000000000000000000000100
intb=-3;//11111111111111111111111111111101
System.out.print("~a:
"+(~a));//11111111111111111111111111111011
System.out.println("\t~b:
"+(~b));//00000000000000000000000000000010
System.out.print("a&b:
"+(a&b));//00000000000000000000000000000100
System.out.print("\ta|b:
"+(a|b));//11111111111111111111111111111101
System.out.println("\ta^b:
"+(a^b));//11111111111111111111111111111001
System.out.print("a>>2:
"+(a>>2));//00000000000000000000000000000001
System.out.println("\tb>>2:
"+(b>>2));//11111111111111111111111111111111
System.out.print("a>>>2:
"+(a>>>2));//00000000000000000000000000000001
System.out.println("\tb>>>2:
"+(b>>>2));//00111111111111111111111111111111
System.out.print("a<<2:
"+(a<<2));//00000000000000000000000000010000
System.out.println("\tb<<2:
"+(b<<2));//11111111111111111111111111110100
}
}
1.4.2求6!
[实例]求6!
。
/*文件名:
Factorialof6.java
*Copyright(C):
2009
*功能:
6的阶乘。
*/
publicclassFactorialof6{
publicstaticvoidmain(Stringargs[]){
intf=1;
f*=1;
f*=2;
f*=3;
f*=4;
f*=5;
f*=6;
System.out.println("6!
是:
"+f);
}
}
1.4.3找两数中较大数
[实例]从命令行读两个数,找较大数。
/*文件名:
Ternary.java
*Copyright(C):
2009
*功能:
找最大数。
*/
publicclassTernary{
publicstaticvoidmain(Stringargs[]){
intnum1,num2;
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
System.out.println(num1>num2?
args[0]+"是最大数":
args[1]+"是最大数");
}
}
第2章查找素数
2.1分支语句
2.1.1再谈找两数中较大数
[实例]输入两个整数,输出其中最大数。
/*文件名:
Maxof2.java
*Copyright(C):
2009
*功能:
输入两个整数,输出其较大的数。
*/
publicclassMaxof2{
publicstaticvoidmain(Stringargs[]){
//定义整型变量num1,num2
intnum1,num2;
//读命令行参数args[0]和args[1],分别保存在num1和num2中
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
//判断num1和num2中的最大数,并输出
if(num1>num2)
System.out.println("Themaxnumberis:
"+num1);
else
System.out.println("Themaxnumberis:
"+num2);
}
}
2.1.2从三个数中找出最大数
[实例]输入三个数,找出其中最大数。
/*文件名:
Maxof3.java
*Copyright(C):
2009
*功能:
输入三个整数,输出其较大的数。
*/
publicclassMaxof3{
publicstaticvoidmain(Stringargs[]){
inta,b,c;
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
c=Integer.parseInt(args[2]);
if(a>b)
if(a>c)
System.out.println(a);
else
System.out.println(c);
else
if(b>c)
System.out.println(b);
else
System.out.println(c);
}
}
2.1.3判断某年某月的天数
[实例]输入某年、某月,判断该月的天数。
/*文件名:
Maxof2.java
*Copyright(C):
2009
*功能:
输入某年、某月,判断该月的天数。
*/
publicclassSwitchTest{
publicstaticvoidmain(String[]args){
intyear=Integer.parseInt(args[0]);
intmonth=Integer.parseInt(args[1]);
intnumDays=0;
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
numDays=31;
break;
case4:
case6:
case9:
case11:
numDays=30;
break;
case2:
if(((year%4==0)&&!
(year%100==0))||(year%400==0))
numDays=29;
else
numDays=28;
break;
}//switch结束
System.out.println("numberofDays="+numDays);
}//main方法结束
}//类SwitchTest结束
2.2循环语句
2.2.1判断一个正整数n是否素数
[实例]从命令行输入一个正整数,判断是否素数。
/*文件名:
Primenumber.java
*Copyright(C):
2009
*功能:
判断某正整数n是否素数。
*/
publicclassPrimenumber{
publicstaticvoidmain(Stringargs[]){
intj,n;
n=Integer.parseInt(args[0]);
j=2;
//找能被i整除的数
while((n%j)!
=0&&(jj++;
if(j==n)//没找到可以被i整除的数
System.out.print(n+"是素数");
else
System.out.print(n+"不是素数");
}
}
例2-1计算1+2+3+...100。
publicclassFordemo{
publicstaticvoidmain(Stringargs[]){
intsum=0;
for(inti=1;i<=100;i++)
sum+=i;
System.out.print("1+2+3+...100是:
"+sum);
}
}
例2-2用递归方法计算1+2+3+...100。
/*文件名:
Recursion.java
*Copyright(C):
2009
*功能:
用递归方法计算1+2+3+...100
*/
classSum{
intf(intn){
if(n==1)
return1;
else
returnf(n-1)+n;
}
}
classRecursion{
publicstaticvoidmain(Stringargs[]){
Sums=newSum();
System.out.println("1+2+3+...100是:
"+s.f(100));
}
}
2.2.2查找区间内的素数
[实例]编写程序,输出100以内的所有素数。
/*文件名:
Primenumber1.java
*Copyright(C):
2009
*功能:
输出100以内的所有素数。
*/
publicclassPrimenumber1{
publicstaticvoidmain(Stringargs[]){
inti,j;
for(i=2;i<=100;i++){
j=2;
//找能被i整除的数
while((i%j)!
=0&&(i>j))
j++;
if(j==i)//没找到可以被i整除的数
System.out.print(""+i);
}
}
}
例2-3用双重循环,找出[2,100]区间内的所有素数。
publicclassPrimenumber2{
publicstaticvoidmain(Stringargs[]){
inti,j;
for(i=2;i<=100;i++){
for(j=2;j
if((i%j)==0)
break;
}
if(j==i)
System.out.print(""+i);
}
}
}
第3章数组与字符串
3.1在10个整数中找最大数
[实例]编写程序,从命令行读入10个整数,找出其最大数并输出。
/*文件名:
Maxof10.java
*Copyright(C):
2009
*功能:
找出10个数中的最大数。
*/
publicclassMaxof10{
publicstaticvoidmain(Stringargs[]){
intarr[]=newint[10];
inti,max;
//读入10个数并保存
for(i=0;i<10;i++)
arr[i]=Integer.parseInt(args[i]);
//假设一个最大数
max=arr[0];
//找最大数
for(i=0;i<10;i++)
if(maxmax=arr[i];
//输出最大数
System.out.print("最大数是:
"+max);
}
}
例3-1利用冒泡的方法,找出一维数组中10个数的最大数。
publicclassMaxof10{
publicstaticvoidmain(Stringargs[]){
inta[]={23,2,1,43,21,7,5,40,12,28};
inttemp;
for(inti=0;i<9;i++)
if(a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
System.out.print("最大数是:
"+a[9]);
}
}
3.2建立并输出一个矩阵
[实例]建立一个矩阵并输出。
classMatrix{
main(){
定义并初始化一个二维数组;
输出二维数组远素;
}
}
/*文件名:
Matrix.java
*Copyright(C):
2009
*功能:
建立一个矩阵并输出。
*/
classMatrix{
publicstaticvoidmain(Stringargs[]){
int[][]a={{1,2,3},{4,5,6},{7,8,9}};
for(inti=0;ifor(intj=0;jSystem.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
3.3Vector实现堆栈的压入和弹出操作
[实例]用Vector实现堆栈的压入和弹出操作。
/*文件名:
VectorStack.java
*Copyright(C):
2009
*功能:
实现堆栈的压入和弹出操作。
*/
importjava.util.Vector;
classVectorStack{
staticfinalintCAPACITY=5;
Vectorv;
VectorStack(){
v=newVector();
}
voidpush(Objectobj){
v.addElement(obj);
System.out.print("PUSH:
"+obj);
}
Objectpop(){
Objectobj=v.lastElement();
if(v.size()>0){
v.removeElementAt(v.size()-1);
System.out.println("Pop:
"+obj);
}
returnobj;
}
}
例3-2用Vector的方法,构筑表达式1+2*(3+4)-6/5。
importjava.util.Vector;
publicclassVectorDemo{
publicstaticvoidmain(Stringargs[]){
Vectorv=newVector();
v.addElement("1");
v.addElement("2");
v.addElement("3");
v.addElement("4");
v.addElement("5");
v.addElement("6");
v.insertElementAt("+",1);
v.insertElementAt("*",3);
v.insertElementAt("(",4);
v.insertElementAt("+",6);
v.insertElementAt(")",8);
v.insertElementAt("-",9);
v.insertElementAt("/",11);
v.setElementAt("6",10);
v.setElementAt("5",12);
for(inti=0;i<13;i++)
System.out.print(v.get(i));
}
}
3.4字符串操作
[实例]编写程序,对字符串进行连接、截取子串、求字符串长度、子串位置操作。
/*文件名:
StringDemo.java
*Copyright(C):
2009
*功能:
字符串的常见操作。
*/
publicclassStringDemo{
publicstaticvoidmain(Stringarg[]){
Stringstr1="Hello",str2="World";
Stringstr=str1.concat(str2);
System.out.println("str1和str2的连接结果str是:
"+str);
System.out.println("str截取子串结果:
"+str.substring(5));
System.out.println("str的长度是:
"+str.length());
System.out.println("world在str中的位置是:
"+str.indexOf("World"));
}
}
例3-3编写程序,求字符在字符串中的位置。
publicclassStringMethod{
publicstaticvoidmain(Stringarg[]){
Stringstr="Hello,World!
";
intindex1=str.indexOf("o");
intindex2=str.lastIndexOf("o");
intindex3=str.indexOf("String");
System.out.println("index1是:
"+index1);
System.out.println("index2是:
"+index2);
System.out.println("index3是:
"+index3);
}
}
例3-4编写程序,用方法getChars()从一个字符串截取子串。
publicclassGetCharsDemo{
publicstaticvoidmain(Stringarg[]){
Stringstr="Hello,World!
";
charchr[]=newchar[10];
str.getChars(5,10,chr,0);
for(inti=0;iSystem.out.print(chr[i]);
}
}
第4章Java面向对象程序设计
4.1编写“人”类
[实例]编写程序,实现“人”类。
/*文件名:
Human.java
Copyright(C):
2009
*功能:
实现“人”类