Java第一课

■  第一个java程序 
class  Hello  {
}

class  Welcome  {
}

 保存为Hello.java,然后在DOS命令提示符下进行编译:

编译成功,我们可以在D:/javae/Lesson1目录下看到生成了两个类文件:Hello.class和Welcome.class。

当声明一个类为public类型时,必须将java文件的名字更改为public修饰的类名。

如果像这样:

Hello.java

class  Hello {
}

public   class  Welcome {
}


 

编译会出错:

也就是说,一个java文件中只能有一个定义为public的类。

如果我们只是定义了两个类,而没有定义属性和方法,如下程序:

public   class  Hello  {
}

class  Welcome  {
}

保存为Hello.java,然后在DOS命令提示符下进行编译,运行:

提示我们没有找到主函数main,从这里我们知道,java程序也有一个入口地址,就是main方法。

我们为Hello类加上一个主函数:

public   class  Hello  {
public static void main(String[] args) {
}

}

class  Welcome  {
}


编译运行,没有出错:

■  关于java解释器

java解释器加载的是类,而不是文件。

如果在编译Hello.java文件时:

public   class  Hello  {
public static void main(String[] args) {
}

}

class  Welcome  {
}


我们将Hello.java输入为hello.java,则编译不会出错。

运行时也没有问题。

但是,如果我们在运行时,将Hello误输入为hello,则会出错:

这里因为类名Hello没有找到,所以不能成功加载而出错。

这就验证了java解释器加载的是类,而不是文件。

下面我们编写输出字符串的java程序:

public   class  Hello  {
public static void main(String[] args) {
System.out.println(
"This is Sky2098's first line! ");
System.out.println(
"This is Sky2098's second line! ");
}

}

编译运行:

如果out对象的方法用print则不换行,结果输出为:

当然,如果用out对象的方法print输出,而且希望换行,可以加入换行符"/n",即:

System.out.print("This is Sky2098's first line!/n ");

注意:如果我们的java程序修改了,则每次执行前都需要重新编译,否则加载地是没有修改之前生成的类文件。

如果我们切换到D:/javae>目录下,再编译执行,则会出错:

执行也会出错:

如何解决这个问题呢?

我们要想在D:/javae>目录下成功执行java程序,可以设置classpath的值:

set classpath=D:/javae/Lesson1

然后再运行java程序:

运行成功。

如果我们把D:/javae/Lesson1目录下的Hello.class文件删除掉,然后再在D:/javae>目录下运行,则会出错,这是因为加载类文件失败的缘故:

如果已经将Hello.java在D:/javae/Lesson1目录下成功编译,我们设置classpath的值:

set classpath=E:/

然后再运行java程序,会出错:

这是因为,当前运行java程序是在E:/目录下搜索,虽然在D:/javae/Lesson1目录下存在Hello.class文件,但是搜索不到而失败。

这时,运行Hello.class也会出错,我们可以这样设置classpath的值:

set classpath=.

表示将目录切换到当前目录D:/java/Lesson1下。

这样就能够成功运行:

我们在当前的命令提示符窗口中设置了一个classpath,然而当重新启动一个命令提示符窗口时,原来设置的classpath就无效了。

可以通过在当前命令提示符窗口中键入:

start

则新启动的命令提示符窗口的classpath就和原来设置的相同了。

但是,当所有的命令提示符窗口都关闭后,仍然需要重新设置,这样很费时。可以这样设置classpath的值:

“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”

选中CLASSPATH再选择编辑,变量值设置为.就可以了。

注意:一定是“系统变量”的,如果选择“用户变量”,则不同的用户使用时还是需要重新设置的。

■  关于数组

一维数组

如下面程序:

public   class  MyArray
{
public static void main(String[] args){
int num[]=new int[3];
for(int i=0;i<3;i++){
num[i]
=2*i;
}

for(int i=0;i<3;i++){
System.out.println(num[i]);
}

}

}

编译执行:

数组的定义方式有两种:

◎第一种方式:

例如:

int num[]=new int[3];

或者

int num[];

num=int[3];

◎第二种方式:

例如:

int[] num=new int[3];

或者:

int[] num;

num=new int[3];

其中,我们推荐使用第二种定义方式。

当然,可以在定义数组时直接为数组赋初值,也有两种方式:

◎ 第一种初始化方式:

例如:

int[] num={1,2,3,4,5,6,7,8};

但是,如下定义并初始化的方式是错误的:

int[] num;

num={1,2,3,4,5,6,7,8};

◎ 第二种初始化方式:

例如:

int[] num=new int[]{1,2,3,4,5,6};

我们可以可以定义数组,分配空间,赋初值并访问,例如:

int[] num;

num=new int[3];

num[0]=2;

num[1]=5;

num[2]=9;

System.out.println(num[0]);

System.out.println(num[1]);

System.out.println(num[2]);

◆ 二维数组

二维数组定义,可以像一维数组一样定义,例如:

int[][]num=new int[3][4];

java中二维数组每行的列数可以不相等,这一点用起来很方便,例如:

int [] [] num=new int[3][];

num[0]=new int[3];

num[1]=new int[4];

num[2]=new int[5];

二维数组赋初值:

int [] [] num=new int[][]{{1,2,3},{4,5,6}};

也可以这样赋初值:

int [][] num={{1,2,3},{4,5,6}};

但是,如下是错误的:

int [] [] num=new int[2][]{{1,2,3},{4,5,6}};

这样也是错误的:

int [] [] num=new int[][]{1,2,3,4,5,6};

二维数组各个行所拥有的列数可以不相等:

int [] [] num=new int[][]{{1,2,3},{4,5,6,7,8},{9}};

或者:

int [][] num={{1,2,3},{4,5,6,7,8},{9}};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值