Java入门篇(二)

您所在的位置:网站首页 java且用啥表示 Java入门篇(二)

Java入门篇(二)

#Java入门篇(二)| 来源: 网络整理| 查看: 265

  本篇我们开始进入Java的学习,首先在学习如何编写Java语言前要先了解Java程序的基本结构。

一、Java程序的基本结构

  一个Java程序的基本结构大体可以分为包、类、main()主方法、标识符、关键字、语句和注释等,如下:

1 package hello; // 定义包 2 3 public class Structure { // 创建类 4 5 static int num = 1; // 定义类的成员变量 6 7 public static void main(String[] args) { // 定义主方法 8 9 String str = "http://www.cnblogs.com/adamjwh/"; // 定义局部变量 10 11 System.out.println(num); // 输出成员变量的值 12 13 System.out.println(str); // 输出局部变量的值 14 15 } 16 17 }

  我们来逐一分析一下每一条语句,过多的概念我就不详述了,只说最基本的。

  第一条语句“package hello;”定义了Java程序中类所在的包是hello,hello是一个标识符,由程序员自己定义,package是关键字。注意:标识符和关键字区分大小写。

  第二条语句“public class Structure”用于创建一个名为Structure的类,类名由程序员自己定义,其中public及class是关键字,关于public和static的用法会在后续篇章中提到。

  第三条语句“static int num = 1;”定义了类的成员变量,static和int都是关键字,而num是一个标识符,由程序员自己定义。

  第四条语句“public static void main(String[] args)”是类的主方法,Java程序从这里开始执行,除了可以将“String[] args”改为“String args[]”外,不可改变本条语句的任何部分。

  第五条语句“String str = "http://www.cnblogs.com/adamjwh”是在主方法中定义了一个局部变量,String是一个类,用于创建字符串对象(说简单点就是说,如果你想创建一条字符串,就使用String类),str是局部变量的名称,为程序员自己定义的一个标识符,而后面引号中的网址是局部变量str的值,“=”为赋值运算符。

  第六条语句“System.out.println(num);”是输出语句,这是输出语句的固定写法,注意区分大小写,输出换行为println,不换行为print。

  第七条语句同样为输出语句,执行将输出str的值,即http://www.cnblogs.com/adamjwh。

二、标识符和关键字

  那么说了这么多是不是觉得好复杂啊,标识符、关键字都是什么。其实标识符可以简单理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

  例如,定义一个变量i并赋值为100,那么我们可以写出如下代码: int i = 100; 

  这就是一个典型的赋值语句,其中int是定义一个整型数,i就是标识符,由程序员自己起名,但有一定的规则,简单点来说就是由字母、数字、下划线和美元符号组成,第一个字符不能为数字,并且区分大小写,不能为关键字或保留字。

  我们可以举几个例子看看,合法标识符如name、user、_u8080、tc_bvt等等,非法标识符如5work、7fix等等。

  上面提到的关键字和保留字,是Java语言中已经被赋予特定意义的一组单词,不可作为标识符使用,比如上面代码中的int就是关键字,至于java的关键字有哪些我就不过多的描述了,毕竟网上有很多很详细的介绍,我们还是主要从代码入手。

 三、基本数据类型

  了解了上面的Java程序的基本结构后是不是对Java有一定的感觉了呢,那么编写程序肯定要用到许许多多数据,那Java中的数据又是如何分类及编写的呢?

  在Java中有8种数据类型,其中6种是数值类型,另外两种分别是字符类型和布尔类型,如下:

1 public class Type { 2 3 /* 整数类型 */ 4 byte myByte = 45; // byte型变量,占一个字节,取值范围-128~127 5 short myShort = 100; // short型变量,也即短整型,占两个字节,取值范围-32768~32767 6 int myInt = 450; // int型变量,也即整型,占四个字节,取值范围-2147483648~2147483647 7 long myLong = 45261636L; // long型变量,也即长整型,占八个字节,取值范围-9223372036854775808~9223372036854775807 8 9 /* 浮点类型 */ 10 float myFloat = 15.621F; // 单精度浮点型,占四个字节,结尾必须加'F'或'f',如果不加自动定义为double型变量,取值范围1.4E-45~3.4028235E-38 11 double myDouble = 15.621D; // 双精度浮点型,占八个字节,结尾可以加'D'或'd',也可不加,取值范围4.9E-324~1.7976931348623157E-308 12 13 /* 字符类型 */ 14 char myChar = 'a'; // 字符类型变量,用于存储单个字符,占两个字节,需用单引号括起来 15 16 /* 布尔类型 */ 17 boolean myBoolean = true; // 布尔类型又称逻辑类型,只有true和false两个值,分别代表“真”和“假” 18 }

  当我们要定义一个变量的时候,先判断变量的数据类型,再从上方8种类型中选择合适的类型使用即可,定义方法就如上方代码,以“[数据类型] [变量名] = [值]”的形式即可,其中变量名需自起名,满足上面提到的标识符的几个条件。

  在字符类型中还有一种特殊的字符,以反斜线“\”开头,后跟一个或多个字符,具有特定的含义,叫做转义字符。

转义字符 含义 \ddd 1~3位八进制数据所表示的字符,如\456 \dxxxx 4位十六进制所表示的字符,如\0051 \' 单引号字符 \\ 反斜杠字符 \t 垂直制表符,将光标移到下一个制表符的位置 \r 回车 \n 换行 \b 退格 \f 换页

 

 

 

 

 

 

 

 

  

  转义字符一般多用于输出,比如“\n”回车换行,“\t”移到下一制表位,如果想要输出单引号、双引号、下划线等字符时,也需要用转义字符进行输出。

四、变量与常量

  刚刚我们提到了变量,接下来就说一下什么是变量和常量。在程序执行过程中,其值不能改变的称为常量,其值能改变的称为变量。变量与常量的声明都必须使用合法的标识符,所有变量与常量只有在声明之后才能使用。下面举一个声明变量的例子:

int age; // 声明int型变量 char c = 'J' // 声明char型变量并赋值

  既然叫变量那肯定是能改变的,现在我们对变量进行一下改变试试:

1 public class Variable { 2 3 public static void main(String[] args) { 4 int num = 10; // 定义一个变量num,并赋给初值10 5 System.out.println("num的初值为:"+num); // 输出当前变量num的值为10 6 7 num = 100; // 将100赋给num 8 System.out.println("num现在的值为:"+num); // 输出现在变量num的值为100 9 } 10 11 }

  上方是一段测试代码,我们首先定义一个变量,起名为num,然后对它赋一个初值10,再对这个变量赋值为100,看两次值的变化,运行结果如下所示:

  

  由此可以看出变量是在运行过程中其值可以改变。

  而常量在整个程序中只能被赋值一次,需通过final关键字进行限定,如 final double PI = 3.1415926; ,为定义一个常量,名为PI(圆周率),我们如果单独定义一个变量是“double PI = 3.1415926;”,现在定义一个常量就是在double前加一个final关键字进行限定即可。

 

  看到这里,是不是对Java的声明及定义有一些了解了呢?也许在之前大家也都见到了有些变量前有static这个关键字,它有什么用呢?这里就要说的变量的有效范围了。

  变量的有效范围是指程序代码能够访问该变量的区域,若超出变量所在区域访问变量则编译时会出现错误。可分为“成员变量”和“局部变量”。

  在类体中定义的变量被称为成员变量,成员变量在整个类中都有效,分为静态变量和实例变量两种。

class var { int x = 45; // 定义实例变量 static int y = 90; // 定义静态变量}

  其中x是实例变量,y是静态变量。如果成员变量的类型前面加上static,就被称为静态变量,静态变量的有效范围可以跨类,甚至可达到整个应用程序之内,也可用“类名.静态变量”的方式在其它类中使用(具体会在今后的篇幅中出现,想了解的可先行查阅资料)。

  而在类的方法体中定义的变量(即“{”与“}”之间的声明变量)称之为局部变量。只在当前代码块中有效,简单点来说就是只在其所定义的大括号中有效。下面举一个例子:

1 public class Val { 2 3 static int times = 3; // 定义成员变量times 4 public static void main(String[] args) { 5 int times = 4; // 定义局部变量times 6 7 System.out.println("times的值为:" + times); // 将times输出 8 System.out.println("静态变量times的值为:" + Val.times); // 输出静态变量 9 } 10 11 }

  输出结果为:

  

  从这段代码可以看出,首先在main方法外定义了一个成员变量times,并且是一个静态变量,而在main方法内又定义了一个局部变量times。这里有人就会问了,变量名不是不能相同吗?注意,这里第一个times是成员变量,作用范围是针对于整个类而言,而第二个times是局部变量,只在main方法内有效,所以两个重名并不冲突。但如果我们直接输出times,如第一个输出,输出结果为4,是局部变量起了作用,因为当局部变量与成员变量名字相同时,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。如果我们想调用成员变量,需要使用“类名.静态变量”调用,如第二个输出,类名为Val,静态变量名为times,用“Val.times”即可调用静态变量的值为3。

五、代码注释

  注释可以提高程序的可读性,注释包含的文字不会对程序产生任何影响,在Java中,代码注释主要有以下几种:

  1. 单行注释  

  “//”为单行注释标记,从“//”开始到换行为止的所有内容均被注释而被编译器忽略。

// 这是一条单行注释   2. 多行注释

  “/* */”为多行注释标记,符号“/*”与“*/”之间的所有内容均为注释内容,可以换行。

/* 注释内容1 注释内容2 ...... */

  在多行注释中可以嵌套单行注释,比如下面的用法是正确的:

/* 名称:博客园 // 时间:2018-1-20 */

  但在多行注释中不能嵌套多行注释。

  3. 文档注释

  “/** */”为文档注释标记。符号“/**”与“*/”之间的内容均为文档注释内容。当文档注释出现在任何声明之前时,会被Javadoc文档工具读取作为Javadoc文档内容。格式与多行注释相同。

1 /** 2 * name: Hello World 3 * time: 2018-1-20 4 * author: Adam 5 **/

 

  下一篇将继续介绍Java语言基础中的运算符及类型转换。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3