Java程序设计基础 课件 第2章 Java语言基础_第1页
Java程序设计基础 课件 第2章 Java语言基础_第2页
Java程序设计基础 课件 第2章 Java语言基础_第3页
Java程序设计基础 课件 第2章 Java语言基础_第4页
Java程序设计基础 课件 第2章 Java语言基础_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章Java语言基础2.1Java标识符与关键字2.2Java数据类型2.3Java运算符2.4Java数据类型转换2.5Java的标准输入/输出语句本章小结

2.1Java标识符与关键字2.1.1Java标识符标识符即在程序中给类、函数、变量等取的名字,它是能被编译器识别而在程序中不会冲突的名字。标识符的定义需要遵守以下规则:(1)标识符是由字母、“_”、“$”和数字组成的。(2)标识符以字母、“_”、“$”开头。(3)标识符不能与关键字同名。(4)标识符区分大小写,如student和Student是不同的标识符。

2.1.2Java关键字

关键字即Java语言本身提供的一种特殊的标识符,又称Java保留字,是被Java已经使用了的名字,在编程时不能使用这些名字。

Java语言的关键字有50个,如表2-1所示。

2.2Java数据类型

Java基本数据类型源于C语言,与C语言有相同之处,同时也有很多差别。Java共有八种基本数据类型,如表2-2所示。

2.2.1整数类型

★与C语言的比较:

(1) Java的整数类型有四种,即byte、short、int、long,各类型在内存中分别占1、2、4、8个字节;C语言只有short、int和long三种。

(2) Java的各种整数类型均可保存正整数、负整数和0。不同于C语言有unsigned的无符号的整数类型,Java的整数都是有正、负数的,在Java中不能写成“unsignedinta=5;”的形式。

程序结果:

2.2.2字符类型

★与C语言的比较:

(1) C语言的char类型,占1字节,采用ASCII编码方式,存放的字符个数为256个,不能存放中文字符;而Java的char类型,占2字节,采用的是Unicode编码,兼容ASCII码,并可以保存中文字符集。

(2) C语言的一个转义字符如'\xhh',其单引号中以“\x”开头,后面接1~2位的十六进制数,而在Java中则不可用C语言的这种形式“charc='\x61';”,应改成“charc5='\u0061';”的形式,以“\u”开头,后面接1~4位的十六进制数。

程序结果:

Java中的转义字符基本和C语言的相同,如表2-3所示。

2.2.3小数类型

小数类型(浮点类型)分为float单精度和double双精度两种。float类型保留8位有效数字的小数,在内存中分配4个字节;double类型保留16位有效数字的小数,在内存中分配8个字节。Java和C语言一样都是近似地表示小数,精度越高越接近小数字面值,所以一般对于小数处理大多使用double类型。

程序结果:

2.2.4布尔类型

★与C语言的比较:

(1) C语言中没有布尔类型变量,使用0和非0来代表逻辑假和逻辑真,所以任何合法的表达式都可以作为条件来使用。比如if(a+b)是合法的:如果a+b的值等于0,则条件为假,如果a+b的值为非0,则条件为真。

(2) Java可以定义布尔变量来保存true、false,即“booleanb=true;”,并且不允许使用数字来代表逻辑真或逻辑假,如if(a+b)就是非法的,必须写成if(a+b!=0),作为if的条件只能是boolean变量、条件表达式或逻辑表达式。

2.2.5引用变量

Java的变量主要分为两类:基本数据类型变量和引用变量。基本数据类型在上面几节已经做了说明,Java定义的变量除了基本数据类型之外,其它的都可以称为引用变量,例如Java预定义类变量、数组类型变量、用户自定义类变量等等。

例如:基本数据类型变量如“inta;”“charc;”“doubled;”“booleanb;”等,引用变量如“Strings;”“int[]a;”“Students;”“Animalan;”等。

★与C语言的比较:

(1) C语言中有个很重要的概念——指针,由指针带来的各种运算和操作使得C语言的程序灵活,效率高,但同时也会让程序变得复杂,可读性降低,容易出错。

(2) Java中没有了指针这个概念,舍弃了指针的相关运算和操作,程序变得简洁易读,安全可靠。

Java的引用变量源于C语言的指针变量,同样是保存内存地址,都是通过地址完成对内存数据的操作,但是二者之间有一定区别:

(1)变量长度:C语言的指针变量用于保存内存地址编号,长度为int的4个字节;Java引用变量也用于保存内存地址,但Java封装了地址,可以转换成字符串查看,不必考虑其长度。

(2)初始值:Java引用变量的初始值为Java的关键字null,表示该指针变量为空;C语言的指针变量是int,如不初始化指针,那它的值就是不固定的,没有初始化就进行指针操作是很危险的。

(3)计算:Java引用变量不可以进行内存地址的计算,使用更加安全可靠;C语言的指针变量是int,可以计算,如++、--以及地址变化等,使用较为灵活,但也容易出问题。

(4)内存溢出:Java引用变量的使用权限比较小,不容易产生内存溢出;C语言的指针变量是容易产生内存溢出的,所以程序员要小心使用,及时回收。

2.3Java运算符

Java的运算符来源于C语言,和C语言的运算符大体相同,略有区别。Java的运算符如表2-4所示。

★与C语言的比较:

(1)Java取消了C语言的sizeof()运算符。sizeof()用于求括号中的内容在内存中所占字节数。

(2) Java新增了一个instanceof的运算,一般形式为

对象名instanceof类名;

用以判断左边的对象是否是右边类的实例,运算返回true或false。

(3)Java的关系运算和逻辑运算的结果为boolean,即逻辑真或逻辑假,而C语言的关系运算或逻辑运算得到的结果是用整数1和0代表真和假。

2.4Java数据类型转换

2.4.1自动类型转换Java中的自动类型转换与C语言中的类似,系统支持某个基本数据类型直接赋值给另外一种数据类型,即称为自动类型转换。Java的自动类型转换按照图2-1所示,当有两种不同数据类型运算时,左边的数据类型将会自动向右边的数据类型转换,然后进行运算。

图2-1基本数据类型自动转换

程序结果:

2.4.2强制类型转换

可以使用强制类型转换运算符即(类型名)来强制进行类型转换,以便进行同类型数据运算,但是要注意Java对类型要求较为严格,进行强制类型转换时一定要考虑是否可以转换,一旦转换失败就会导致程序异常终止。

程序结果:

程序分析:

(1)在语句“inta1=349;”中,a1是int类型,在内存中占4个字节32bit,二进制表示形式为101011101,左边补0补足32bit;将a1强制类型转换为byte类型赋值给b1,b1在内存中只占1个字节8bit,所以a1左边的24bit被丢掉了,剩下后面8个bit(01011101),转换为十进制为93,如图2-2所示。

(2)在语句“inta2=477;”中,二进制形式为(111011101)2,进行强制类型转换(byteb2=(byte)a2;),取低位的8bit赋值给b2,即(11011101)2,最高位为1,所以b2为负数,按照补码的规则,11011101减1取反得到00100011→-35,如图2-2所示。

(3) a3是小数97.153,(int)a3强制转换为整数则丢掉小数部分得到97;(char)a3强制转换为char类型,先丢掉小数部分得到int的97,再强制转换为char,得到字符'a'。

图2-2基本数据类型强制转换

2.5Java的标准输入/输出语句

2.5.1Java标准输出语句Java标准输出指的是将程序中的数据输出到显示器。在JCreatorIDE中进行操作指的是将数据输出到JCreator软件的控制台(console),该输出操作使用函数System.out.println()来完成。

程序结果:

程序结果:

2.5.2Java标准输入语句

Java标准输入指的是从键盘将数据输入到程序中。Java中用System.out来表示标准输出设备,如显示器;用System.in来表示标准输入设备,如键盘。可以使用Scanner类完成输入操作,使用该类对象联合System.in能够较为方便地完成从键盘输入数据到程序中。

首先,我们要创建一个Scanner的对象sc:

Scannersc=newScanner(System.in);

之后,可以通过sc的相关函数完成从键盘输入各类数据的操作,Scanner类的常用方法如表2-5所示。使用这些方法从键盘输入数据的时候,要注意数据类型与方法的匹配,类型要一致,否则会有异常发生。

程序结果:

★与C语言的比较:

(1) C语言的基本程序组织单位是函数,将不同函数分类放在各个头文件中,如数学函数math.h、字符串处理函数string.h、常用函数stdio.h等,然后使用包含语句,如#include<string.h>包含了string.h头文件,之后的程序就可以使用该文件里的字符串处理函数。

(2) Java基本的程序组织单位是类,在一个类中有多个成员函数,将多个类文件分类放在不同的包(文件夹)中,通过导包语句“importjava.util.Scanner;”或者“importjava.util.*;”就可以使用包中的类和类里的成员函数。

程序结果:

本章小结1.Java语言定义的变量,其类型分为两类:基本数据类型和引用数据类型。2.Java的基本数据类型主要有八种,即byte、short、int、long、char、boolean、float和double,要注意与C语言的比较:(1) Java的整数都能保存正、负数,没有无符号整数类型。(2) Java新增了boolean类型,对于逻辑类型数据的处理更加严谨。(3) Java的char类型数据占2个字节,使用的是Unicode编码。

3.Java的引用数据类型变量,保存的是内存地址,类似于C语言中的指针变量,但是有一定的区别。

4.Java的运算符与C语言的有很多相同的地方,也有不同之处,例如取消了C语言的sizeof(),新增了instanceof()等。

5.Java对于类型的控制更加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论