《第2章 Java 语言基础课件》由会员分享,可在线阅读,更多相关《第2章 Java 语言基础课件(28页珍藏版)》请在金锄头文库上搜索。
1、第二章 Java 语言基础,知识回顾 作业讲解,1. 计算机语言的历史以及Java语言的历史地位 2. Java自身的发展史 3. Java体系 4. Java的特点 5. Java的运行机制 6. Java运行环境的安装与配置,1、从命令参数中接收姓名,在程序打印Hello xxxxx 2、编写一个应用程序绘制一个如下的操作菜单。 * | 1. 增加1个学生 | | 2. 显示所有学生 | | 3. 退出程序 | | 请输入选择(1-3): | *,本章目标 J2SE 之 基础语法,1. 标识符(Identifier) 2. 关键字(Key word) 3. Java 基本数据类型 4. 运
2、算符(Operator) 5. 表达式和语句(Expression and Sentence) 6. 分支(Filiation) 7. 循环 8. 方法(Method) 9. 变量的作用域 10.数组,标识符,Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 -凡是自己可以起名字的地方都叫标示符,都遵守标示符的规则。 Java 标识符有如下命名规则: 标识符由字母、下划线“_” 、美元符“$”或数字组成。 标识符应以字母、下划线“_” 、美元符“$”开头。 Java 标识符大小写敏感,长度无限制。 约定俗成:Java 标识符选取因注意“见名知意”且不能与 Java
3、语言的关键字重名。,标示符,命名约定: - 类名、接口名 :每个单词的首字母应该大写 class MyFirstClass interface Weapon -字段、方法以及对象:第一个单词首字母应小写,其他单词首 字母大写 boolean isWoman void setName(String name) -常量:全部用大写字母表示。 public final int GREEN public final int HEAD_COUNT -Java包(Package):它们全都字母小写。 package java.awt.event,关键字,Java 中一些赋以特定的含义,用做专门用途的字符串
4、称为关键字(keyword)。 所有Java关键字都是小写英文字符串。 goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。,Java变量,Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明语法格式为: type varName =value,varName=value 例如: int i = 100; float f = 12.3f; double d1, d2, d3 = 0.123; String s = “hello”; 从本质上讲,变量其实是内存中的一小块区域,使用
5、变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用,100,i,Java变量的分类,按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量 注意:类外面(与类对应的大括号外面)不能有变量的声明 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量,Java局部变量与成员变量,方法体内部声明的变量(包括形参)称为局部变量: 方法体内部是指与方法对应的大括号内部 在方法体外,类体内声明的变量成为成员变量 public void method() int i; int j = i+5 ; / 编译
6、出错,变量i还未被初始化 double d = 3.14; 注:以上程序目前还不能编译,Java数据类型的划分,数据类型,基本数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数类型(byte,short,int,long),浮点类型(float, double),类(class),接口(interface),数组,Page 11,Java基本数据类型,Java中定义了4类8种基本数据类型。 逻辑型boolean 字符型 char 数值型 整数型 byte, short, int, long 浮点数型 float, double,Page 12,基本数据类型转换,
7、java中可以从任意基本类型转型到另外的基本类型 例外 boolean 类型不可以转换为其他的数据类型。 转换分为默认转换和强制转换 整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为: byte,short,char-int-long-float-double byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成
8、容量最大的那一种数据类型,然后再进行计算。(看下页) 实数常量(如:1.2)默认为 double。整数常量(如:123)默认为 int 。,Page 13,多种类型的数据混合运算,有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。 如果其中一个运算对象是double类型的 另一个也会被转换成double类型。 否则,如果其中一个运算对象是float类型的, 另一个也会被转换成float类型的。 否则,如果其中一个运算对象是long类型的, 另一个也会被转换成long类型的。 否则,如果其中一个运算对象是int类型的, 另一个也会被转换成int类
9、型的。 否则,如果其中一个运算对象是short类型的, 另一个也会被转换成short类型的。,运算符,Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,+,- 关系运算符: ,=, 赋值运算符: = 扩展赋值运算符:+ =,- =,* =,/ = 字符串连接运算符:+,字符串连接符,“+” 除用于算术加法运算外,还可用于对字符串进行连接操作 int id = 800 + 90; String s = hello + world; “+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。 int c = 12; Sys
10、tem.out.println(c= + c);,循环语句,条件语句 - 根据不同条件,执行不同语句。 if if . else if . else if if . else if . else if . else switch 循环语句 重复执行某些动作 for (JDK1.5语法) while do . While,方 法,Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式: 修饰符1 修饰符2 返回值类型 方法名(形式参数列表) Java语句; ,形式参数:在方法被调用时用于接收外界输入的数据。 实参:调用方法时实际传给方法的数据。 返回值:方法在执行完毕后返
11、还给调用它的环境的数据。 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。,Java语言中使用下述形式调用方法:对象名.方法名(实参列表) 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配, return 语句终止方法的运行并指定要返回的数据。,Java中进行函数调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身 。,方法的调用,方法调用的基本步骤: 为被调用方法分配临时存储空间。 将实参的值复制一份传给形参。 程序流程跳到被调用方法中执行。 被调用方法执行完成或遇到return语句,则程序
12、流程跳回主方法,同时被调用方法的临时存储空间被回收。,练习,1随机产生两个小于1000的正整数,若两个数均小于10,先将他们都扩大50倍,否则不改变这两个数。最后求这两个数的和并将结果输出 Random r=new Random(); /随机数对像 System.out.println(r.nextInt(100);/产生一个0-100的随机数 2随机产生一个50到200之间的正整数,如果该数为奇数则求它的平方根并转换成float型后再输出;如果该数为偶数则求它的平方再输出。 3回文数。 编写一个Java应用程序。用户从键盘输入一个19999之间的数,程序将判断这个数是几位数,并判断这个数是否
13、是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。,声明数组,相同的数据类型元素类型按一定的顺序排列就构成了数组 数组元素可以为: 基本数据类型 某一类的对象(引用类型) 建立java数组需要以下三个步骤: 声明数组 创建数组空间 初始化数组元素,创建数组,声明数组的语法格式有两种如下: 数组元素类型 数组名 ; 数组元素类型 数组名; 例如:char s; Point p; 或: char s; Point p;,数组实例化,说明: 为数组开辟内存空间,在创建数组空间时必须为它指明数组的长度。 一个数组是一个对象,所以用new来创建数组 语
14、法格式为:数组名 = new 数组元素类型数组元素的个数; 例如: int MyIntArray; MyIntArray =new int10;,数组实例化,说明: 也可以在创建数组空间的时候,同时将初值给出来 例如:int MyIntArray=1,2,3,4,5,6,7,8,9;存储空间的分配等价于使用new 基本数据类型的数组元素系统会自动初始化为默认值(对于数值,默认值就是零;对于char,它是空白字符;而对于boolean,它却是false)。数组名是对数组对象的一个引用。,多维数组,1. 定义方式:type 维数arrayName; 例如:int intArray;int a2;
15、2. 分配内存空间:有两种方法: 直接为每一维分配空间, 如int a = new int23; int twoDim = new int 4; /error 分别为每一维分配空间 如: int a = new int2 ; a0 = new int3; a1 = new int3; 可以为每行设置为空间大小不同的数组。 如: a0 = new int3; a1 = new int5;,多维数组说明,说明:Java中多维数组被看作数组的数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。 3. 初始化 有两种方式: 先定义数组,分配空间,然后直接对每个元素进行赋值 在定义数组的
16、同时进行初始化。 如:int a = 2,3, 1,5, 3,4;,练 习,1.定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素 的最大值,最小值,平均值,和值,并输出出来。 2.定义一个int型的一维数组,包含10个元素,分别赋值为110, 然后将数组中的元素 都向前移一个位置,即,a0=a1,a1=a2,最后一个元素的值是原来第一个元素 的值,然后输出这个数组。 3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个 0100之间的随机整数,将它们存储到一维数组中,然后统计成绩低于平均分的学员的 人数,并输出出来。 4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。 5,(选做)编写程序