Java回顾:认识程序结构和变量

大家好,我叫答嗔,从今天起将开启java系列的文章,大家喜欢的话,可以订阅关注哦。

1、一个简单的Java应用程序

下面我们来看一段简单的java应用程序,它只发送一条消息到控制台窗口中。

FirstSimple:

package book.chapter1;

public class FirstSimple {
	public static void main(String[] args) {
		System.out.println("hello world");
	}
}

这个程序虽然简单,但所有的java应用程序都具有这种结构,还是得花时间研究一下,首先java对大小写敏感,比如将main改成大写Main,那么程序将无法运行。

下面逐行解释一下这段代码:

关键字packge表示这段代码将被编译到那个文件下,这里将被编译到book/chaper1目录下,我们可以在工作台的相关项目的bin目录下找到这段代码的编译文件

关键字pakage后面紧跟着编译文件的存放目录。关键字public称为访问修饰符,用于控制其他程序其他部分对这段代码的访问级别。关键字class表明java程序的全部内容都表示在一个类中,这里只需要理解为加载应用程序逻辑的容器,程序逻辑定义了应用程序的行为。class关键字之后紧跟着类的命名,java的类命名规范很宽松,名字必须要以字母开头,后面可以紧跟字母和数字的组合,长度基本没有限制,但是不能以java保留字命名如(class,public)等,package、public、class等属于java保留字。

如果已经正确的命名了这个源文件,且源文件中没有任何录入错误,那么在编译源文件后将得到一个包含这个类的字节码文件,即FirstSimple.class文件,表示你写的代码通过了编译,通过了编译的代码才可以运行。

这段代码运行后控制台上将显示hello world字样,当运行代码时,java虚拟机将从指定类中的main方法开始执行逻辑程序,因此,为了保证应用程序能够运行,类中必须添加一个main方法,其他逻辑封装在其他方法中,并在main方法中调用其他方法。

这段代码中还需要注意的是花括号{},在Java程序中,用花括号{}划分应用程序的各个部分,通常称为块,java中任何方法的代码都用{表示开始,用}表示结束。

我们暂时不去理睬static void关键字,而仅把它当做应用程序必要的部分就行了,现在记住每个类都需要有一个main方法。另外,代码中还有一个;值得注意,它表示一个java语句的结束。这段代码中System.out.println("hello world")表示一个可执行的语句。

程序运行效果:

我们了解了代码的基本结构,是时候关注变量了。

2、变量

认识变量前,我们先来看看数据的概念。
数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
它不仅指狭义上的数字,还可以是具有一定意义的文字、字母、数字符号的组合、图形、图像、视频、音频等,也是客观事物的属性、数量、位置及其相互关系的抽象表示。例如,“0、1、2…”、“阴、雨、下降、气温”、“学生的档案记录、货物的运输情况”等都是数据。

在计算机系统中,数据以二进制信息单元0、1的形式表示。

那么变量和数据是什么关系呢?变量是数据的一个字典,这个字典包含了数据的类型、名称甚至访问级别和状态等信息。如果没有这个字典,我们根本不知道这个数据表示什么,怎么识别,如何获取等,因此它就像字典一样,可以告诉我们某个字有几画、什么拼音、在哪里等。在代码中,它可以告诉我们这个数据的名称和类型等。

下面来看一段代码:

VariableTest:

package book.chapter1;

public class VerableTest {
    public static void main(String[] args) {
        int i=10;
        int j=20;
        int k;
        k = i+j;
        System.out.println(k);
    }
}


这段代码共5个语句,我们来分析一下这几个语句。


int是一个java的保留字,表示一种数据类型,它叫整型类型,后面紧跟数据的名称,这样名称和类型构成了一个数据的字典即变量,现在如果这个变量没有数据那么使用的是

int k;
如果这个变量有数据那么使用的是

int i=10;
int j=20;
最后,对这个两个数据进行相加

k = i+j;    
将计算的结果保存在变量k中,然后输出到控制台


这是一个计算两个数的和的逻辑代码

运行结果如下

这里我们了解了变量和数据的关系,我们进一步对变量做出讲述。

如前所述,数据需要变量作为字典,这个字典必须满足一定的规范,这样才能方便程序识别,

在java代码中,局部变量(方法中的变量)使用类型+名称来声明,如VariableTest中

int i=10;
它表示将整型数据10存储在变量i中,这个过程叫做变量的初始化。

变量的类型和名称都没有一个准确的标准,只是变量的名称和类的名称一样,都只能以字母开头,然后跟上字母和数字的组合。

为了提高代码质量,变量的声明规范可以参考以下限制:

1.具有某种意义的声明

这种声明必须对数据的名称做出合理的命名,如圆周率,我们可以使用pi来命名,长度可以使用length来命名。

2.当存在同种类型的数据使用,可以使用名称加下标的方式

这种情况比较常见,如计算两个数的和,可以使用num1和num2,其中num表示number的缩写。

3.当变量表示下标索引时

这种情况在遍历数组是经常使用,用小写英文字母表示如:i,j,k等

改写的计算两个数之和的代码如下

package book.chapter1;

public class VerableTest {
    public static void main(String[] args) {
        int num1=10;
        int num2=20;
        int sum;
        sum = num1+num2;
        System.out.println(sum);
    }
}


程序的运行结果是等价的,因为初始化数据是一样的,只是改变了数据的字典


值得注意的是这段代码中的“=”,它是一种运算符,表示赋值,使用


int sum;
声明sum变量时,sum变量中并没有数据,需要对sum变量进行赋值,它的值为两个数的和,即

sum = num1+num2;
如果sum没有被赋值,那么代码是不能运行的

代码会有明显的报错,叫做

java.lang.Error: Unresolved compilation problem: 
The local variable sum may not have been initialized

也就是变量sum没有被初始化错误。


所以,变量可以在声明时不被初始化,但是一定要在后面的逻辑中被赋值。


java对于一些特殊的数据,如圆周率、自然底数等亘古不变的数据可以做特殊声明,这类数据只能被赋值一次,并且在接下来的代码中使用这种数据时不允许被修改,这种数据叫做常量。

来看下面的一段代码:

ConstantsTest

package book.chapter1;

public class ConstantsTest {
    public static void main(String[] args) {
        final double PI = 3.1415926;
        
        System.out.println(PI);
    }
}

这段代码虽然简单,但它新增加了一个final关键字和一个double关键字,final关键字表示这个变量只能被赋值一次,double是一个新的数据类型,它叫双精度浮点型类型,是一种基本数据类型。

原则上,常量也是一种变量,因此它的命名规则和变量的命名规则一样,都是不能以数字开头,必须以字母开头然后紧跟子母和数字的组合。

为了提高代码质量,经常将常量的声明规范作以下限制:

1.常量通常在类的成员中作声明

由于常量只允许被赋值一次,因此声明在类中更合理

2.常量名通常采用大写+“_”的组合使用

常量名一般为大写,如P圆周率有一个精度的问题,对于不同的精度可以用相应的单词表示,如:PI_SIMPLE

表示简单的圆周率

规范的ConstantsTest

package book.chapter1;

public class ConstantsTest {
    public static final double PI_SIMPLE = 3.1415926;
    
    public static void main(String[] args) {
        System.out.println(ConstantsTest.PI_SIMPLE);
    }
}


这段代码中PI_SIMPLE作为类ConstantsTest的一个静态成员被初始化


然后再main方法中使用了这个常量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值