java程序设计-2-变量和表达式

上传人:今*** 文档编号:106970747 上传时间:2019-10-17 格式:PPT 页数:77 大小:1.12MB
返回 下载 相关 举报
java程序设计-2-变量和表达式_第1页
第1页 / 共77页
java程序设计-2-变量和表达式_第2页
第2页 / 共77页
java程序设计-2-变量和表达式_第3页
第3页 / 共77页
java程序设计-2-变量和表达式_第4页
第4页 / 共77页
java程序设计-2-变量和表达式_第5页
第5页 / 共77页
点击查看更多>>
资源描述

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

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

2、描述: 第一步:给出圆的半径; 第二步:将半径值带入圆面积计算公式,计算出圆面积,用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); ,5,2.2变量,在程序中表示数据有两种方法, 一种是在表达式中直接用原始值来表示,如表示数值5、-6、7.86等,它们被称为“字面量(literal) 另外一种是用一个特定的名字来间接表示,被称为“变量” 间接表示

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

4、2 Java关键字,10,2.2.3基本Java类型,11,Java的基本数据类型,12,2.2.4 变量声明,Java属于强类型的程序设计语言。所有变量和表达式在编译时都有明确的类型 修饰符 类型 变量名 =初值,变量名=初值 例如: int x 0, y 1, z = 1; float a0f, b=0.1f; char c1, c2, c3=c; double d1=1.0d; boolean mycom=true; Date d1,d2; HelloWorld h1,h2;,13,为什么要进行变量声明 变量就是一个保存有值的内存位置的名字表示 声明变量,就是分配内存 通过类型声明,可以

5、明确的知道每个变量占据内存的大小; 通过声明,对非局部变量定义了一个初值; 重要的也在于可以重复使用一个名字来表达某种类型的数值。,14,逻辑类型 boolean truth = true; /声明一个布尔类型的变量,并初始化其值为truth 字符类型 使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)Unicode字符。一个char文字必须包含在单引号内( )。 a t 一个制表符 u? 一个特殊的Unicode字符。?应严格按照四个16进制数字进行替换,15,文本类型char和String,String 不是一个基本数据类型,它是一个类 具有用双引号(”

6、)引用的多个文字字符 “The quick brown fox jumped over the lazy dog.” 可按如下情形使用: String greeting = “Good Morning! n”; String err_meg = “ Record not found !”; Char和String类型变量的声明和初始化如下所示: char ch = A; / declares and initializes a char variable char ch1,ch2 ; / declares two char variables / declare two String vari

7、ables and initialize them String greeting = “Good Morning ! n“ ; String err_msg = “Record Not Found !“ ; String str1,str2 ; / declare two String variables,16,小测验,指出下面的错误声明,说明原因 char ch = AB; 解释:单引号内只能包含一个字符 char ch1= “A”; 解释:双引号表示界定的是一个字符串常量,17,整数类byte, short, int, long 2 十进制值是2 077 首位的0表示这是一个八进制的数值

8、 0xBAAC 首位的0x表示这是一个16进制的数值 默认整数类文字属int类型,除非在其后直接跟着一个字母“L”或者“l”,L表示一个long值。 byte smallOne=7; short count=10000; int score=100; long bigone=999999999L,largeOne;,18,课堂练习,下面的哪些答案可以用以表示八进制值8。 010 0x10 08 0x8,19,课堂练习,写出下面的输出结果,int color=10; System.out.printf(“10的8进制表示是%on“,color); System.out.printf(“10的10

9、进制表示是%dn“,color); System.out.printf(“10的16进制表示是%xn“,color); System.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,如果一个数字文字包括小数点或指数部分,或者在数字后带有字母

10、F或f(float)、D或d(double),则该数字文字为浮点。 3.14 一个简单的浮点值(a double) 4.02E23 一个大浮点值 2.718F 一个简单的float值 123.4E+306D 一个大的带冗余D的double值 以下是有关浮点数类型变量的声明和初始化: float pi=3.1415926 , score; double weight=123.4E+36D;,21,2.2.5 变量初始化,八种基本数据类型变量的默认值如下: boolean false byte 0 char u0000,空,Unicode码的0000 short 0 int 0 long 0L f

11、loat 0.0f double 0.0 初始化 成员变量自动初始化 局部变量必须在使用之前显示初始化,22,课堂练习,进行下列变量说明 初始值为0的int变量a 初始值为1000的long变量b 初始值为3.4的float变量c 初始值为4的char变量ch 初始值为true的boolean变量e,23,课堂练习,下面程序的运行结果是什么?,public class Demo public static void main(String args) int i; System.out.println(i); ,24,课堂练习,替换下面的代码段到上述程序,分析现象。 float f=10.0f

12、; double d=100.0d; f=d; System.out.println(“f=“+f);,25,课堂练习,int a=10; char c=a; a=c+a; System.out.printf(“c=%c“,a);,26,2.2.6 转义字符,27,/ 程序2-2:转义字符的应用 public class EscapeDemo public static void main(String args) System.out.println(“这是u03c0”); System.out.println(“下面的数据输出是按照制表位控制的,每2个一行。”); System.out.p

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

14、型;引用对象的变量就是引用变量。/下面的例子创建了一个新的类型,如Card,public class Card char suit; String rank; ,声明一个变量 Card c = new Card(); 访问成员 c.rank = “K”;,31,2.3 运算符和表达式,表达式就是由变量、对象、运算符和方法调用构成的式子,表达式应该按照Java语法来构造,才可以被编译系统理解、执行,每个表达式都有一个某种类型的结果。 如: int a=0,b=0,max=0; max=ab?a:b; a+(ab?a:b);,32,2.3.1 运算符,33,一元运算符即支持前缀形式,也支持后缀形式

15、。如: operator op /前缀形式 op operator /后缀形式 所有的二元运算符都采用中缀表示,运算符在两个操作数中间。 op1 operator op2 /中缀表示 Java语言中只有一个三元运算符,也采用中缀表示。 op1 ? op2 : op3 /中缀表示 instanceof是Java编程语言特有的运算符,34,2.3.2 算术表达式,35,自增、自减运算符 应用于算数表达式,自增(自减)运算只能应用于整数类型或char类型数据 前置与后置的区别: 假设i = 6则: 表达式(+i)的值为7,运算完毕后i = 7 表达式(i+)的值为6,运算完毕后i = 7,36,程序

16、23:ArithmeticDemo.java 根据Java语言规范,在进行算术运算中需要注意以下几个问题: 只有整数类型的数据才可以进行取余运算,浮点数取余无法得出准确的结果。如10.1%3.3的结果可能为0.20000052。 两个整数做除法运算时,结果是截取商数的整数部分,小数部分被丢弃。如果需要保留,应该对算术表达式进行强制类型转换。 1/2的结果是0 (float)1/2)的结果是0.5 (float)(1/2)的结果则是0。,37,强制类型转换,一种类型就是一些可能的值的集合 某些类型比另外一些类型“大”-(值更多) 每一个int都是一个long,long就是较大的类型 包含子集,long,int,int,long,38,强制

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

当前位置:首页 > 高等教育 > 大学课件

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