第二章 Java基本语法.

Slides:



Advertisements
Similar presentations
单元二:面向对象程序设计 任务二:借书卡程序设计.
Advertisements

第四章 类、对象和接口.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第二章 JAVA语言基础.
第三章 控制结构.
Chapter2 Constants, Variables, and Data Types
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
本單元介紹何謂變數,及說明變數的宣告方式。
程式設計實作.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
辅导课程六.
第二章 基本数据类型与输入输出.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
标识符 Java基本数据类型 常量、变量和赋值 类型转换 运算符与表达式
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
第二章 Java语言基础.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
第三章 C# 基础知识.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
第二章Java基本程序设计.
第三课 标识符、关键字、数据类型.
第2章 Java语言语法基础 Java是一种跨平台的面向对象语言,利用该语言可以生成独立于平台的应用程序。Java语言具有众多优点,如面向对象、可移植、与硬件无关等。 我们将介绍Java语言最基本的内容,先从Java编程基础开始,介绍Java语言的基本语法然后,介绍几种常用算法的示例,强化对Java语言的认识。
JAVA 程式設計 資訊管理系 - 網路組.
Java變數 2014/6/24.
第二章 Java基本语法 讲师:复凡.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Review 1~3.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
基本知识 数据类型、变量、常量、运算符.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
變數、資料型態、運算子.
第2章 Java语言基础.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
第二章 Java基础语法 北京传智播客教育
第2章 Java语言基础.
第二章 Java基本语法 讲师:复凡.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Summary
Presentation transcript:

第二章 Java基本语法

第零节 目标 1.认识Java语言的基本组成; 2.掌握基本的数据类型; 3.认识变量与常量; 4.掌握Java的运算符与表达式; 第零节 目标 1.认识Java语言的基本组成; 2.掌握基本的数据类型; 3.认识变量与常量; 4.掌握Java的运算符与表达式; 5.掌握数组;

第一节 Java语言的基本组成 Java程序就用这5种元素来编写, 它们互相配合,共同完成Java的语意表达。 Java语言主要由5种元素组成: 标识符(identifier), 关键字(keywork), 直接量(literal), 运算符(operator)和分隔符(separator)。 Java程序就用这5种元素来编写, 它们互相配合,共同完成Java的语意表达。

2.1.1 标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、… Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。 合法的标识符 identifier userName User_Name _sys_value $change 非法的标识符 2mail room# class

2.1.2 关键字 具有专门的意义和用途,不能当作一般的标识符使用,这些Java语言本身的标识符称为关键字(或保留字eserved word)。 abstract break byte boolean catch case class char continue default double do else extends false final float for finally if import implements int interface instanceof long length native new null package private protected public final return switch synchronized short static super try true this throw throws threadsafe transient void while

2.1.3 分隔符 1.注释 2.空白符 包括空格、回车、换行和制表符(Tab)等符号 三种类型如下: //注释一行 /*一行或多行注释*/ /**文档注释**/ 文档注释一般放在一个变量或方法定义之前,表示注释的内容可以由自动文档生成器javadoc读取,javadoc可以为Java API生成HTML文件; 2.空白符 包括空格、回车、换行和制表符(Tab)等符号

接上… 3 .普通分隔符 Java 有以下4种: -{ }大括号,用来定义复合语句、方法体、类体及数组的初始化; -; 分号,是语句结束的标志; -, 逗号,分隔方法的参数和变量说明等; -: 冒号,说明语句标号;

第二节 数据类型 Java 的数据类型可分为: -基本类型,包括整型、浮点型、布尔型和字符型; -数组类型,包括一维数组和多维数组; -复合类型,包括类与接口;

2.2.1 基本数据类型 Java定义了8种基本数据类型,如下: 数据类型 名称 所占位数 取值范围 数据类型 名称 所占位数 取值范围 布尔型 boolean 1 true,false 字节型 byte 8 -27~27-1 字符型 char 16 ‘\u0000’ ~ ‘ \uffff’ 短整型 short 16 -215~215-1 整型 int 32 -231~231-1 长整型 long 64 -263~263-1 浮点型 f loat 32 3.4e-038 ~3.4e+038 双精度型 double 64 1.7e-308 ~1.7e+308

2.2.2 直接量 布尔型数据只有两个值true和false,且它们不对应于任何整数值 直接量是一个具体的数值或字符串,某些书也称常量,但Java中的常量是另有所指的,指用final说明的一个标识符; 1.布尔型 布尔型数据只有两个值true和false,且它们不对应于任何整数值 布尔型变量的定义如: boolean b=true;

接上… 2.整型 整型常量 1. 十进制整数 如123,-456,0 2. 八进制整数 以0开头,如0123表示十进制数83,-011表示十进制数-9。 3. 十六进制整数 以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。

接上… 3.浮点型 浮点型常量 1. 十进制数形式 由数字和小数点组成,且必须有小数点,如0.123, .123, 123.,123.0 2. 科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。

接上… 4.字符型 字符常量 字符常量是用单引号括起来的一个字符,如‘a’,‘A’; 5.字符串 字符串常量 字符串常量是用双引号括起来的一个字符,如“Hello world!”;

2.2.3 变量

一.变量的声明 声明变量的语句如下: 类型 变量名[,变量名][=初值]; 该语句告诉编译器以给定的数据类型和变量名建立的一个变量。 类型 变量名[,变量名][=初值]; 该语句告诉编译器以给定的数据类型和变量名建立的一个变量。 可以一次声明多个变量,并赋初值,例如: byte b1,b2; int v1=0,v2=10,v3=18;

四种基本类型变量的声明 (1) 整型变量      整型变量有四种, 分别是8位的byte类, 16位的short类, 32位的int类和64位的long类.全部是有符号数(其中byte的范围是-256到255, 即最高位也可以用于表示正数). 其声明为:     byte op1;     short op2=2;     int op3;     long op4=4;

四种基本类型变量的声明 (2)浮点型变量    浮点型变量有float型和double型两种, 前者是32位单精度浮点数, 后者是64 位双精度浮点数. 其声明为:     float op1;         如果对float型数据赋初值, 必须在初值后加个f(或F), 如:     float op1=30.0f; double op2=0.5;    而在double型数据后可不加d/D, 因为Java自动把浮点数看成double型.

四种基本类型变量的声明 (3)字符型变量     Java的字符类型变量char是16位无符号整数, 用于表示16位的Unicode. 字符变量只存储单个字符, 其声明为:     char op1;     char op2='A', op3='\n'; //指定变量op2为char型,且赋初值为‘A' (4) 布尔型变量     布尔型变量boolean可取逻辑真和假两种值, 但不能用数字1或0代表, 其声明为:     boolean op1;     boolean op2=false, op3=true;

二.变量的使用范围 变量声明之后, 它的作用范围就确定了: 从变量声明的位置开始到它所在的代码块结束之处. Java的变量范围分为如下四种: 1.类变量:在类内和类外使用,可以被其他类引用; 2.本地变量:只在声明它的类或者方法内使用,不可以被其他类引用; 3.方法参数:在参数传入的方法内使用; 4.错误处理参数:在错误处理代码内使用;

接上… Java的变量范围举例: class Example { Static int i=100; //声明类变量 public static void main(String s[]) //声明方法参数 System.out.println(“旧的类变量是”+i); System.out.println(“方法参数是”+ s ); int i=200; //声明本地变量 System.out.println(“本地变量是”+i); Example.i -=100; System.out.println(“类变量是”+ Example.i ); } try{ ... } catch(Exception e){ } //声明错误处理参数

三.变量类型的转换 自动类型转换 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级: 低----------------------------------------------------->高 byte,short,char—> int —> long—> float —> double 操作数1类型 操作数2类型 转换后的类型 byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double 如果从高级转换成低级,则需要强制类型转换,但会导致溢出或丢失信息。如:double x = 10.23; int y=(int) x;

第三节 运算符与表达式

2.3.1 运算符 算术运算符: +,―,*,/,%,++,―― 关系运算符: >,<,>=,<=,==,!= 逻辑运算符: !,&&,|| 位运算符: >>,<<,>>>,&,|,^,~ 赋值运算符: =,及其扩展赋值运算符如+=,―=,*=,/=等。 条件运算符: ? : 其它:包括分量运算符 · ,下标运算符 [] ,实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。

2.3.2运算符的优先级

2.3.3 表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列。 一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值; 表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。 例: x num1+num2 a*(b+c)+d 3.14 x<=(y+z) x&&y||z

第四节 数组

一维数组 (1) 一维数组的定义 一维数组的定义方式为: type arrayName[ ]; 其中类型(type)可以为Java中任意的数据类型,包 括简单类型和组合类型,数组名arrayName为一个 合法的标识符,[ ]指明该变量是一个数组类型变量。 例如: int intArray[ ]; 声明了一个整型数组,数组中的每个元素为整型数据。

一维数组 我们还可以定义一个复合类型的数组,例如: Date dateArray[ ]; 声明了一个容纳复合数据类型Date的数组。 与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[ ]中不用指出数组中元素的个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。必须经过初始化后,才能应用数组的元素。

一维数组 除了这种定义数组的方式之外,java语言还提供了其他的定义形式,如下所示: type[ ] arrayName; 对于以上举出的例子,我们也可以这样定义: int[ ] intArray; Date[ ] dateArray;

一维数组 (2) 一维数组的初始化 一维数组定义之后,必须经过初始化才可以引用。数组的初始化分为静态初始化和动态初始化两种: 静态初始化:在定义数组的同时对数组元素进行初始化,例如: int intArray[ ]={1,2,3,4};//定义了一个含有4个 // 元素的int型数组。

一维数组 动态初始化:使用运算符new为数组分配空间,对于简 单类型的数组,其格式如下: type arrayName[ ]=new type[arraySize]; type[ ] arrayName=new type[arraySize]; 对于复合类型的数组,需要经过两步空间分配。 首先: type arrayName[ ]=new type[arraySize]; 然后:arrayName[0]=new type(paramList); … arrayName[arraySize-1]=new type(paramList);

一维数组 例如: String stringArrar[]; //定义一个String类型的数组 stringArray = new String[3]; //给数组stringArray分配3个应用 //空间,初始化每个引用值为null stringArray[0]=new String(“how”); stringArray[1]=new String(“are”); stringArray[2]=new String(“you”); 初始化各数组元素

一维数组 (3) 一维数组的引用 当定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。元素的引用方式为: arrayName[index] index为数组下标,可以是整型常数或表达式,如:arrayName[1], arrayName[i], arrayName[6*i]等。下标是0序的,即从0开始,一直到数组长度减1。

一维数组 intArray.length指明数组intArray的长度。 另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如: intArray.length指明数组intArray的长度。

举例 该程序对数组中的每个元素赋值,然后按逆序输出。 public class ArrayTest { public static void main( String args[ ] ) int i; int a[ ] = new int[5]; for( i=0; i<5; i++ ) a[i]=i; } for( i=a.length-1; i>=0; i-- ) System.out.println("a["+i+"] = "+a[i]); 该程序对数组中的每个元素赋值,然后按逆序输出。

1、数组 运行结果为: C:\>java ArrayTest a[4] = 4 a[3] = 3 a[2] = 2 a[1] = 1

一维数组 (4) 程序举例 a、Fibonacci数列 斐波纳契数列(一种整数数列, 其中每数等于前面两数之和) F1 = F2 = 1; Fn = Fn-1 + Fn-2 (n>=3) b、冒泡排序法 对数组中的元素进行比较,每次把最小的元素交换到最前面,最后使得整个数组按从小到达顺序排列。

多维数组 多维数组 在任何语言中,多维数组都被看作数组的数组。比如二维数组是一个特殊的一维数组,其每一个元素又是一个一维数组。我们主要以二维数组为例来说明,高维数组与此类似。

二维数组 (1) 二维数组的定义方式 type arrayName[ ][ ]; 例如: int intArray[ ][ ]; 也可以采用另一种定义方式: type[ ][ ] arrayName; 与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符new来分配内存,然后才可以访问每个元素。

二维数组 (2) 二维数组的初始化 二维数组的初始化也分为静态和动态两种。 静态初始化:在定义数组的同时为数组分配空间。 int intArray[ ][ ]={{1,2},{2,3},{3,4}}; 不必指出数组每一维的大小,系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小。

二维数组 动态初始化:对高维数组来说,分配内存空间有下面两种方法: 1.直接为每一维分配空间,如: 例如: type arrayName[ ][ ]=new type[arraylength1][arraylength2] 例如: int a[ ][ ]=new int[2][3];

二维数组 2.从最高维开始(而且必须从最高维开始),分别为每一维分配空间,如: String s[ ][ ]=new String[2][ ]; s[0]=new String[2]; s[1]=new String[2]; s[0][0]=new String(“Good”); s[0][1]=new String(“Luck”); s[1][0]=new String(“to”); s[1][1]=new String(“you”);

二维数组 (3) 二维数组的引用 对二维数组中每个元素,引用方式为: arrayName[index1][index2] (4)二维数组举例 两个矩阵相乘,参照参考书在课余时间上机练习。