




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java语言最新实用案例教程(第2版),第一课 第1章 java语言概述,(1)网络地位 java的平台无关性让java成为编写网络应用程序的佼佼者,而且java也提供了许多以网络应用为核心的技术,使得java特别适合于网络应用软件的设计与开发。 (2)语言地位 java是面向对象编程,并涉及到网络、多线程等重要的基础知识,是一门很好的面向对象语言。成为软件设计开发者应当掌握的一门基础语言。 (3)需求地位 由于很多新的技术领域都涉及到了java语言 ,导致it行业对java人才的需求正在不断的增长 。,java的地位,第1章 java 语言概述,1 java语言的产生 2 java的工作原理及特点 3 java应用体系(版本) 4 jsedk下载安装及配置 5 java程序结构 5.1 java应用程序 案例1-1:包含两个类的程序 5.2 applet程序 案例1-2:一个简单的绘图程序 5.3 application与applet程序的比较,1 java 的诞生,java是1995年6月由sun公司引进到我们这个世界的革命性的编程语言。 1990年sun公司成立了由james gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种家用电器等设备的芯片上的代码。 1995年5月sun公司推出java development kit(jdk)1.0a2版本,标志着java的诞生 java语言得名于印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇 学习java语言:整体具体,与c+的区别(面向对象语言),1、指针 2、多重继承 3、数据类型及类 4、自动内存管理 5、操作符重载 6、预处理功能 7、 java不支持缺省函数参数,而c+支持 8、字符串 9、“goto“语句 l0、类型转换 11、异常,2 java 的特点,1简单 2面向对象 3分布式 4健壮 5结构中立 6安全 7可移植性 8解释性 9多线程 10动态,3 java应用体系(版本),sun公司要实现:write once,run anywhere 目前java运行平台主要分为3个版本: java se: java 标准平台 java ee: java企业平台 java me: java小型平台 学习java必须从j2se开始目前sun公司已发布了j2sdk(java2 software develop kit)的1.7版本,可以登录到sun公司的网站: /us/sun/index.html 我们使用 j2sdk1.6,4 java 编程环境的搭建,下载jdk1.6。 本书将使用针对window操作系统平台的jdk,因此下载的版本为jdk-6u24-windows-i586-p.exe。 选择安装路径界面。为了便于今后设置环境变量,建议修改默认的安装路径为:d:jdk1.6 。 系统环境path的设置。 系统环境classpath的设置。,系统环境变量path 值的设置,sdk平台提供的java编译器(javac.exe)和java解释器(java.exe)位于java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置path。,系统环境classpath 值的设置,sdk的安装目录的jre文件夹中包含着java应用程序运行时所需要的java类库,这些类库被包含在jrelib目录下的压缩文件rt.jar中,一个java程序的开发过程,.class,5.1 一个简单的java应用程序,public class hello public static void main (string args ) system.out.println(“hello world!“); ,保存 到c:lesson1中,命名为:hello.java。 注意:源文件的命名规则 如果源文件中有多个类,那么只能有一个类是public类。 如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。 如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。 编译 使用java编译器(javac.exe)对其进行编译。 c:lesson1javac hello.java 运行 通过虚拟机中的java解释器(java.exe)来解释执行其 字节码文件。 c:lesson1java hello,5.2 一个简单的java小应用程序(java applet),import java.applet.*; import java.awt.*; public class boy extends applet public void paint(graphics g) g.setcolor(color.red); g.drawstring(“我一边喝着咖啡,一边学java呢“,5,30); g.setcolor(color.blue); g.drawstring(“我学得很认真“,10,50); ,编译 c:lesson1javac boy.java 运行 java applet由浏览器来运行,因此我们必须编写一个超文本文件 (含有applet标记的web页)通知浏览器来运行这个java applet。boy.html 如果浏览器不支持java applet程序(比如win xp 自带的ie),你也可以使用sdk提供的appletviewer来调试小程序,如,在dos命令行执行: c:lesson1appletviewer boy.html,5.3 application与applet程序的比较,运行方式不同 运行工具不通 程序结构不同 受到的限制不通,课后练习,1.在控制台窗口输出 * *practice makes perfect * 2.在网页上显示 * *熟能生巧 * 并画出一个矩形,1.5.1 基本编码规则 1.5.2 案例1-3:代码注释 1.5.3 数据类型 1.5.4 常量和变量 1.5.5 运算符和表达式,1.5 java语言基础,1.5.1 基本编码规则,1 标识符:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为。 2 命名规则:java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。 3 关键字:就是java语言中已经被赋予特定意义的一些单词。不可以把这类词作为名字来用。,java 的注释,/单行注释 /*多行注释*/ /* *文档注释 */ /*多行注释*/ 文件注释 类注释 方法注释 全局变量注释 内部代码注释,1.5.3 java语言的数据类型划分,基本数据类型,java语言有8种简单数据类型,分别是: boolean、byte、short、int、long、float、double、char(2)。 分为4大类型: 整数类型:byte、short、int、long 浮点类型:float、double 字符类型:char 逻辑类型:boolean,整数占用内存大小以及取值范围,长整型数值,long la = 9876543234l; / 超出了int取值范围,必须加“l” long lb = 98765432l; / 未超出int取值范围,也可以加“l” long lc = 98765432; / 未超出int取值范围,可以省略“l”,浮点数,声明为浮点数型的常量或变量用来存储小数,浮点数包括单精度型(float)和双精度(double)两个基本数据类型,float型数值,float fa = 9412.75f; / 赋值为小数,必须 “f” float fb = 9876543210f; / 赋值超出int取值范围,必须 “f” float fc = 9412f; / 未超出int取值范围,可以 “f” float fd = 9412; / 也可以省略“f”,double型数值,double da = 9412.75d; / 所赋值为小数,可以加上 “d” double db = 9412.75; / 所赋值为小数,也可以省略 “d” double dc = 9412d; / 未超出int取值范围,可以加上 “d” double dd = 9412; / 未超出int取值范围,可以省略“d” double de = 9876543210d; / 超出int取值范围,必须加上 “d,字符型,“char”进行声明。 java中的字符通过unicode字符编码,以二进制的形式存储到计算机中,计算机可通过数据类型判断要输出的是一个字符还是一个整数。unicode编码采用无符号编码,一共可存储65536个字符。,char ca = m; / 将大写字母“m”赋值给char型变量 char cb = *; / 将符号“*”赋值给char型变量 char cc = 男; / 将汉字“男”赋值给char型变量,逻辑型,boolean ba = true; / 将true赋值给变量ba boolean bb = false; / 将false赋值给变量bb,也可以将逻辑表达式赋值给boolean型变量,例如下面的代码分别将逻辑表达式“6 8”赋值给boolean型变量ba和bb。,boolean ba = 6 8; / 将表达式“6 8”赋值给变量bb,引用数据类型,引用数据类型包括类引用、接口引用以及数组引用。 下面的代码分别声明一个java.lang.object类的引用、java.util.list接口的引用和一个int型数组的引用。 说明:将引用数据类型的常量或变量初始化为null时,表示引用数据类型的常量或变量不引用任何对象。,object object = null; / 声明一个object类的引用变量 list list = null; / 声明一个list接口的引用变量 int months = null; / 声明一个int型数组的引用变量,基本类型与引用类型的区别,基本数据类型与引用数据类型的组成 基本数据类型是一个单纯的数据类型。它表示的是一个具体的数字、字符或逻辑值,例如68、m或true 引用数据类型是一个复杂的数据结构的实例。在引用数据类型变量所引用的实例中,不仅可以包含基本数据类型的变量,还可以包含对这些变量的具体操作行为,甚至是包含其他引用类型的变量。 虚拟机处理两种类型变量的方式。 基本数据类型的变量,java虚拟机会根据变量的实际类型为其分配内存空间。 引用类型的变量,java虚拟机在内存空间中存放的并不是变量所引用的对象,而是对象在堆内存中存放的地址,1.5.4 常量与变量,所谓常量,就是值永远不允许被改变的量。必须用关键字final修饰 final 常量类型 常量标识符; 所谓变量,就是值可以被改变的量。声明方式如下: 变量类型 变量标识符;,1.5.5 运算符与表达式,java 提供了丰富的运算符,如算术运算符、关系运算符符、逻辑运算符、位运算符等。本节将介绍大部分运算符。,1 算术运算符与表达式,用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式,如x+2*y-30+3*(y+5)。 加减运算符:+,- 乘,除和求余运算符:*,/,% 算术混合运算的精度 精度从“底”到“高”排列的顺序是: byte short int long float double java将按运算符两边的操作元的最高精度保留结果的精度,例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。,自增,自减运算符:+,-,自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1 +x(-x)表示在使用x之前,先使x的值加(减)1。 x+(x-)表示在使用x之后,使x的值加(减)1。,3算术混合运算的精度,精度从“底”到“高”排列的顺序是: byte short int long float double java将按运算符两边的操作元的最高精度保留结果的精度, char型数据和整型数据运算结果的精度是int。例如: byte x=7; 那么 b+x; 的结果是int型,因此下列写法是不正确的, char ch=b+x; 应当写成: char ch=(char)(b+x);,4关系运算符与关系表达式,关系运算符:,8,(x+y)80。,逻辑运算符与逻辑表达式,逻辑运算符包括:&,|,!。其中&、|为双目运算符,实现逻辑与、逻辑或;!为单目运算符,实现逻辑非。逻辑运算符的操作元必须是boolean型数据 ,逻辑运算符可以用来连接关系表达式。例如,28&92的结果为false,28|92的结果为true。,6赋值运算符与赋值表达式,赋值运算符:=。 赋值运算符是双目运算符 左面的操作元必须是变量,不能是常量或表达式。 赋值运算符的优先级较低 结合方向右到左 注意不要将赋值运算符“=”与等号运算符“=”混淆。,7位运算符,“&” ”按位与”: 运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。 “|” ”按位或”: 运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。 “” ”按位非”:单目运算符 运算法则是:如果a对应位都是0,则c的该位是1,否则是1。 “” ”按位异或”: 运算法则是:如果a,b两个数据对应位相同,则c的该位是0,否则是1。 同一个数对a按位异或两次,结果还是a,位运算符,用于 int、short、long、byte 和 char 数据类型,:表示为二进制补码,舍右,左补最高位 :表示为二进制补码,舍左,右补0,例子1(效果如图3.1),class example3_1 public static void main(string args) char a1=十,a2=点,a3=进,a4=攻; char secret=8; a1=(char)(a1secret); a2=(char)(a2secret); a3=(char)(a3secret); a4=(char)(a4secret); system.out.println(“密文:“+a1+a2+a3+a4); a1=(char)(a1secret); a2=(char)(a2secret); a3=(char)(a3secret); a4=(char)(a4secret); system.out.println(“原文:“+a1+a2+a3+a4); ,8instanceof 运算符,该运算符是双目运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算的结果是true ,否则是false。,instanceof 运算符,class idemo public static void main (string args ) idemo t = new idemo( ); if (t instanceof idemo) system.out.println (“t是idemo 的实例“); else system.out.println (“t不是idemo 的实例!“); ,可以确定对象是否属于一个特定的类,9运算符综述,java的表达式就是用运算符连接起来的符合java规则的式子 运算符的优先级决定了表达式中运算执行的先后顺序。例如,xy&!z相当于(xy)&(!z) 没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号()运算符号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序 运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3相当于(8-5)+3。逻辑否运算符!的结合性是右到左,!x 相当于!(!x)。,三元运算符 (?:),三元运算符 (? :) 可以替代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年传染病防控知识检测模拟试题答案及解析
- 2025-2030功能性食品行业消费需求变化及营销策略评估报告
- 2025-2030功能性运动纺织品技术专利布局与商业化应用前景报告
- 2025-2030功能性药用饲料对肉品质改善效果验证分析报告
- 2025-2030功能性寡糖在幼畜饲料中应用效果市场调研报告
- 2025-2030共享出行平台用户粘性分析及市场拓展策略研究报告
- 2025-2030全球动力电池回收利用产业发展现状与前景预测报告
- 新能源汽车二手车市场2025年评估指标与流通体系完善策略报告
- 2032年新能源汽车出口市场品牌建设与品牌国际化研究报告
- 2025年市场拓展:新能源汽车换电服务在二三线城市的推广策略报告
- 校园传染病防控班主任培训
- 《大肠癌的治疗进展》课件
- GB/T 15268-2024桑蚕鲜茧
- GYK运行记录智能分析系统研究
- 计划生育服务站劳动合同
- GB/T 44757-2024钛及钛合金阳极氧化膜
- 红领巾爱祖国 星星火炬耀成长主题班会2
- 中国地级市经纬度-精确版
- 07SG111-1 建筑结构加固施工图设计表示方法
- DB44-T 2474-2024 自然教育标识设置指引
- 2022年高考全国Ⅰ卷语文真题及参考答案-全国Ⅰ卷
评论
0/150
提交评论