Java.docx
《Java.docx》由会员分享,可在线阅读,更多相关《Java.docx(17页珍藏版)》请在冰豆网上搜索。
Java
Java基础教程(程序及语法)
/**************************************************
这是个最基本的JAVA程序,最基本的JAVA程序必须有一个类
**************************************************/
//最基本的JAVA程序必须有一个类,在这里是clasbase01
classbase01
{
//在JAVA中,程序的入口也为main函数
//main()函数前的限制符顺序必须为publicstaticvoid,参数必须为String类型的数组
//以下写法将不被通过
publicvoidstaticmain(String[]args)
{
System.out.println("HelloWorld!
");
}
}
**********************************************************
java源文件的命名规则
在同一个JAVA文件中可以定义多个类,但是只有一个类能定义为public
而且如果一个类被定义为public,这个文件的文件名必须和该public类
的名字相同。
对于本类,文件必须命名为base02
***********************************************************/
classA
{
inta;
};
classB
{
intb;
};
publicclassbase02
{
publicstaticvoidmain(String[]args)
{
System.out.println("HelloWorld!
");
}
}
Java基础教程(程序及语法3)
classcode01
{
publicstaticvoidmain(String[]args)
{
//JAVA的数据类型。
请注意大小写
//一个字节的整型
bytee=3;
System.out.println(e);
//两个字节的整型
shorth=4;
System.out.println(h);
//四个字节的整型
intf=4;
System.out.println(f);
//八个字节的整型
longg=5;
System.out.println(g);
//4个字节的浮点数
floata=11.3f;
System.out.println(a);
//8个字节的浮点数(更加精确)
doubleb=12.3d;
System.out.println(b);
//两个字节的单个字符。
注意定义字符的时候不能用双引号,只能用单引号
charc='s';
Stringss="xiongyong";
System.out.println(c);
//bool变量,用于判断真假。
注意:
true和false不能大写。
booleand=true;
System.out.println(d);
//final关键字为“常量”,意思是不能再被修改。
相当于C++中的const
finalintx=1;
//以下这行将被报错,因为x被定义为final,不能被修改。
x=x+1;
}
}
Java基础教程(程序及语法4)
/****************************************************************************
自动数据类型转换------强制类型转换
不同的数据类型可以进行混合运算。
在运算过程中,不同数据类型必须首先转换为相同
的数据类型后才能进行运算。
各种数据的转换原则是从低级向高级转换。
具体如下:
char->byte->short->int->long->float->double
JAVA允许把高级类型转换为低级类型,我们通过强制类型转换实现。
语法同C++。
****************************************************************************/
classcode03
{
voidf1()//自动类型转换
{
intnO=2;
floatfO=2.25f;
//以下这行不能被正确编译,因为算出来的结果不可能是整数
//intiResult=nO*fO;
//正确
floatfResult=nO*fO;
System.out.println("混合运算结果为:
"+fResult);
}
voidf2()//强制类型转换
{
intnO=2;
floatfO=2.25f;
floatiResult=(int)(5.5*fO);
System.out.println("强制类型转换结果为:
"+iResult);
}
publicstaticvoidmain(String[]args)
{
code03c3=newcode03();
c3.f1();
c3.f2();
}
}
Java基础教程(程序及语法5)
/**************************************************************
+运算符和类型转换
+对于数字来说是求和运算。
两个short类型数据相加,结果将被升级为int类型。
+对于字符串来说连接两个字符串的运算
**************************************************************/
classcode04
{
voidf_add_string()
{
Stringa="hello";
Stringb="world";
//请观察输出结果,体会字符串+字符串的功能
System.out.println("a+b="+a+b);
}
voidf_add_number()
{
shortx=1,y=2,z;
intp;
//错误代码。
两个short类型数据相加,结果将被升级为int类型。
而z却还是short类型
z=x+y;
//正确代码
z=(short)(x+y);
System.out.println("1+2="+z);
p=x+y;
System.out.println("1+2="+p);
}
publicstaticvoidmain(String[]args)
{
code04c4=newcode04();
c4.f_add_string();
c4.f_add_number();
}
}
Java基础教程(程序及语法6)
/********************************************************************
JAVA允许在程序中调整数组中元素的个数
*********************************************************************/
classcode06
{
publicstaticvoidmain(String[]args)
{
intmyArray[]=newint[6];
inti;
for(i=0;i{
myArray[i]=i;
System.out.println(myArray[i]);
}
//重新定义数组,注意,myArry以前的内容被重置了
myArray=newint[10];
for(i=0;i{
//重新定义数组
//myArray[i]=i*10;
System.out.println(myArray[i]);
}
}
}
Java基础教程(程序及语法7)
/*************************************************************************
数组
这是一个常见的“冒泡排序”的程序,用于把几个数按大小进行排序
**************************************************************************/
classcode05
{
publicstaticvoidmain(String[]args)
{
//定义一个包含n个数的数组
intnArray[]={11,-5,100,56,321};
//JAVA是纯面向对象的语言,对于任何一个数组元素,JAVA都把它看做一个数组类型的对象,
//length是这个类的一个成员变量,它的值等于该对象中数组元素的个数。
//所以我们能通过nArray.length获得这个数组nArray里面包含元素的个数。
//对于本题,它等于5。
intsize=nArray.length-1;
for(intj=0;j{
for(inti=0;i{
if(nArray[i]>nArray[i+1])
{
inttmp=nArray[i];
nArray[i]=nArray[i+1];
nArray[i+1]=tmp;
}
}
}
for(inti=0;i{
System.out.println(nArray[i]+"");
}
}
}
Java基础教程(程序及语法8)
/*
*显示1到x之间的所有素数
*/
classcode12
{
//判断一个数x是不是素数
publicbooleanis_sushu(intx)
{
for(inti=2;i{
if(x%i==0)
{
returnfalse;
}
}
returntrue;
}
//显示1到x之间的所有素数
publicvoiddisp(intx)
{
for(inti=1;i<=x;i++)
{
if(is_sushu(i))
{
System.out.println(i);
}
}
}
//程序入口
publicstaticvoidmain(String[]args)
{
code12c12=newcode12();
c12.disp(1000);
}
}
Java基础教程(程序及语法9)
/*
*使用简单数据类型做为参数时的函数传值方式
*
*当参数为简单数据类型时,参数传值使用复制传值方式,也就是说作为参数传进函数的值只是传
*进来值的一个副本
*
*/
classbase03
{
publicstaticvoidmain(String[]args)
{
System.out.println("HelloWorld!
");
intj=10;
//本例中calculate函数传递的是简单数据类型参数j,所以使用复制传递方式,函数中并
//没有改变原来j的内容
calculate(j);
System.out.println("======================================");
System.out.println("执行完calculate函数后j的值为:
"+j);
}
staticvoidcalculate(intj)
{
for(inti=0;i<10;i++)
{
j++;
}
System.out.println("calculate函数中j的值为:
"+j);
}
}
Java基础教程(程序及语法10)
/*
*使用复杂数据类型做为参数时的函数传值方式
*
*当参数为复杂数据类型时,参数传值使用引用传值方式,也就是说作为参数传进函数的值只是传
*进来值的一个别名,直接效果就是函数中对参数做的修改直接就影响到原始的值
*
*/
classbase04
{
publicstaticvoidmain(String[]args)
{
Stringa="hello";
System.out.println("初始阶段数组a的值为:
"+a);
calculate(a);
System.out.println("调用calculate函数后,数组a的值为:
"+a);
System.out.println("由此可知,在本函数中,参数是作为复杂变量的别名传进函数的,证据就是在函数中确实改变了函数外部变量a的值");
}
staticvoidcalculate(Stringj)
{
j="world";
System.out.println("calculate函数中参数数组j的值为:
"+j);
}
}
Java基础教程(程序及语法11)
/*
*
*/
classbase09
{
Aa=newA();
intm=20;
publicbase09()
{
System.out.println("A.i="+a.i);
System.out.println("m="+m);
System.out.println("=============================");
change(a);
change(m);
System.out.println("A.i="+a.i);
System.out.println("m="+m);
}
publicstaticvoidmain(String[]args)
{
newbase09();
}
voidchange(Aaa)
{
aa.i+=100;
}
voidchange(intx)
{
x+=100;
System.out.println("函数内x="+x);
}
classA
{
inti=10;
};
}
Java基础教程(程序及语法12)
/*函数的返回值
*
*return语句的作用是把一个确定的值返回给调用它的语句,这个值可以是
*简单变量,也可以是对象。
如果返回值是对象,则返回的实际上是对象的
*地址。
这个情况和参数传递相同
*/
classbase05
{
//求x*x+2(y+1)+3的函数
staticfloatmathF1(floatx,floaty)
{
floatz=x*x+2*++y+3;
//我们可以这样写返回值
returnz;
}
staticfloatmathF2(floatx,floaty)
{
//我们也可以这样写返回值(直接返回一个运算表达式的结果)
returnx*x+2*++y+3;
}
publicstaticvoidmain(String[]args)
{
//System.out.println(a);
//我们可以这样获得返回值
floatz=mathF2(4f,5f);
System.out.println("运算结果="+z);
//我们也可以这样获得返回值
System.out.println("运算结果="+mathF1(4f,5f));
}
}
Java基础教程(程序及语法13)
/*
*函数的嵌套
*
*函数自己调用自己叫做嵌套
*/
classbase06
{
staticinti=0;
//这是一种不好的嵌套,在函数体中无条件的调用了自己。
导致的结果就是无限的循环
staticvoidcout_line()
{
System.out.println("=============================");
cout_line();
}
//一种安全的嵌套,有条件的调用自己,不会导致死循环
staticvoidcout_line2()
{
System.out.println("=============================");
i++;
if(i<10)
{
cout_line2();
}
}
publicstaticvoidmain(String[]args)
{
//请注释掉这个函数,因为它将导致死循环,函数永远不结束
cout_line();
cout_line2();
}
}