- UID
- 852722
|
Java基础教程(程序及语法)
/**************************************************
这是个最基本的JAVA程序,最基本的JAVA程序必须有一个类
**************************************************/
//最基本的JAVA程序必须有一个类,在这里是clas base01
class base01
{
//在JAVA中,程序的入口也为main函数
//main()函数前的限制符顺序必须为public static void,参数必须为String类型的数组
//以下写法将不被通过
public void static main(String[] args)
{
System.out.println("Hello World!");
}
}
**********************************************************
java源文件的命名规则
在同一个JAVA文件中可以定义多个类,但是只有一个类能定义为public
而且如果一个类被定义为public,这个文件的文件名必须和该public类
的名字相同。
对于本类,文件必须命名为base02
***********************************************************/
class A
{
int a;
};
class B
{
int b;
};
public class base02
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
Java基础教程(程序及语法3)
class code01
{
public static void main(String[] args)
{
//JAVA的数据类型。请注意大小写
//一个字节的整型
byte e=3;
System.out.println(e);
//两个字节的整型
short h=4;
System.out.println(h);
//四个字节的整型
int f=4;
System.out.println(f);
//八个字节的整型
long g=5;
System.out.println(g);
//4个字节的浮点数
float a=11.3f;
System.out.println(a);
//8个字节的浮点数(更加精确)
double b=12.3d;
System.out.println(b);
//两个字节的单个字符。注意定义字符的时候不能用双引号,只能用单引号
char c='s';
String ss="xiongyong";
System.out.println(c);
//bool变量,用于判断真假。注意:true和false不能大写。
boolean d=true;
System.out.println(d);
//final关键字为“常量”,意思是不能再被修改。相当于C++中的const
final int x=1;
//以下这行将被报错,因为x被定义为final,不能被修改。
x=x+1;
}
}
Java基础教程(程序及语法4)
/****************************************************************************
自动数据类型转换------强制类型转换
不同的数据类型可以进行混合运算。在运算过程中,不同数据类型必须首先转换为相同
的数据类型后才能进行运算。各种数据的转换原则是从低级向高级转换。具体如下:
char->byte->short->int->long->float->double
JAVA允许把高级类型转换为低级类型,我们通过强制类型转换实现。语法同C++。
****************************************************************************/
class code03
{
void f1()//自动类型转换
{
int nO=2;
float fO=2.25f;
//以下这行不能被正确编译,因为算出来的结果不可能是整数
//int iResult=nO*fO;
//正确
float fResult=nO*fO;
System.out.println("混合运算结果为:"+fResult);
}
void f2()//强制类型转换
{
int nO=2;
float fO=2.25f;
float iResult=(int)(5.5*fO);
System.out.println("强制类型转换结果为:"+iResult);
}
public static void main(String[] args)
{
code03 c3=new code03();
c3.f1();
c3.f2();
}
}
Java基础教程(程序及语法5)
/**************************************************************
+运算符和类型转换
+对于数字来说是求和运算。两个short类型数据相加,结果将被升级为int类型。
+对于字符串来说连接两个字符串的运算
**************************************************************/
class code04
{
void f_add_string()
{
String a="hello ";
String b="world";
//请观察输出结果,体会字符串+字符串的功能
System.out.println(" a+b= "+a+b);
}
void f_add_number()
{
short x=1,y=2,z;
int p;
//错误代码。两个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);
}
public static void main(String[] args)
{
code04 c4=new code04();
c4.f_add_string();
c4.f_add_number();
}
}
Java基础教程(程序及语法6)
/********************************************************************
JAVA允许在程序中调整数组中元素的个数
*********************************************************************/
class code06
{
public static void main(String[] args)
{
int myArray[]=new int[6];
int i;
for (i=0;i<myArray.length ;i++ )
{
myArray=i;
System.out.println(myArray);
}
//重新定义数组,注意,myArry以前的内容被重置了
myArray=new int[10];
for (i=0; i<myArray.length;i++ )
{
//重新定义数组
//myArray=i*10;
System.out.println(myArray);
}
}
}
Java基础教程(程序及语法7)
/*************************************************************************
数组
这是一个常见的“冒泡排序”的程序,用于把几个数按大小进行排序
**************************************************************************/
class code05
{
public static void main(String[] args)
{
//定义一个包含n个数的数组
int nArray[]={11,-5,100,56,321};
//JAVA是纯面向对象的语言,对于任何一个数组元素,JAVA都把它看做一个数组类型的对象,
//length是这个类的一个成员变量,它的值等于该对象中数组元素的个数。
//所以我们能通过nArray.length获得这个数组nArray里面包含元素的个数。
//对于本题,它等于5。
int size=nArray.length-1;
for (int j=0;j<size;j++)
{
for (int i=0;i<size ;i++ )
{
if (nArray>nArray[i+1])
{
int tmp=nArray;
nArray=nArray[i+1];
nArray[i+1]=tmp;
}
}
}
for (int i=0;i<nArray.length ;i++ )
{
System.out.println(nArray+" ");
}
}
}
Java基础教程(程序及语法8)
/*
* 显示1到x之间的所有素数
*/
class code12
{
//判断一个数x是不是素数
public boolean is_sushu(int x)
{
for (int i=2;i<x ;i++ )
{
if (x%i==0)
{
return false;
}
}
return true;
}
//显示1到x之间的所有素数
public void disp(int x)
{
for (int i=1;i<=x ;i++ )
{
if (is_sushu(i))
{
System.out.println(i);
}
}
}
//程序入口
public static void main(String[] args)
{
code12 c12=new code12();
c12.disp(1000);
}
}
Java基础教程(程序及语法9)
/*
* 使用简单数据类型做为参数时的函数传值方式
*
* 当参数为简单数据类型时,参数传值使用复制传值方式,也就是说作为参数传进函数的值只是传
* 进来值的一个副本
*
*/
class base03
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int j=10;
//本例中calculate函数传递的是简单数据类型参数j,所以使用复制传递方式,函数中并
//没有改变原来j的内容
calculate(j);
System.out.println("======================================");
System.out.println("执行完calculate函数后j的值为:"+j);
}
static void calculate(int j)
{
for (int i=0;i<10 ;i++ )
{
j++;
}
System.out.println("calculate函数中j的值为:"+j);
}
}
Java基础教程(程序及语法10)
/*
* 使用复杂数据类型做为参数时的函数传值方式
*
* 当参数为复杂数据类型时,参数传值使用引用传值方式,也就是说作为参数传进函数的值只是传
* 进来值的一个别名,直接效果就是函数中对参数做的修改直接就影响到原始的值
*
*/
class base04
{
public static void main(String[] args)
{
String a="hello";
System.out.println("初始阶段数组a的值为:" + a);
calculate(a);
System.out.println("调用calculate函数后,数组a的值为:" + a);
System.out.println("由此可知,在本函数中,参数是作为复杂变量的别名传进函数的,证据就是在函数中确实改变了函数外部变量a的值");
}
static void calculate(String j)
{
j="world";
System.out.println("calculate函数中参数数组j的值为:"+j);
}
}
Java基础教程(程序及语法11)
/*
*
*/
class base09
{
A a = new A();
int m = 20;
public base09()
{
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);
}
public static void main(String[] args)
{
new base09();
}
void change(A aa)
{
aa.i +=100;
}
void change(int x)
{
x+=100;
System.out.println("函数内 x = " + x);
}
class A
{
int i = 10;
};
}
Java基础教程(程序及语法12)
/* 函数的返回值
*
* return语句的作用是把一个确定的值返回给调用它的语句,这个值可以是
* 简单变量,也可以是对象。如果返回值是对象,则返回的实际上是对象的
* 地址。这个情况和参数传递相同
*/
class base05
{
//求 x*x+2(y+1)+3的函数
static float mathF1(float x,float y)
{
float z=x*x+2*++y+3;
//我们可以这样写返回值
return z;
}
static float mathF2(float x,float y)
{
//我们也可以这样写返回值(直接返回一个运算表达式的结果)
return x*x+2*++y+3;
}
public static void main(String[] args)
{
//System.out.println(a);
//我们可以这样获得返回值
float z=mathF2(4f,5f);
System.out.println("运算结果="+z);
//我们也可以这样获得返回值
System.out.println("运算结果="+mathF1(4f,5f));
}
}
Java基础教程(程序及语法13)
/*
* 函数的嵌套
*
* 函数自己调用自己叫做嵌套
*/
class base06
{
static int i=0;
//这是一种不好的嵌套,在函数体中无条件的调用了自己。导致的结果就是无限的循环
static void cout_line()
{
System.out.println("=============================");
cout_line();
}
//一种安全的嵌套,有条件的调用自己,不会导致死循环
static void cout_line2()
{
System.out.println("=============================");
i++;
if (i<10)
{
cout_line2();
}
}
public static void main(String[] args)
{
//请注释掉这个函数,因为它将导致死循环,函数永远不结束
cout_line();
cout_line2();
}
} |
|