Java程序设计类型变量和表达式

上传人:xy****7 文档编号:52434489 上传时间:2018-08-21 格式:PPT 页数:79 大小:1.15MB
返回 下载 相关 举报
Java程序设计类型变量和表达式_第1页
第1页 / 共79页
Java程序设计类型变量和表达式_第2页
第2页 / 共79页
Java程序设计类型变量和表达式_第3页
第3页 / 共79页
Java程序设计类型变量和表达式_第4页
第4页 / 共79页
Java程序设计类型变量和表达式_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《Java程序设计类型变量和表达式》由会员分享,可在线阅读,更多相关《Java程序设计类型变量和表达式(79页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计第二章 类型、变量和表达式2学习目标 掌握八个原始类型 理解标识符、变量和常量 能够熟练的进行变量和常量的声明 理解显式和隐式的类型转换 辨认、描述并使用Java运算符 掌握表达式中运算符的执行顺序 使用赋值语句,掌握赋值兼容性2.1 认识程序 什么是程序?,有一个著名的公式说:3程序=数据结构+算法”什么是数据结构? 简单的数据结构就是众所周知的整型、实型这样的 数据表示,复杂的数据结构可以是由简单的数据结 构组合而成,如数组。什么是算法?算法就是用什么样的方法处理给定的数据从 而得到所需的结果。2.1 一个计算圆面积的程序 面积a= r2 中,计算过程可以这样描述 : u第

2、一步:给出圆的半径; u第二步:将半径值带入圆面积计算公式,计 算出圆面积,用a保存结果。4/ 程序2-1:一个计算圆面积的程序 public class ComputeArea public static void main(String args) int r = 10; double area=3.14*r*r; System.out.println(area); 52.2变量 在程序中表示数据有两种方法, u一种是在表达式中直接用原始值来表示,如表 示数值5、-6、7.86等,它们被称为“字面量( literal) u另外一种是用一个特定的名字来间接表示,被 称为“变量” u间接表示的

3、最大优点在于可以重复使用一个名字来 表达某种类型的数值。 注 u在Java语言中,所有的变量必须要首先声明, 然后才能使用,而且访问一个未经初始化的局部 变量,将导致编译错误。 62.2.1标识符 在Java编程语言中,标识符是赋予变量、类或方 法的名称。 u标识符可从一个字母、下划线(_)或美元符号($) 开始,随后可跟除了在Java中作为运算符之外的 任何可见字符所构成的连续字符串,但不能被空 格或制表符隔开。 u标识符是大小写区别对待的并且未规定最大长度 u标识符不能是关键字 7表2-1 有效与无效标识符有效标识符无效标识符Identifier userName User_name _s

4、ys_varl $change1User 220 user name user ufloat a0f, b=0.1f; uchar c1, c2, c3=c; udouble d1=1.0d; uboolean mycom=true; u Date d1,d2; u HelloWorld h1,h2;13 为什么要进行变量声明 u变量就是一个保存有值的内存位置的名字表 示 u声明变量,就是分配内存 u通过类型声明,可以明确的知道每个变量占 据内存的大小; u通过声明,对非局部变量定义了一个初值; u重要的也在于可以重复使用一个名字来表达 某种类型的数值。14逻辑类型 u boolean tru

5、th = true; /声明一个布尔类型的变量 ,并初始化其值为truth 字符类型 u 使用char类型可表示单个字符。一个char代表一个16 -bit无符号的(不分正负的)Unicode字符。一个 char文字必须包含在单引号内( )。 u a u t 一个制表符 u u? 一个特殊的Unicode字符。?应严格按 照四个16进制数字进行替换 15文本类型char和String String u不是一个基本数据类型,它是一个类 u具有用双引号(”)引用的多个文字字符 u“The quick brown fox jumped over the lazy dog.” u可按如下情形使用: u

6、String greeting = “Good Morning! n”; uString err_meg = “ Record not found !”; Char和String类型变量的声明和初始化如下所示: uchar ch = A; / declares and initializes a char variable uchar ch1,ch2 ; / declares two char variables u/ declare two String variables and initialize them uString greeting = “Good Morning ! n“ ;

7、 uString err_msg = “Record Not Found !“ ; uString str1,str2 ; / declare two String variables16小测验指出下面的错误声明,说明原因 char ch = AB; /单引号内只能包含 一个字符 char ch1= “A”; /双引号表示界定的是 一个字符串常量17 整数类byte, short, int, long u2 十进制值是2 u077 首位的0表示这是一个八进制的数值 u0xBAAC 首位的0x表示这是一个16进制的数值 默认整数类文字属int类型,除非在其后直接跟着一 个字母“L”或者“l”,L

8、表示一个long值。 ubyte smallOne=7; ushort count=10000; uint score=100; ulong bigone=999999999L,largeOne;18课堂练习下面的哪些答案可以用以表示八进制值8。 u 010 0x10 08 0x819课堂练习 写出下面的输出结果int color=10; System.out.printf(“10的8进制表示是%on“,color); System.out.printf(“10的10进制表示是%dn“,color); System.out.printf(“10的16进制表示是%xn“,color); Syst

9、em.out.printf(“10的2进制表示是%sn“,Integer.toBinaryString(color); System.out.printf(“10的16进制表示是%sn“,Integer.toOctalString(color); System.out.printf(“10的16进制表示是%sn“,Integer.toHexString(color);20浮点float和double 如果一个数字文字包括小数点或指数部分, 或者在数字后带有字母F或f(float)、D或d (double),则该数字文字为浮点。 u3.14 一个简单的浮点值(a double) u4.02E23

10、 一个大浮点值 u2.718F 一个简单的float值 u123.4E+306D 一个大的带冗余D的 double值 以下是有关浮点数类型变量的声明和初始化 : ufloat pi=3.1415926 , score; udouble weight=123.4E+36D;212.2.5 变量初始化 八种基本数据类型变量的默认值如下: ubooleanfalse ubyte0 ucharu0000,空,Unicode码的0000 ushort 0 uint0 ulong0L ufloat0.0f udouble 0.0 初始化 u成员变量自动初始化 u局部变量必须在使用之前显示初始化 22课堂练

11、习 进行下列变量说明 u初始值为0的int变量a u初始值为1000的long变量b u初始值为3.4的float变量c u初始值为4的char变量ch u初始值为true的boolean变量e23课堂练习 下面程序的运行结果是什么?public class Demo public static void main(String args)int i;System.out.println(i); 24课堂练习替换下面的代码段到上述程序,分析现象。 ufloat f=10.0f; udouble d=100.0d; uf=d; uSystem.out.println(“f=“+f);25课堂练习

12、uint a=10; uchar c=a; ua=c+a; uSystem.out.printf(“c=%c“,a);262.2.6 转义字符 表2-4 其它转义字符转义字符作用Unicode转义字符作用Unicodeuf换页u”“u0022n换行uu0027r回车u000Db退格u0008t横向跳格 u000927/ 程序2-2:转义字符的应用 public class EscapeDemo public static void main(String args) System.out.println(“这是u03c0”);System.out.println(“下面的数据输出是按照制表位控

13、制的,每2个一行。”);System.out.print(10+“t”+20+“n”+30+“t”+40+“n”); 28课堂练习 将字符串”Hello World”中添加必要的转义字 符,使得输出该字符串时,直接每行一个词 。292.2.7 常量 字面常量和标识符常量。 常量用法通常用在开发中用标识符来表示一个 固定值,便于在程序中通过名称来引用。 u 声明同时初始化 final int MAX_SPEED=200; u 先声明,随后初始化 final int MAX_SPEED; . . . MAX_SPEED=200; 作为一种良好的编码习惯,常量名的定义一般 均用大写来表示。 302.

14、2.8 引用类型除去基本类型之外的所有类型都是引用类型;引用对象的变 量就是引用变量。/下面的例子创建了一个新的类型,如 Card public class Card char suit;String rank; 声明一个变量 u Card c = new Card(); 访问成员 uc.rank = “K”;312.3 运算符和表达式 表达式就是由变量、对象、运算符和方法调用 构成的式子,表达式应该按照Java语法来构造 ,才可以被编译系统理解、执行,每个表达式 都有一个某种类型的结果。 u如: uint a=0,b=0,max=0; u umax=ab?a:b; ua+(ab?a:b);3

15、22.3.1 运算符 表2-4 运算符的结合方向 Separator () ; , R to L + - + - ! (data type) L to R * / % L to R + - L to R L to R = instanceof L to R = != L to R /没有 ulong x=32;/int to long ulong x=i; /int to long 向窄的方向必须强制说明 uint i=32L;/error uint i=(int)32L;/long to int ubyte j=(byte)i; 类型转换可能丢失信息intlongbyteshortfloatdoublecharWidening自动转换强制转换 narrowing39强制类型转换 u 在赋值的信息可能丢失的地方,编译器需要程 序员用类型转换(typecast)的方法确认赋值 。例如,它可以“挤压”一个long值到一个int变 量中。显式转型做法如下: u long bigValue =99L; u int squashed =(int) (bigValue); 在上述程序中,期待的目标类型被放置在圆括 号中,并被当作表达式的前缀,该表达式必须 被更改。一般来讲,建议用圆括号将需要转型 的全部表达式封闭。否则,转型操作的优先级

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号