Java基础语言

2018-03-30作者:明日科技, 编著编辑:Solomon

很多人认为学习 Java 语言之前必须要学习 C++语言,其实并非如此,产生这 种错误的认识是因为很多人在学习 Java 语言之前都学过 C++语言。事实上,Java 语言比 C++语言更容易掌握。要掌握并熟练应用 Java 语言,就需要对 Java 语言的 基础进行充分的了解。本章对 Java 语言基础进行了比较详细的介绍,对于初学者 来说,应该对本章的各个小节进行仔细的阅读、思考,这样才能达到事半功倍的效果。


一、 Java 主类结构


Java 语言是面向对象的程序设计语言,Java 程序的基本组成单元是类,类体中又包括属性与方法两部分(本书将在以下章节中逐一介绍)。每一个应用程序都必须包含一个 main()方法,含有 main()方 法的类称为主类。下面通过程序来介绍 Java 主类结构。

        package Number; public class Frist {

        static String s1 = "你好";

        public static void main(String[] args) {

        String s2 = "Java"; System.out.println(s1); System.out.println(s2);

运行完,控制图输出如图所示:

asd.jpg

1.1  包声明

一个 Java 应用程序是由若干个类组成的。在例 3.1 中就是一个类名为 Frist 的类,语句 package Number 为声明该类所在的包,package 为包的关键字。


1.2  声明成员变量和局部变量

通常将类的属性称之为类的全局变量(成员变量),将方法中的属性称之为局部变量。全局变量声 明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。在例 3.1 中 s1 是 成员变量,s2 是局部变量。


1.3  编写主方法


main()方法是类体中的主方法。该方法从“{”号开始,至“}”号结束。public、static 和 void 分别 是 main()方法的权限修饰符、静态修饰符和返回值修饰符,Java 程序中的 main()方法必须声明为 public static void。String[] args 是一个字符串类型的数组,它是 main()方法的参数(以后章节中将作详细的介 绍)。main()方法是程序开始执行的位置。


1.4 导入 API 类库

在 Java 语言中可以通过 import 关键字导入相关的类。在 JDK 的 API 中(应用程序接口)提供了 130 多个包,如 java.awt、java.io 等。可以通过 JDK 的 API 文档来查看这些类,其中主要包括类的继承 结构、类的应用、成员变量表、构造方法表等,并对每个变量的使用目的作了详细的描述,API 文档 是程序开发人员不可或缺的工具。


二、基本数据类型


在 Java 中有 8 种基本数据类型来存储数值、字符和布尔值

基本数据类型包括 (字符型,数值型,布尔型) 

数值型包过(整数型,浮点型)


2.1  整数类型


整数类型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整型数据在

Java 程序中有 3 种表示形式,分别为十进制、八进制和十六进制。

十进制:十进制的表现形式大家都很熟悉,如120、0、-127。

八进制:如0123(转换成十进制数为83)、-0123(转换成十进制数为-83)。

十六进制:如0x25(转换成十进制数为37)、0Xb01e(转换成十进制数为45086)。

整型数据根据它所占内存大小的不同,可分为 byte、short、int 和 long 4 种类型。它们具有不同的 取值范围。


qwe.jpg


2.2  浮点类型

浮点类型表示有小数部分的数字。Java 语言中浮点类型分为单精度浮点类型(float)和双精度浮

点类型(double),它们具有不同的取值范围,如表所示。


qwe.jpg


在默认情况下小数都被看作 double 型,若使用 float 型小数,则需要在小数后面添加 F 或 f。可以 使用后缀 d 或 D 来明确表明这是一个 double 类型数据,不加“d”不会出错,但声明 float 型变量时如 果不加“f”,系统会认为变量是 double 类型而出错。下面举例介绍声明浮点类型变量的方法。


2.3  字符类型


  2.3.1  char 型

字符类型(char)用于存储单个字符,占用 16 位(两个字节)的内存空间。在定义字符型变量时, 要以单引号表示,如's'表示一个字符。而's'则表示一个字符串,虽然只有一个字符,但由于使用双引号, 它仍然表示字符串,而不是字符。

同 C 和 C++语言一样,Java 语言也可以把字符作为整数对待。由于 unicode 编码采用无符号编码, 可以存储 65536 个字符(0x0000~0xffff),所以 Java 中的字符几乎可以处理所有国家的语言文字。若想 得到一个 0~65536 之间的数所代表的 unicode 表中相应位置上的字符,也必须使用 char 型显式转换。


  2.3.2  转义字符

转义字符是一种特殊的字符变量,它以反斜线“”开头,后跟一个或多个字符。转义字符具有特 定的含义,不同于字符原有的意义,故称“转义”。例如,printf 函数的格式串中用到的“ ”就是一个 转义字符,意思是“回车换行”。

ssss.jpg

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。


2.4  布尔类型

布尔类型又称逻辑类型,通过关键字 boolean 来定义布尔类型变量,只有 true 和 false 两个值,分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。


三、变量与常量


在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量的 命名都必须使用合法的标识符。本节将向读者介绍标识符与关键字、变量与常量的命名。


3.1  标识符和关键字


  3.1.1  标识符

标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字 符序列。

Java 语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字 符不能是数字。标识符不能是 Java 中的保留关键字。

下面是合法标识符:

name

user_age

$page

下面是非法标识符

4word

String

User name

在 Java 语言中标识符中的字母是严格区分大小写的,如 good 和 Good 是不同的两个标识符。Java 语言使用 unicode 标准字符集,最多可以标识 65535 个字符,因此,Java 语言中的字母不仅包括通常的 拉丁文字 a、b、c 等,还包括汉字、日文以及其他许多语言中的文字。

  

  3.1.2  关键字

关键字是 Java 语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。3.2 节介绍的数据类型中提到的 int、boolean 等都是关键字。

wwww.jpg


3.2  声明变量


变量的使用是程序设计中一个十分重要的环节。定义变量就是要告诉编译器(compiler)这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过 程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为 变量名。变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以是没有赋 值,也可以是直接赋给初值。


编写以上程序代码,究竟会产生什么样的效果呢?要了解这 个问题,就需要对变量的内存配置有一定的认识。用图解的方式 将上例程序代码在内存中的状况表现出来,如图 3.5 所示。

由图 3.5 可知,系统的内存可大略分为 3 个区域,即系统区 (OS)、程序区(Program)和数据区(Data)。当程序执行时, 程序代码会加载到内存中的程序区,数据暂时存储在数据区中。 假设上述两个变量定义在方法体中,则程序加载到程序区中。当 执行此行程序代码时,会在数据区配置空间给出这两个变量。

对于变量的命名并不是任意的,应遵循以下几条规则:

  (1).变量名必须是一个有效的标识符。

  (2).变量名不可以使用Java中的关键字。

  (3).变量名不能重复。

  (4).应选择有意义的单词作为变量名。


在 Java 语言中允许使用汉字或其他语言文字作为变量名,如“int 年龄 = 21”,在程序运行时不会出现错误,但建议读者尽量不要使用这些语言文字作为变量名。


四、总结


本章向读者介绍的是 Java 语言基础,其中需要读者重点掌握的是 Java 语言的基本数据类型、变量 与常量以及运算符三大知识点。初学者经常会将 String 类型认为是 Java 语言的基本数据类型,在此提 醒读者 Java 语言的基本数据类型中并没有 String 类型。另外,要对数据类型之间的转换有一定的了 解。在使用变量时,需要读者注意的是变量的有效范围,否则在使用时会出现编译错误或浪费内存资 源。此外,Java 中的各种运算符也是 Java 基础中的重点,正确使用这些运算符,才能得到预期的结果。


关注微信公号“书问”免费领取万本好书



内容来源:书问

作者明日科技, 编著
出版清华大学出版社
定价59.8元
书籍比价

分享到

扫描二维码 ×

参与讨论

电子纸书

Java编程手记——从实践中学习Java

欧二强, 等编著
清华大学出版社[2013] ¥40

Java入门1·2·3——一个老鸟的Java学习心得

臧萌,编著
清华大学出版社[2010] ¥28

Java基础入门

传智播客高教产品研发部, 编著
清华大学出版社[2014] ¥31

Java编程 从基础到应用

孙宇霞
清华大学出版社[2014] ¥41

Java基础与案例开发详解

徐明华, 邱加永, 纪希禹, 编著
清华大学出版社[2014] ¥39

Java程序设计基础与应用

马月坤, 张航, 张素娟, 编著
清华大学出版社[2012] ¥22

Java SE 6.0基础及应用案例开发

李刚生, 王燚, 焦玲编著
清华大学出版社[2009] ¥19

Java面向对象编程基础教程

信必优技术学院研发部编著
清华大学出版社[2009] ¥13

C语言入门1.2.3——一个老鸟的C语言学习心得

周凌霄, 编著
清华大学出版社[2014] ¥39

C语言程序设计——零基础ACM/ICPC竞赛实战指南

王建芳, 编著
清华大学出版社[2015] ¥21

出版业领先的TMT平台

使用社交账号直接登陆

Copyright © 2018 BookAsk 书问   |   京ICP证160134号


注册书问

一键登录

Copyright © 2018 BookAsk 书问   |   京ICP证160134号