第2章Java语言编程基础(贾克)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章Java语言编程基础(贾克)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 编程 基础 贾克 课件
- 资源描述:
-
1、第2章 Java语言编程基础 主讲:贾克复习与思考 1 1、举例说明什么是对象,什么是类,类、举例说明什么是对象,什么是类,类和对象有什么不同?和对象有什么不同?2 2、举例说明类的继承性。、举例说明类的继承性。2.1 Java语言的基本组成 2.1.1 分隔符 1空白符:换行、回车、空格、tab2注释语句:例题参见P25/一行的注释内容/*一行或多行的注释内容*/*文档注释内容*/3普通分隔符:;,:共4种2.1 Java语言的基本组成 2.1.2 关键字关键字 所有的关键字都是小写的。参见P25 const和goto是java的保留字,但已经不再使用then和sizeof都不是java的关
2、键字,大写的NULL不是java语言的关键字,String是java语言的一个封装类的类名,也不是关键字,使用时要注意。2.1 Java语言的基本组成 2.1.3 Java语言标识符语言标识符 首字符必须是字母(大小写均可)、下划线或美元符$标识符可以由数字(0-9)、所有从A-Z的大写字母、a-z的小写字母和下划线、美元符$和所有在十六进制0 xc0前的ASCII码等构成长度不限2.1 Java语言的基本组成 2.1.4 Java的编码规范的编码规范 包package:包名采用完整的英文描述符,全由小写字母组成 类class和接口interface:类名采用完整的英文描述符,所有单词的第一个
3、字母均大写 组件/部件(Component):使用完整的英文描述来说明组件的用途,末端应接上组件类型 2.1 Java语言的基本组成 2.1.4 Java的编码规范 异常(Exception):通常采用字母 e 表示异常的实例 变量variable和方法method:采用完整的英文描述,第一个字母小写,后面任何单词的首字母大写 静态常量字段(static final):全部采用大写字母,单词之间用下划线分隔 2.2 基本数据类型 数据类型2.2 基本数据类型 2.2.1 基本数据类型 1布尔型boolean也称为逻辑型,只有两个取值:true表示逻辑真,false表示逻辑假,这种变量称为boo
4、lean型变量2字符型charchar型是用来表示字母的,它仅能表示一个单一的Unicode字母,其值用16位无符号整数表示(2个字节,因此可以存放汉字),范围是065535 2.2 基本数据类型2字符型char例:下面分别输出什么?lchar a=a;System.out.println(a);lint a=a;System.out.println(a);l char a=a+1;System.out.println(a);2字符型char在java中,对char进行运算的时候,就是将其当作其ASCII码对应的整数。2.2 基本数据类型 2.2.1 基本数据类型 3.整型在Java语言中,提
5、供了4种整型数据类型:byte、short、int、long,它们都是定义了一个整数,但它们能够表示数据的范围不同。byte 1个字节 -128127 -21*8-1 21*8-1-1 short 2个字节 -22*8-1 22*8-1-1 int 4个字节 -24*8-1 24*8-1-1 long 8个字节 -28*8-1 28*8-1-12.2 基本数据类型2.2.1 基本数据类型 3.整型判断输出lbyte a=128;System.out.println(a);lint a=077;System.out.println(a);lint a=0X77;System.out.printl
6、n(a);2.2 基本数据类型2.2.1 基本数据类型 4浮点型在Java语言中有两种浮点数类型:float、double 区别在于表示范围不一样。float 4个字节 double 8个字节浮点数常量是double类型如果要求是float型实数,必须加上F标志判断输出lfloat a=3.4;lSystem.out.println(a);问题:float 也叫单精度,double双精度,他们表示的精度有什么差别吗?2.2 基本数据类型2.2.2 数据类型转换自动类型转换l判断对错:lint a=3.4;ldouble a=3.4;强制类型转换lint a=(int)3.4;2.2 基本数据类
7、型 2.2.2 类型转换 计算中类型转换:整型、实型、字符型数据可以进行混合运算。运算时,不同类型的数据先转换成同一类型后再参与运算,转换的原则是位数少的类型转换成位数多的类型,称为自动类型转换 例:下面会出现何种情况?lint a=3;lint b=a+3.4;l int a=15;l float b=3.0f;l System.out.println(a=+a+,b=+b+n);l System.out.println(a/b=+a/b+n);例:int a=7;int b=3;float g,h;System.out.println(a=+a+,b=+b);g=a/b;System.ou
8、t.println(a/b=+g+n);System.out.println(a=+a+,b=+b);h=(float)a/b;/若此处改为=(float)(a/b);System.out.println(a/b=+h);2.3 运算符与表达式 2.3.1 算术运算符 1.双目算术运算符双目算术运算符包括+、-、*、/和%(取模)五种运算符。例:用java编写程序计算两个数是否能够整除public class$2 public static void main(String args)int a=3;int b=6;if(b%a=0)System.out.println(yes);else S
9、ystem.out.println(no);2.3 运算符与表达式2.3.1 算术运算符 2单目算术运算符 +,+,-,-int i=10,j,k,m,n;j=+i;k=-i;m=i+;m=+i;n=i-;n=-i;2.3 运算符与表达式 2.3.2 关系运算符=i+);l System.out.println(i=+i);l System.out.println(k=+k);lint i=10;l boolean k=(true|(9i+);l System.out.println(i=+i);l System.out.println(k=+k);2.3 运算符与表达式 2.3.4 位运算符
10、 按位取反&按位与|按位或 按位异或 op1右移op2位 op1无符号右移op2位注意:0和1如何进行位运算int i=1;int j=2;int flag=i|j;System.out.println(flag=+flag);int flag=ij;同的区别:最高位的填充-42;-1 最高为填充与原最高位相同 -42;1073721823 最高位一律填充02.3 运算符与表达式 2.3.5 赋值运算符=1.赋值运算符赋值运算符“=”把一个数据赋给一个变量,在赋值运算符两侧的类型不一致的情况下,进行类型转换2.扩展赋值运算符在赋值符“=”前加上其它运算符,即构成扩展赋值运算符 a+=3等价于a
11、=a+32.3 运算符与表达式 2.3.6 条件运算符 条件运算符?:为三目运算符,它的一般形式为:expression?statement1:statement2 例:int a=2,b=3int maxValue=ab?a:b2.3.7 表达式计算优先级大体上 由高到低排列为:一元运算符算数运算符关系和逻辑运算符赋值运算符a=b&c3 =?2.4 数组Java语言把内存分两种:语言把内存分两种:l栈内存栈内存:存放:存放基本类型的变量基本类型的变量和和对象的引用变量对象的引用变量l例:例:int a=6;l char b=k;l Cat cat1=new Cat();内存内存cat1内存放
12、的是堆内存放的是堆cat1的的首地址首地址l堆内存堆内存:存放由:存放由New运算符创建的运算符创建的对象和数组对象和数组l例:例:Cat cat1=new Cat();2.4 数组 2.4.1 一维数组 1.一维数组的定义 int a ;或 int a;2一维数组元素的引用定义了一个数组,并用运算符new为它分配了内存空间后,就以引用数组中的每一个元素了。a=new int3;数组元素的引用方式为:数组的第一个元素:a0,二:a1,三:a22.4.1 一维数组 int a;a=new int3;int a=new int5;2.4 数组 2.4.1 一维数组 3一维数组的初始化 对数组元素可
13、以先声明再进行赋值。也可以在定义数组的同时进行初始化。int a=new int3;a0=1;a1=2;a2=3;如:int arr=2,4,6,8,4;但int arr5=2,4,6,8,4;非法例:方老太养了6只鸡,体重分别1kg,2kg,3kg,3kg,4kg,5kg,求这些鸡的总体重,体重分别1kg,2kg,3kg,3kg,4.4kg,5.2kg,求平均体重。数组的定义,初始化,赋值,引用 int a;a=new int6;a0=1;a1=2;a2=3;a3=4;a4=5;a5=6;int i;int sum=0;for(i=0;ia.length;i+)sum=sum+ai;Syst
14、em.out.println(sum=+sum);float a=1,2,3,3,4.4f,5.2f;int i;float sum=0,aver=0;for(i=0;ia.length;i+)sum=sum+ai;aver=sum/6;System.out.println(aver=+aver);数组不能越界lint a=new int3;la3=4;如何知道数组的长度la.length例2-8:求Fabonacci数组的前10项。int f;f1=1;f2=1;int f,i;f=new int10;f0=1;f1=1;for(i=2;i10;i+)fi=fi-1+fi-2;for(i=0
15、;i10;i+)System.out.println(f+i+=+fi);既然int,float,double.都可以有数组,那么,可不可以有对象数组呢?养鸡厂有4只鸡,求这些鸡体重最大和最小那只的名字鸡的名字体重小白4.5kg小黑5.5kg小花5kg小雪4kgclass Chick String name;float weight;public class$2 public static void main(String args)float maxweight=0,minweight=4.5f;int maxnum=0,minnum=0;Chick chicks=new Chick4;ch
16、icks0=new Chick();/此行特别注意 chicks0.name=小白;chicks0.weight=4.5f;chicks1=new Chick();chicks1.name=小黑;chicks1.weight=5.5f;chicks2=new Chick();chicks2.name=小花;chicks2.weight=4;chicks3=new Chick();chicks3.name=小雪;chicks3.weight=5f;for(int i=0;imaxweight)maxweight=chicksi.weight;maxnum=i;else if(chicksi.we
展开阅读全文