java变量的定义和使用

 

      变量

      所有的程序都使用变量临时存储各种数据。例如,当程序运行到某个阶段时请求用户输入一个数字,则您要用一个变量存储输入数据供以后使用。

      变量必须在程序中被定义(或声明)后才能使用,您必须为每个变量确定一个具体类型。例如,您可能声明某变量为保存数字的类型,又声明另一个变量为保存人名的类型。(因为Java要求在使用变量前显式定义变量并声明变量值的类型,所以Java被称为是一个强类型的语言。有些语言则没有这些要求。一般说来,在创建大型程序时,强类型有助于减少程序错误。)

import java.awt.Graphics;

import java.awt.Color;

public class FirstApplet extends java.applet.Applet

{

    public void paint(Graphics g)

    {

        int width = 200;

        int height = 200;

        g.drawRect(0, 0, width, height);

        g.drawLine(0, 0, width, height);

        g.drawLine(width, 0, 0, height);

    }

}

这个程序中我们声明了两个名为widthheight的变量。我们将其类型声明为int。一个int型的变量可以保存一个整数(如123等)。我们将两个变量都初始化为200。我们也完全可以这样写:

        int width;
        width = 200;
        int height;
        height = 200;

第一种形式只是输入起来稍快一些。

将变量赋予初值的过程称为初始化变量。一种常见的程序错误是忘记初始化变量。为重现此错误,试删除代码的初始化部分(“= 200”)然后重新编译程序观察后果。您会看到编译器将发现这个问题。顺便指出,这是编译器的一个非常好的特性。它将为您节省许多时间。

Java支持两种变量:简单(初级)变量和类。

int是简单变量的类型。这种变量可以保存一个数字,此外别无他长。您只要声明一个int变量,设置它为某个值后使用即可。另一方面,类可以包含多个成员和方法,这些方法能简化类的使用。一个易于理解的类的好例子就是Rectangle类,让我们从它开始。

我们一直使用的那个程序有一个局限:他总是假定窗口大小是200200像素。为什么我们不问问窗口您的尺寸有多大?,然后据此调整我们的矩形和对角线的大小呢?如果您回头查看Graphics 类的说明文档(java.awt.Graphics.html——那个列出了所有可用的绘图函数的文件),您会发现其中有一个叫做getClipBounds的函数。点击此函数名浏览它的完整说明。这个函数没有参数但是会返回一个Rectangle类型的值。返回的矩形包含了绘图区的宽度和高度。若在此文档页面中点击Rectangle就会被转到Rectangle类(java.awt.Graphics.html)的文档页面。查看页首的变量索引您会发现这个类包含四个名字分别为xywidthheight的变量。因此我们将要做的就是用getClipBounds得到代表画板边界的矩形,然后从这个矩形中提取宽度和高度数据,将它们保存在前一个例子中创建的widthheight变量中,如下所示:

import java.awt.Graphics;
import java.awt.Color;
import java.awt.Rectangle;

public class FirstApplet extends java.applet.Applet
{

    public void paint(Graphics g)
    {
        int width;
        int height;
        Rectangle r;

        r = g.getClipBounds();
        width = r.width - 1;
        height = r.height - 1;

        g.drawRect(0, 0, width, height);
        g.drawLine(0, 0, width, height);
        g.drawLine(width, 0, 0, height);
    }
}

当运行上面程序的时候您会发现矩形和对角线恰好充满绘图区域。而且改变窗口大小时矩形和对角线还会自动重画适应新的窗口大小。这段代码引入了五个新概念,让我看一看:

1 首先,因为我们使用了Rectangle类,所以要在程序的第三行引进 java.awt.Rectangle

2 我们在本程序中声明了三个变量:两个(widthheightint型的,一个(rRectangle 型的。

3 我们使用了getClipBounds函数获得绘图区域的大小。此函数没有参数所以我们也就不传入参数(使用“()”),但是它返回一个Rectangle。我们写下的代码“r = g.getClipBounds();”其意思是说:请将返回的矩形赋值给变量 r

4 变量rRectangle类型的,它其实包含四个变量:xywidthheight(通过阅读Rectangle类的说明文档可以知道这些变量名)。要访问它们需使用“.”(点)操作符。因此表达式“r.width”的意思就是从变量 中取出名为width的变量。这个值被保存到我们的名为width的局部变量中。在此过程中我们减去了一个1。试试不做减法会是什么结果。再试试减去五会是什么结果。

5 最后,我们在绘图函数中使用了widthheight

学到这里常常提出的一个问题就是:我们真有必要声明widthheight变量吗?答案是否定的。我们可以在绘图函数参数的位置直接输入r.width - 1。创建变量只是为了使程序更容易阅读,因此这是一个应该养成的好习惯。

Java支持多种简单变量类型。三种最常见的类型是:

· int——整型数值(123……

· float——十进制小数(如 3.14159

· char——字符值(abc……

可以用简单类型进行数学运算。Java能够识别 +(加)、-(减)、*(乘)、/(除)和几种其他的运算。这里有一个在程序中使用这些运算符的例子。假设您要计算一个半径为3米的圆球的体积。可用下面的代码完成:

float diameter = 10;
float radius;
float volume;

radius = diameter / 2.0;
volume = 4.0 / 3.0 * 3.14159 * radius * radius * radius;

第一行运算的意义是:diameter变量的值除以2.0,结果保存在radius变量中。可见“=”符号在这里的意义就是:将右侧计算的结果保存到左侧的变量之中。

你可能感兴趣的:(JAVA基础)