于波.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

Java 大学实用教程 ( 第 3 版 ) 主讲:程继洪 第 1 章 Java 语言概述  本章导读 Java 语言的诞生Java 语言的诞生 学习 Java 的必要性 学习 Java 的必要性 Java 的特点及与 C/C++ 之关系Java 的特点及与 C/C++ 之关系.
第 2 章 Java 运行环境搭建 2.1 Java 的运行系统 2.1 Java 的运行系统 2.2 JDK 的安装与配置2.2 JDK 的安装与配置 2.3 Java 开发工具包 2.4 Java 源文件编辑环境的选择 2.5 Application 和 Applet 程序的编写与运行.
第一章 Java 程序设计技术 概述  什么是 Java 语言  一个简单的 Java 程序  程序的编译和运行  常见错误  使用 Java 核心 API 文档.
程序设计语言基础 软件工程系 秦晓燕. 课程目标 了解面向对象程序设计的思想,以及软件 开发流程。 学习 Java 语言的基本概念和编程方法,基 本掌握 Java 类库的使用。 能够利用所学的方法开发简单的小型应用 程序.
Java 程序设计 案例教程 北京大学出版社 第 01 章. Java 程序设计案例教程 第 01 章 Java 语言与面向对象程序设计 Java 语言的历史 Java 语言的特点 Java 程序的分类 Java 环境配置 Eclipse 的安装 Java 程序的调试 教学目标.
Java 程序设计(第二版) 普通高等教育 “ 十一五 ” 国家级规划教材 辛运帷等 编著 徐小平 主讲.
《 Java开发环境配置》 主讲人:耿力.
Java程序设计教程 第一讲 Java概述.
四資二甲 第三週作業 物件導向程式設計.
Tool Command Language --11级ACM班 金天行.
JAVA程序设计.
北京科技大学天津学院 信息工程系 面 向 对 象 程 序 设 计 第1讲 Java初探 主讲:于静.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第二章 JAVA语言基础.
第1章 java简介及环境搭建 第1章 Java简介及开发环境搭建.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第三章 控制结构.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
第二讲 搭建Java Web开发环境 主讲人:孙娜
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
走进编程 程序的顺序结构(二).
辅导课程六.
2018/12/7 Java语言程序设计 教师:段鹏飞.
Java基础入门 第1章 Java开发入门 · Java语言的特点 · Java开发环境的搭建 · 环境变量的配置 · Java的运行机制.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
第二章 Java语言基础.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
認識 Java.
程式設計 老師:戴自強 助教:楊斯竣.
01.Java语言概述 讲师:复凡.
三:基于Eclipse的集成开发环境搭建与使用
第4章 PHP流程控制语句.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
第二章Java基本程序设计.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
開發Java程式語言的工具 JDK.
第二章 Java基本语法 讲师:复凡.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第4章 Excel电子表格制作软件 4.4 函数(一).
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
Review 1~3.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
学习目标 1、了解基本运算符 2、运算符优先级.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
變數、資料型態、運算子.
第2章 Java语言基础.
第二章 Java基础语法 北京传智播客教育
第2章 Java语言基础.
第二章 Java基本语法 讲师:复凡.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

于波

教学目标 JAVA开发环境配置与开发工具安装 Java基本数据类型基础运算符 程序控制语句(if..else) 程序控制语句(switch) 程序控制语句(while) 程序控制语句(for) 数组 综合训练

Java历史 Sun Microsystems于1991年开始研发一种交互式电视点播项目,由此项目产生了Java语言,1995年5月23日正式发布。 Java是一种面向对象、独立于平台、安全的编程语言。

Java历史 1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录 1997年9月,JavaDeveloperConnection社区成员超过十万 1998年2月,JDK1.1被下载超过2,000,000次 1998年12月8日,JAVA2企业平台J2EE发布 1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME) 2000年5月8日,JDK1.3发布 2000年5月29日,JDK1.4发布 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 2001年9月24日,J2EE1.3发布 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升 2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 2007年1月,J2SE1.6发布 更名为Java SE 6.0

Java虚拟机 JVM(Java Virtual Machine):Java虚拟机 在真实的机器中用软件模拟实现的一种虚拟机器(类似于模拟器) JVM能够读取Java编译后的(字节码)程序并且解释成当前平台的机器语言得以执行 Java虚拟机实现了:CPU、寄存器、垃圾回收堆、错误报告机制和高精度计时等等

Java虚拟机 Java程序通过虚拟机实现跨平台

Java版本 Java SE:Java Platform Standard Edition Java EE:Java Platform Enterprise Edition Java ME:Java Platform Micro Edition

Java特点 面向对象 跨平台、一次编写到处运行 半编译半解释 分布式 Everything is object 通过JVM 实现Write once run everywhere 半编译半解释 通过编译器将源程序编译成字节码(bytecode)程序,然后JVM解释执行字节码 分布式 可以开发基于网络的分布式程序

Java特点 安全 没有指针 健壮 自动垃圾回收机制来管理内存 异常处理机制

Java开发环境 JDK(Java Development Kit): Java开发工具包 bin目录:存放可执行文件; lib目录:存放Java的类库文件; demo目录:存放演示程序; jre目录:存放Java运行环境文件;

Java开发环境 配置环境变量 path配置系统公共路径 classpath配置类路径

JDK编译和运行工具 javac.exe Java编译器,用于将java源程序编译成为字节码(Byte Code) 格式: 例: Javac Test.java

JDK编译和运行工具 java.exe:字节码解释器。用于启动JVM,解释执行 Java 字节码程序 格式: java 类名称 [参数] 例: java Test (注意不需要输入扩展名)

JDK编译和运行工具 Javadoc.exe 将你的程序输出注释文档。 格式: javadoc 源程序名 例子: javadoc Test.java

开发Java程序步骤 创建Java源程序 Java源程序一般用java作为扩展名,是一个文本文件,用Java语言写成,可以用任何文本编辑器创建与编辑。 编译源程序 Java编译器,“javac.exe”,读取你的Java源程序并翻译 成Java虚拟机能够明白的指令集合,且以字节码的形式保存在文件中。字节码文件以class为扩展名。 运行class(字节码)文件 Java解释器读取字节码,取出指令并且翻译成当前平台(操作系统)能执行的机器代码,完成运行过程。

编译运行流程

JVM任务 加载代码——类加载器 校验代码——字节码校验器 执行代码——解释器

字节码校验器 1. 类符合JVM规范的格式 字节码校验器对代码进行四次校验,它可以保证: 2. 没有访问权限的违例 3. 代码没有引起上溢与下溢 4. 所有代码的参数类型正确 5. 无非法数据类型转换

第一个Java程序 public class Test { public static void main(String[ ] args) System.out.println("欢迎来到 Java 世界!"); } //注意Java是大小写敏感的编成语言

第一个Java程序注解 /** 定义了一个公共的类名字叫Test public关键字代表类是公共的,允许其它类访问的 class关键字用于定义类 Test是类名 */ public class Test { 这个是主方法是程序运行的入口方法 public static void main(String[ ] args) System.out.println(“欢迎来到 Java 世界!”);//在屏幕上输出括号内的信息 }

复习与训练 练习Java开发环境搭建 编写一个简单的Java程序在控制台输出Hello World.

IDE集成开发环境 IDE (Integrated Development Environment) 集成开发环境 是能够提高软件开发效率的软件开发工具,它集成编辑、编译、调试、运行、打包等功能,java常用的IDE有Eclipse、JBuilder、Net Bean、JCreator等

变量 数据类型: 表示符号: 变量:存储数据的基本单元 如何创建一个变量 数据类型 标识符 [=值];

数据类型 原始数据类型(8种) 引用数据类型 类 接口 数组 整 型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 引用数据类型 类 接口 数组

整型 1.整型变量的值可以是8进制、10进制和16进制 int a=10; int b=012; int c=0xff; 2.变量的值要符合相应的赋值范围 类型 大小 取值范围 byte 8bit -27~27-1 short 16bit -215~215-1 int 32bit -231~231-1 long 64bit -263~263-1

整型 字面量类型 整型字面量默认类型为int 如: 32 15 222 都是int类型 如需表示long类型字面量需 在后面加L或l

浮点型 普通形式 科学计数法 浮点型字面量默认类型为double如:33.33 12.35D 32.5 63.12 12.31 88.99 科学计数法 1E7 5E-5 9.32E-2 5.55E7 浮点型字面量默认类型为double如:33.33 12.35D 如需表示float类型字面量需在字面量后面加F或f 如:33.5f 88.88f 类型 大小 取值范围 float(单精度) 32bit 表示约7~8位有效数字 (之后变为科学技术法表示) double(双精度) 64bit 表示约15~16位有效数字

字符型 char类型用于存储单个字符,如字母、数字或者其他符号 使用单引号括起来 char类型16bit,采用Unicode字符集编码 转译字符: 字符 含义 \n 换行 \r 回车 \t 制表符 \\ 反斜杠 \” 双引号 \uxxxx Unicode字符集中对应的字符

布尔型boolean 代表真true或假false 取值范围只有true或false; boolean不可以与其他数据类型转换

标识符 标识符作用 标识符的规则 开头字符:只能是英文字母、下划线 _ 、或美元符号 $。 后续字母:可以是以上三种再加上数字 不能是关键字或保留字

关键字 关键字:是SUN公司提前定义好的,拥有特定功能的保留字,不允许成为类名、变量名或方法名。

Sun命名规范 类命名: 变量、方法命名 首字母大写,单词与单词之间首字母大写。 例:Student SellPerson 首字母小写,单词与单词之间首字母大写。 例:identityCard firstName getName

数据类型转换 自动类型转换 两种类型兼容; 目标类型大于源类型; 强制类型转换 两种类型不兼容 目标类型小于源类型

常量 常量:对于在程序运行过程中一直不变的值,可以使用一种特殊的变量——常量。 声明常量 注意: final 类型 常量名=初始值; final float PI=3.141592f; 注意: 常量名要求全部大写,单词与单词下划线以分割。 如 final MAX_VALUE=255;

String 字符串类型 String类,是sun公司提供的基础类库中的一个普通的Java类,来自java.lang包,String类型变量可以用于存储字符串 如 String name=“tom”; String schoolName=“沈阳职业技术学院软件学院”;

基本数据类型与字符串转换 字符串转换成基本数据类型 基本数据类型与字符串拼接就会变成字符串 如: int a=5; String b=“10”+a; 字符串转换成基本数据类型 String a=“25”; int b=Integer.parseInt(a);

局部变量 什么是局部变量 局部变量特点 局部变量声明周期与作用域 使用前必须付初值 声明在类中,方法之内的变量就叫做局部变量。 当程序执行到声明变量的代码时,局部变量产生了,当程序执行过局部变量所在作用域后局部变量消亡,作用域指的是局部变量所在的语句块(花括号)。 局部变量特点 使用前必须付初值

复习与训练 练习在IDE(Eclipse)上创建项目,创建、编辑、运行类

表达式 表达式:是包括运算符和操作数的程序语句。 运算符:是一个符号,用于操作计算一个或多个操作数以得出结果。 操作数:参数运算的变量或字面量。 运算符分类 算数运算符 + - * / % ++ -- 比较(关系)运算符 > >= < <= != == 逻辑运算符 & | ! ^ && || 赋值运算符 = += -= *= \= 位运算符 ~ & | ^ << >> >>> 三元运算符 ?:

算数运算符 符号 名称 作用 + 加法运算符 进行加法运算 如 int a=3+2; - 减法运算符 进行减法运算 如 int b=5-3; * 乘法运算符 进行乘法运算 如 int c=5*3; / 除法运算符 进行除法运算 如 int d=10/3; % 取余运算符 进行取余运算 如 int e=5%3; ++ 递增运算符 将某个数+1如a++或++a,++写在左边是先自加在赋值,写在右边是先赋值在自加 -- 递减运算符 将某个数-1如a--或--a,--写在左边是先自减在赋值,写在右边是先赋值在自减

表达式数据类型 表达式结果数据类型取决于表达式中数据类型级别最高的数据类型。 只有byte 和short例外,它们运算后结果会自动提升为int类型。

比较运算符 符号 名称 作用 > 大于 比较大小,返回布尔值boolean >= 大于等于 < 小于 <= 小于等于 != 不等于 比较是否不等,返回布尔值boolean == 等于 比较是否相等,返回布尔值boolean

逻辑运算符 符号 名称 作用 & 逻辑与 与符号两边的条件都为真,结果为真 | 逻辑或 或符号两边的条件至少有一边为真,结果为真 ! 逻辑非 将结果取反 ^ 逻辑异或 异或符号两边的值不等结果为真 && 短路与 短路与符号左边条件为假后不在计算右边 || 短路或 短路或符号左边条件为真后不在计算右边

赋值运算符 符号 名称 作用 = 等于 x=y 把变量y的值赋给x += 加等于 x+=y 同等于 x=x+y -= 减等于 *= 乘等于 x*=y 同等于x=x*y; \= 除等于 x/=y 同等于x=x/y;

按位运算符 符号 名称 作用 ~ 按位取反 将一个整数以二进制形式进行按位取反 & 按位与 将两个数以二进制形式进行按位进行与运算 | 按位或 将两个数以二进制形式进行按位进行或运算 ^ 按位异或 将两个数以二进制形式进行按位进行异或运算 << 左移 将一个数以二进制形式进行左移 >> 右移 将一个数以二进制形式进行右移 >>> 无符号右移

三元运算符 ?: 条件式?值1:值2 如果条件式成立,则表达式值为值1,否则为值2 例: String result=age>=18?”成年人”:”未成人”;

运算符的优先级 表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序。 顺序 运算符 1. 括号( ) 2. ++、- -和 ! 3. 算术运算符,如 *、/、%、+ 和 - 4. 比较运算符,如 >、>=、<、<=、== 和 != 5. 逻辑运算符,如 &、^、|、&&、|| 6. 条件运算符和赋值运算符,如 ? :、=、*=、/=、+= 和 -=

条件语句if 单if条件分支语句格式 if(条件表达式) { 动作…. } 练习 //该条件表达式结果必须是boolean型的 例: int x=10; int y=5; if(x>y) System.out.println(x); 练习 4.1判断一个数是不是奇数 4.2判断一个学生成绩是不是及格

条件语句if 二选一条件分支语句格式 if(条件表达式) 练习 4.3判断一个数是奇数还是偶数 4.4判断一个学生成绩是及格还是不及格 { 动作1 } else 动作2 练习 4.3判断一个数是奇数还是偶数 4.4判断一个学生成绩是及格还是不及格

条件语句if 多选一条件分支语句格式 if(条件表达式1) { 动作1 } else if(条件表达式2) 动作2 …… else 动作3 练习 4.5编写一个程序,输入一个学生成绩,判断是优秀、良好、及格还是不及格 4.6编写一个猜数字游戏,随机产生一个整数,让用户来猜,用户输入的数如果大于这个整数,则输出提示大了,如果用户输入的数与该整数一致,则输出猜对了,如果用户输入的数小于该整数则提示小了。

嵌套if语句 嵌套if分支语句格式 if(条件表达式) { 动作 }

多分支语句switch 练习 4.7输入一个学生成绩,用switch语句判断是优秀、良好、及格还是不及格 switch多分支语句格式: 4.9假定某年的1月1日是星期一,这一年中的第x天是星期几?保证x的范围是1~365,否则输出错误信息,要求使用switch语句 例子: int x=10;int y=5;int z; char operator='*'; switch(operator) { case '+': z=x+y; break; case '-': z=x-y; case '*': z=x*y; default: z=x/y; } System.out.println(z); switch多分支语句格式: switch(表达式) { case value1: 动作1 break; case value2: 动作2 …... default: 动作3 } //表达式的结果只能为byte、 short、int、char其中一种

循环语句while while循环语句语法 练习 4.10编写一个程序计算1+2+3+…+98+99+100的和 { 循环体语句 } //条件表达式结果必须是boolean值 例: int x=0;//初始化变量 while(x<5)//循环条件 System.out.println(x);//循环内容 x++;//变量自加 练习 4.10编写一个程序计算1+2+3+…+98+99+100的和 4.11编写一个程序计算1+3+5+7+…+97+99的和

循环中断语句 break continue 结束整个循环。 结束本次循环,继续下一次循环判断 练习 4.12编写一个猜数字游戏,随机产生一个整数,让用户来猜,用户输入的数如果大于这个整数,则输出提示大了,如果用户输入的数小于该整数则提示小了,如果用户输入的数与该整数一致,则输出猜对了,猜对了后退出游戏,猜错了就重新猜

循环语句do while do while 首先都执行一次, 才判断循环条件是否成立。 int x=0;//初始化变量 do { System.out.println(x); x++; }while(x<5);//循环条件

循环语句for for语法 练习 4.13编写一个程序计算1+2+3+…+98+99+100的和 4.14编写一个程序计算1+3+5+7+…+97+99的和 4.15编写一个程序,判断任意一个整数是不是质数 4.16编写一个程序,求任意两个数的最大公约数 4.17编写一个程序,求任意两个数的最小公倍数 4.18敲七 for语法 for(初始表达式;循环条件表达式;递增表达式) { 循环体语句 } 例 for(int i=0;i<5;i++) System.out.println(i);

嵌套循环 循环嵌套 练习 4.19用循环在屏幕上画下面这样一个图形 * ** for(int i=0;i<2;i++) *** { 4.20用循环在屏幕上输出一个99乘法表 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 … … 循环嵌套 for(int i=0;i<2;i++) { for(int j=0;j<3;j++) System.out.println("hello"); }

嵌套循环中断语句 break 标签:结束标签指定循环 continue 标签: 结束一次指定标签循环,进行下一次循环判断 练习 4.21编写一个程序,列出1~100中的所有质数。

数组 什么是数组? 如何声明和创建一个数组? 动态创建方式 静态创建方式 数组的内存模型

概念 数组的基本概念 数组内元素的赋值 取出数组内元素的值 数组的元素-element 数组的长度-length 数组的类型-type 数组的下标-index 数组内元素的赋值 取出数组内元素的值

使用数组 如何遍历数组? 使用数组常见的错误 NullPointerException ArrayIndexOutOfBoundException

练习 5.1给定一维数组,计算出数组中的平均值、最大值、最小值。 int[] x={32,2,5,1,9,4}; 5.2对上面数组进行排序 5.3查找数组中是否含有某个元素,含有返回下标,不含有返回-1,比如查找5,返回下标2

数组复制 数组的克隆 数组元素的复制 数组工具类

多维数组 创建多维数组 动态创建 静态创建 锯齿数组 数组行的长度不同,我们称之为锯齿数组。 多维数组遍历

练习 使用二维数组在屏幕上打印出杨辉三角形。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

命令行参数 在主方法中接受命令行参数 public static void main(String[] args) { }