首页 第二章Java常量和变量

第二章Java常量和变量

举报
开通vip

第二章Java常量和变量第二章Java常量和变量 第2章 常量和变量 编写Java程序,通常要用到标识符、关键字和数据类型。本章便来讲解标识符的规范、关键字的概念和Java数据类型。 2.1 标 识 符 1(标识符的概念 用来标识类名、变量名、常量名、接口名、包名、方法名、数据类型名、数组名和文件名的字符串称为标识符,即标识符就是一个名称。 2(Java语言对标识符的规范 Java语言规定: (1)标识符必须以大小写字母、数字、下划线和美金符号$组成。 (2)不可以用数字开头。 例如:liu、_zhao、$wang等等...

第二章Java常量和变量
第二章Java常量和变量 第2章 常量和变量 编写Java程序,通常要用到标识符、关键字和数据类型。本章便来讲解标识符的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 、关键字的概念和Java数据类型。 2.1 标 识 符 1(标识符的概念 用来标识类名、变量名、常量名、接口名、包名、方法名、数据类型名、数组名和文件名的字符串称为标识符,即标识符就是一个名称。 2(Java语言对标识符的规范 Java语言规定: (1)标识符必须以大小写字母、数字、下划线和美金符号$组成。 (2)不可以用数字开头。 例如:liu、_zhao、$wang等等都是合法的标识符;而33ning,you#,@meng都不是合法的标识符。 (3)Java语言严格区分大小写。例如:Love和love是两个完全不同的标识符。 (4)标识符的长度没有限制,但是不宜过长。 以上是Java对定义标识符的基本规定,在实际使用中,我们还人为制定了一些规则: (1)标识符由完整的单词或者一组单词组成,尽可能清楚的表达标识符所代表的含义。 (2)变量名以小写字母开头。 (3)类名的首个字母要大写。 这些人为制定的规则是否遵守并不会影响Java编译器的工作,但是养成良好的标识符定义习惯可以使程序易于阅读和理解。 3(标识符的字符集 Java语言使用的Unicode标准字符集,该字符集最多可以标识65536个字符,Unicode标准字符集中的前128个字符刚好构成ASCII字母表。每个国家的字母表都是Unicode标准字符集的一个子集。 2.2 关 键 字 关键字是Java语言专门使用的一些单词,程序员不能使用这些单词给类名、变量名、常量名、接口名、包名、方法名、数据类型名、数组名和文件名命名。Java语言的关键字主要包括:implements、import、instanceof、int、interface、long、nativenew、null、package、private、public、return、short、static、super、swith、synchronized、this、throw、true、try、void、while 、abstract、boolean、break、byte、case、catch、char、continue、do、double、else extends、false、find、finally、float、for等。 2.3 常量、变量和数据类型 所谓变量名就是指内存中一块存储空间的名称,我们称这种空间为变量,给这种空间起的名字就是变量名。我们可以把一个数据放进这种空间,也可以从这种空间中取走一个数据。内存中可以有许多个这样的小块空间。变量中的数据可以是编程者赋予的,也可以是程序运行过程中,临时存储进去的运算结果。一个存储空间在同一时间只只能保存一个数据。 常量名也是指内存中的一块存储空间的名称,这种存储空间中的数据在程序运行过程中一直都不会发生改变,我们称这种空间为常量,给这种空间起的名字就是常量名。常量名和变量名都是给存储空间起的名字。 Java语言将数据分为两大类型,即基本数据类型和引用数据类型。基本数据类型分成整数型、浮点型、字符型、字符串型等等;引用数据类型是指系统定义的类或程序员自定义的类。 常量和变量根据所存储的数据类型不同,也分成整数型、浮点型、字符型、字符串型等等。常量名和变量名所代表的存储空间都是用来存储数据的,因此,在使用常量和变量保存数据以前,都要给常量和变量进行数据类型定义,即,说明常量和变量保存的数据类型。定义后的常量或变量,可以通过赋值语句给常量或变量赋予数据,常量只能赋值一次值,变量可以多次赋值。 2.3.1 Java基本数据类型 基本数据类型包括逻辑类型、整数类型、字符类型和浮点类型。下面分别说明4种基本数据类型的常量表示方式、变量定义格式。 1(逻辑类型(boolean) (1)逻辑常量 16 逻辑常量只有两个值:true、false。 (2)逻辑变量的定义 使用关键字boolean来定义逻辑变量。如定义逻辑变量a1、a2、a3的格式如下: boolean a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: boolean a1=true, a2=false, a3; 2(整型类型 整型常量:例如,356(十进制,首位不能为0)、1000(十进制)、0567(首位为0,代表 八进制数)、0x9ABCD(首位是0x,代表十六进制数)。 整型变量又分为4种: (1)int型变量 使用关键字int来定义int型变量。如定义int型变量a1、a2、a3的格式如下: int a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: int a1=33, a2=-155, a3; (2)byte型变量 使用关键字byte来定义byte型变量。如定义byte型变量a1、a2、a3的格式如下: byte a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: byte a1=63, a2=-12, a3=77; (3)short型变量 使用关键字short来定义short型变量。如定义short型变量a1、a2、a3的格式如下: short a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: short a1=12, a2=-174, a3=999; (4)long型变量 使用关键字long来定义long型变量。如定义long型变量a1、a2、a3的格式如下: long a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: long a1=18, a2=777, a3=6655; 17 3(字符类型(char) (1)字符型常量 一个字符常量用单引号括起,如'A'、'b'、'c'、'!'、'7'、'爱' 等都是字符型常量。Unicode 字符集可以表示65536个字符型常量。 (2)字符型变量定义 使用关键字char来定义char型变量。如定义char型变量a1、a2、a3的格式如下: char a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: char a1='?', a2='12', a3='来'; char型常量在内存中占2个节的存储空间,以正整数的方式保存,因此,最高位不是 用来表示符号的。 (3)转义字符 一些控制字符不能显示出来,它代表某种含义。表2-1表示了这些控制字符的含义。 表 2-1 控制字符的含义 控制字符 描述 换行,将光标移到下一行的开始位置 ‘\n’ 将光标移到下一个制表符的位置 ‘\t’ 回车,将光标移到当前行的开始,不是移到下一行 ‘\r’ 输出一个反斜杠 ‘\\’ 输出一个单引号 ‘\’ ’ 输出一个双引号 ‘\”’ (4)字符型数据在内存中的表示 字符型数据在内存中以int型数据表示。如,字符常量'd'在内存中的值是100( int型 数据) 要想知道一个字符在内存中保存的数字大小,使用int数据类型显式转换,将字符型数 据转换成int型数据。如,System.out.println(int)'h')语句,就能把字符'h'对应的数字输出来。 【例2.1】查找某个字符在Unicode表中的位置。 程序名:charLocation.java 【程序源代码】 public class charLocation { public static void main(String args[]){ char word1='爱',word2='J'; int a=2009; System.out.println("爱字在Unicode中的位置是:"+(int)word1); System.out.println("字母J在Unicode中的位置是:"+(int)word2); 18 System.out.println("Unicode表中2009位置上的字符是:"+(char)a); } } 【程序运行结果】 爱字在Unicode中的位置是:29233 字母J在Unicode中的位置是:74 Unicode表中2009位置上的字符是:? 4(浮点类型 浮点型数据分为单精度型(float)和双精度型(double)。 (1)单精度型(float) ? 常量:例如,567.539f、7889.3f、987.2f、777.00f。书写单精度常量数据时,在数据最后必须加f。否则,表示的常量是双精度数据。如,888.0表示的是双精度数据。 ? 变量定义:使用关键字float来定义float型变量。如定义float型变量a1、a2、a3的格式如下: float a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: float a1=13.78f, a2=-99.7f, a3; (2)双精度型(double) ?常量:例如,5678.577d(d可以省略)、908.55、4567.000d。都是双精度常量。 ?变量定义:使用关键字double来定义double型变量。如定义double型变量a1、a2、a3的格式如下: double a1, a2, a3; //定义时没有给变量赋值 定义时给变量赋初值的格式如下: double a1=113.8567, a2=-12.78d, a3=8901.66; 5(java基本数据类型总结 Java的基本数据类型总结如下表2-2所示: 表2-2 java基本数据类型说明 数据类型 描述 例子 boolean 布尔类型,变量在内存所占空间是1个字节长度。 boolean e = true; char 变量在内存所占空间是2个字节长度。范围为'\u0000','\uffff' char c = 'A' byte 变量在内存所占空间是1个字节长度。范围为-128,127 int i = 80; 19 short 变量在内存所占空间是2个字节长度。范围为-32768,32767 int i = 9999; 31变量在内存所占空间是4个字节长度。int型变量的取值范围是-2,int int i =700000; 312-1。 6.363变量在内存所占空间是8个字节长度。范围为-2,2-1。 long long k = 338880; 变量在内存所占空间是4个字节长度。float型变量的取值范围大约是 -383838-38float float f = 10.01f; 10,10和-10,-10。 变量在内存所占空间是4个字节长度。double型变量的取值范围大约double -308308308-308double 是10,10和-10,-10。 d=55.7876; 2.3.2 基本数据类型转换 有时需要将不同类型的数据混合起来运算,或者将一种基本类型的数据赋给另一种类型的变量,就要用到数据类型转换。 数据类型的转换有两种形式。 , 自动转换:从低精度向高精度转换,系统自动进行,不需要程序员干预。 , 强制转换:程序员必须使用类型转换符进行转换。强制转换运算可能导致精度的 损失。 1(数据类型精度排序 数据类型按精度从低到高的排列顺序如下: byte short int long float double 低 高 2(从低精度向高精度转换 从低精度向高精度转换属于自动转换。 (1)赋值语句中的转换 例如: float xx=500; //把整数500转换为浮点数 这里将整数500赋给浮点型变量xx,是从低精度向高精度转换,系统自动进行。如果输出xx的值,结果将是500.0。 20 (2)表达式中的数据转换 例如: int h=73; float y1=27.6f; double f=h+y1; 混合数据类型表达式h+y1包含两个不同类型的数据,即整数h和单精度型数据y1。在计算表达式以前,系统自动将低精度的数据h转换为高精度的float型数据,转换后将两个数据进行求和,最后将结果数据(float型)转换为更高精度的double型数据并赋给变量f。 3(从高精度向低精度转换 从高精度向低精度转换属于强制转换,需要通过数据类型实现。强制转换的语句格式如下: (type)data data为需要转换的变量或常量。type取值为byte、short、int、long、float、double。此语句将数据从data数据类型转换为type数据类型。 (1)赋值语句中的转换 例如: int x=(int)600.78f; 这里将float型数据600.78f赋给整型变量x,是从高精度向低精度转换,需要在被转换的数据前使用目标类型转换符(int)。如果输出x的值,结果将是600。 (2)表达式中的数据转换 例如: int m=23; float f1=27.6f; int k=m+(int)f1; 混合数据类型表达式m+(int)f1包含两个不同类型的数据,即整数m和单精度型数据f1。在计算表达式以前,先将单精度型数据f1通过类型转换符(int)转换为整型数据。如果输出k的值,结果将是50。 【例2.2】将一种数据类型转换成另外一种数据类型。 程序名:typeConver.java 【程序源代码】 public class typeConvert { public static void main(String args[]){ int x; double y; y=2009.04; x=(int)y; y=x; 21 System.out.println("转换后x的值是:"+x); System.out.println("转换后y的值是:"+y); } } 【程序注释】 语句x=(int)y;将导致精度的丢失。 【程序运行结果】 转换后x的值是:2009 转换后y的值是:2009.0 2.3.3 Java引用数据类型 引用类型包括类和接口,将在第4章中讲解相关内容。 2.4 本 章 小 结 Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。 Java语言将数据分为两大类型,即基本数据类型和引用类型。基本数据类型包括逻辑类型、整数类型、字符类型和浮点类型。 常量和变量都属于某种数据类型。在使用变量前,先要声明其所属数据类型;常量则是以其书写形式来规定其数据类型的。 2.5 习 题 1(上机运行下列程序,输出的结果是什么? public class Test { public static void main(String args[] { for (int I=1;I<20;I++) System.out.println((char)I); System.out.println(I/5); } } 2.编写程序计算圆柱的体积。读入半径和高,用下列公式计算体积: 面积=半径*半径*3.14, 体积=面积*高。 22 3.编写程序,用大块字母表示“Welcome to Java!”,每个字母由与它表示的同样的字母组成,占7行。例如W表示如下: w w w w w w w w w w w w w w w w w 4. 编写程序,读入10到1000的一个整数并将其各位数字之和赋给一个整数。如,整数932,各位数字之和为14。 (提示:利用%运算符分解数字,并用/运算符去除分解出来的数字。如932%10=2,932/10=93. 5. 编写程序,读入double型数,并检验该数是否在1到100之间。如果输入5,则输出如下: The number 5 between 1 and 100 is true. 若输入120,则输出如下: The number 120 between 1 and 1000 is false. 6.解释关键字的概念。关键字与标识符有什么区别, 23
本文档为【第二章Java常量和变量】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:0
分类:工学
上传时间:2017-09-02
浏览量:22