面向对象java语言程序设计第二章xin资料.ppt

面向对象java语言程序设计第二章xin资料

面向对象JAVA语言程序设计;第二章 Java语言的基本语法;2.1 标识符和关键字;Java关键字;Java标识符命名规则;Java标识符命名规则;分隔符 ;1.注释符;2.空白符;3.普通分隔符;2.2 常量与变量 ;2.2.1常量的概念及使用要点 ;常量;常量;2.2.2变量的概念及使用要点;变量;同类型变量;2.3 数据类型 ;2.3.1 基本数据类型 ;整数型 ;整数占用内存大小以及取值范围;长整型数值 ;浮点数;float型数值;double型数值;字符型;字符型数值;逻辑型;逻辑型;2.3.2 引用数据类型;2.3.3基本类型与引用类型的区别;组成;组成;Java虚拟机的处理方式 ;例如创建一个图书类Book: 声明两个Book类的实例,分别通过变量book1和book2进行引用,对book1进行具体的初始化,而将book2初始化为null,具体代码如下。 ;Java虚拟机为引用变量book1、book2及book1所引用对象的成员变量分配的内存空间如下图所示。 从图中可以看出,变量book1引用了Book类的实例,book2没有引用任何实例。;下面对变量book2进行具体的初始化,将book1引用实例的地址复制给book2变量,即book2与book1引用同一个Book类的实例,具体代码如下: book2 = book1; 此时Java虚拟机的内存空间分配情况如下图所示。;2.3.4 数据类型之间的相互转换;2.3.4 数据类型之间的相互转换;自动类型转换;自动类型转换;自动类型转换 第一种情况;例如下面这段代码: Java首先会自动将表达式“b*c-i+l”中的变量b、c和i的数据类型转换为long型。然后再进行计算,并且计算结果的数据类型为long型。 所以将表达式“b*c-i+l”直接赋值给数据类型相对小于long型(例如int型)的变量是不允许的,但是可以直接赋值给数据类型相对大于long型(例如float型)的变量。;再看下面这段代码: Java首先会自动将表达式“b*c-i+d”中的变量b、c和i的数据类型转换为double型,然后再进行计算,并且计算结果的数据类型为double型。 所以将表达式“b*c-i+d”直接赋值给数据类型相对小于double型(例如long型)的变量是不允许的。;自动类型转换 第二种情况;例如下面这段代码: Java首先会自动将表达式“b + s * c”中的变量b、s和c的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型为int型。 所以将表达式“b + s * c”直接赋值给数据类型小于int型(例如char型)的变量是不允许的,但是可以直接赋值给数据类型相对大于int型(例如long型)的变量。;再看下面这段代码: 即使是在这段代码中,Java也会自动将表达式“s1 * s2”中的变量s1和s2的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型也为int型。 对于数据类型为byte、short、int、long、float和double的变量,可以将数据类型较小的数据或变量,直接赋值给数据类型较大的变量,但是相反的条件则不成立。;2.强制类型转换;2.强制类型转换;2.4 运 算 符 ;2.4.1 赋值运算符 ;赋值运算符 ;2.4.2 算术运算符;算术运算符;没有小数参与运算;除法运算;求余运算;关于0的问题;有小数参与运算;有小数参与运算;2.4.3 关系运算符 ;2.4.4 逻辑运算符;取反运算符“! ”;异或运算符“^” ;运算符“”和“”;运算符“”和“”的区别;运算符“||”和“|”;运算符“||”和“|”的区别;2.4.5 位运算符;逻辑位运算符;逻辑位运算符;移位运算符;2.4.6 对象运算符(instanceof);2.4.7 其他运算符;自动递增、递减运算符;自动递增、递减运算符;三元运算符“?:”;2.4.8 运算符的优先级别 及结合??;2.4.8 运算符的优先级别 及结合性;优 先 级;2.5 数 组 ;2.5.1 一维数组 ;一维数组 ;一维数组 ;public class A1 { public static void main(String args[]) { int a[]=new int[5]; a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; System.out.println(“a[”+0+”]=”+a[0]); ……………… System.out.println(“a[”+4+”]=”+a[4]); ;例一维数组的使用。该程序对数组中的每个元素赋值,结果如图所示。

文档评论(0)

1亿VIP精品文档

相关文档