书签 分享 收藏 举报 版权申诉 / 75
上传文档赚钱

类型第二章Java语言基础知识课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5064290
  • 上传时间:2023-02-07
  • 格式:PPT
  • 页数:75
  • 大小:281KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第二章Java语言基础知识课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第二 Java 语言 基础知识 课件
    资源描述:

    1、第二章第二章 Java Java 语言基础知识语言基础知识1主要内容1、Java语言基本元素2、Java数据类型3、运算符与表达式4、Java 控制语句(自学)课后参考:thinking in Java 第二章(2.12.7),第三章,第四章4.5数组的初始化21、Java语言基本元素1)标示符(identifier)标识符是程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifieridentifier)包括:类名、变量名、常量名、方法名标识符的第一个字符必须是下列字符之一:大写字母大写字母 (A-Z)(A-Z)小写字母小写字母 (a-z)(a-z)下划线下划线(_)(_

    2、)美元符号美元符号 ($)($)标识符的第二个字符及后继字符必须是:上述列表中的任意字符 数字字符(0-9)32)保留字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved reserved wordword)abstract break byte boolean catch case abstract break byte boolean catch case class char continue default double do class char continue default double do else extends false final

    3、 float for finallyelse extends false final float for finally import implements int interface instanceof import implements int interface instanceof long length native new null package long length native new null package private protected public final return switch private protected public final retur

    4、n switch synchronized short static super try true this synchronized short static super try true this throw throws threadsafe transient void throw throws threadsafe transient void while ifwhile if4 保留字注意事项:Java中,true、false和null都是小写的。区别于C+中大写的TRUE、FALSE和NULL。Java采用Unioncode编码,使用2个字节表示每个字符。所有数据类型在任何一种机

    5、器中的大小都是相同的,因此在Java中没有sizeofsizeof操作符。不能更改或重复定义保留字,也不能将Java保留字用作用户自定义标示符。53)变量即程序中的基本存储单元,其定义包括变量名、变量类型和变量值几个部分,定义格式:type varName=value;nint n=3,n1=4;type为数据类型名;var为变量名,value为变量的值。6与C+不同,作为类里定义的变量,其默认初值默认初值都是确定的:布尔变量的初值为:false 整数变量的初值为:0 浮点数变量的初值为:0.0 引用(类)变量的初值为:null 但是在方法(函数)实现中定义的变量必须程序员自己初始化;74)常

    6、量 Java中 的 常 量 值 是 用 文 字 串 表 示 的,它 区 分 为 不 同 的 类 型,如 整 型 常 量 123,实 型 常 量 1.23,字 符 常 量 a,布 尔 常 量 true、false以 及 字 符 串 常 量 This is a constant string.。与 C、C+不 同,Java中 不 能 通 过#define命 令 把 一 个 标 识 符 定 义 为 常 量,而 是 用 关 键 字 finalfinal来 定义,其定义格式为:final Type varName=valuefinal Type varName=value;final int globa

    7、lAccount=100final int globalAccount=100,nationalAccount=nationalAccount=50;50;final double PI=3.14159final double PI=3.14159;82、Java数据类型9Java type systemprimitivereferencenullcharnumericbooleanclassinterfacearrayintegralfloating-pointbyteshortintlongfloatdouble基本数基本数据类型据类型引用数据引用数据(类)类类)类型型2.1 基本数据类型

    8、 所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。所有基本类型的关键词都是小写的。10数据类型数据类型所占位数所占位数数的范围数的范围 char 160 65535 byte 8-2727-1 short 16-215215-1 int 32-231231-1 long 64-263263-1 float 32 3.4e038 3.4e038 double 64 1.7e308 1.7e3081 1)布尔类型)布尔类型(boolean)(boolean)布尔型数据用于确定真假条件,只有两个值true和false。布尔型变量的定义如:boolean b=true;布尔型数据只能参与

    9、逻辑关系运算:&|=!=!示例:boolean b1;boolean b1;boolean b2=true;boolean b2=true;b!=b2;b!=b2;112)字符类型(char)字符型数据代表16位的Unicode字符 字符常量是用单引号括起来的一个字符 a B n u0030 字符型数据的取值范围为 065535 示例 char c1;缺省值为0 char c2=0;赋初值为字符0 char c3=32;用整数赋初值为空格12 特殊字符的常量表示法:反斜线(Backslash)退格(Backspace)b 回车(Carriage return)r 进纸符(Form feed)f

    10、 制表符(Form feed)t 换行(New line)n 单引号(Single quote)八进制数(0377)DDD Unicode字符uHHHH133 3)整数类型)整数类型(byte,short,int,long)(byte,short,int,long)整型常量整型常量 1.十进制整数如123,456,0 2.八进制整数以0开头,如0123表示十进制数83,011表示十进制数9。3.十六进制整数以0 x或0X开头,如0 x123表示十进制数291,0X12表示十进制数18。整型变量整型变量类型为byte、short、int或long,整型变量的定义如:int x=123;/指定变量

    11、x为int型,且赋初值为123byte b=8;short s=10;long y=123L;long z=123l;14 示例 byte b1;缺省值为0 byte b2=127;赋初值为127 short s1=(short)(b1+b2);强制类型转换 short s2=(short)(b1+123)强制类型转换 int n=b1+b2;不需要强制类型转换 long l1=2343;不需要强制类型转换 long l2=4294967296L;必须用L或l结尾 long l3=65536*63356;乘法运算越界,l3为0 long l4=65536L*63356;l4为429496729

    12、6L154)浮点数类型,实型浮点数类型,实型(float,doublefloat,double)实型常量1.十进制数形式 由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.02.科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。32位浮点数形式:0.23f,1.23E-4f,.18F16 数据类型转换数据类型转换 自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低低-高高 byte,short,charbyte,short,char int in

    13、t long long float float doubledouble 数据类型转换必须满足如下规则:不能对booleanboolean类型进行类型转换。不能把对象类型转换成不相关类的对象。允许允许把容量小的类型转换为容量大的类型17在把容量大的类型转换为容量小的类型时必须使用强制类型转换。转换过程中可能导致溢出或损失精度 int i=8;int i=8;byte b=(byte)i;byte b=(byte)i;浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入 (int)23.7=23(int)23.7=23;(int)-45.89f=-45(int)-45.89f=-45;18 Jd

    14、k7在语法上的新特性:(1)可以用二进制来表示整数(byte,short,int和long)。只要在二进制数值前面加 0b或者0B 例:byte nByte=(byte)0b0001;short nShort=(short)0B0010;int nInt=0b0011;long nLong=0b0100L;19(2)数字可以出现下划线,对于比较大的数字,下划线可以出现在数字里。例:int a=10_0000_0000;long b=0 xffff_ffff_ffff_ffffl;byte c=0b0001_1000;20(3)字符串终于可以 switch 啦.String s=.switch(

    15、s)case quux:processQuux(s);case foo:case bar:processFooOrBar(s);break;case baz:processBaz(s);default:processDefault(s);break;212.2 引用数据类型引用数据类型 引用数据类型是一种组合型数据类型,即把若干个数据类型组合在一起.Java一共有四种引用类型,分别是类类型类类型,接口类型接口类型,数组类型数组类型和枚枚举类型举类型。22 关于引用类型,需要注意以下两点:与基本数据类型不一样,创建引用类型并不分配任何存储空间,也就是当声明一个引用类型时,编译程序并不会分配任何空

    16、间。如:String s;23一旦对它作初始化或创建一个新对象,就在内存里为它分配了一定空间。String s=“asdf”;/初始化String s=new String(“asdf”);/创建一个String对象并初始化。Rectangle oneRec=new Rectangle();/创建一个Rectangle对象并初始化。242.3 2.3 枚举类型枚举类型Java5.0以后新增添了枚举类型(Enumerate),使用关键字enumenum,用常量来设置一组常量。例如:Enum SeasonsSPRING,SUMMER,AUTUMN,WINTER;每个枚举常量实际上就是一个整数值,四

    17、个Seasons值分别为0,1,2,3。252.4 Java数组 在java里,数组也是对象,也就是数组类型是引用类型。数组采用newnew分配空间。每个数组都有一个由 public final 修饰的成员变量:length,即表示数组含有元素的个数(length可以是正数或零)得到数组的大小:myArray.lengthmyArray.length/yes 不可以写为:myArray.lengh()/No!No!No!26 2.4.1 数组的声明声明(声明(DeclarationDeclaration)使用数组前必须对它进行声明,声明数组时无需指明数组元素的个数,也不为数组元素分配内存空间。

    18、不能直接使用,必须经过初始化分配内存后才能使用。27Type arrayName;例如:int a1;String stringArray;或者按照C/C+程序员的习惯Type arrayName;例如:int a1;String stringArray;282.4.2 数组的创建 正如处理类类型一样,用new创建一个新的数组。给它分配空间。int carrot;/声明carrot=new int100;/创建29或者可以将数组的声明和创建一并执行int carrot=new int100;注意:在java中,决不能像C语言那样在声明中指定数组的大小:int carrot256;/NO!NO!

    19、NO!302.4.3 数组元素的初始化 声明数组名时,直接对它的各个元素进行初始化:inta=22,33,44,55;String wkdays=“mon”,”Tue”,”Wed,“Thu”,“Fri”;31 比C/C+优越的是,创建数组的时,如果没有指定初始值,数组便被赋予默认值初始值。基本类型数值数据,默认的初始值为0;boolean类型数据,默认值为false;类类型元素的默认值为null。32 数组在使用前,必须以适当的数值为数组元素赋值。例如:int carrot=new int256;/creates 256 ints,initial value 0carrot7=32;/ok,a

    20、ccesses 1 element33 如果是类类型数组,则需要为对象变量分配空间,也必须先进行赋值。如欲使用一个类Timestamp:class Timestampint hh,int mm,int ss;Timestamp appts=new imestamp256;/creates 256 null referenceappts7.hh=10;/NO!appts7 is still null!34 在能够访问对象之前,需要对每个引用元素赋值,使之不再是null,指向一个具体的对象:Timestamp appts=new Timestamp256;for(int i=0;iappts.le

    21、ngth;i+)apptsi=new Timestamp();appts7.hh=10;/now OK!注意:注意:创建对象数组时出现失误是Java初学者常犯的错误,一旦出错,将会引起NullPointerExecption异常352.4.4 数组的使用 通过下面的表达式使用数组的一个元素:arrayNameindexarrayNameindex 下标从零开始计数.元素的个数即为数组的长度,可以通过 arryName.length引用 元素下标最大值为 length length 1 1,如果超,如果超过最大值,将会产生数组越界异常过最大值,将会产生数组越界异常(ArrayIndexOutOf

    22、BoundsExceptionArrayIndexOutOfBoundsException)36 例:打印数组的值 public class MyArray public static void main(String args)int myArray;/声明数组 myArray=new int10;/创建数组 System.out.println(IndexttValue);for(int i=0;imyArray.length;i+)System.out.println(i+tt+myArrayi);/证明数组元素默认初始化为0 /myArray10=100;/将产生数组越界异常 37 例

    23、:length.java 获取main()中参数数组的长度public class length public static void main(String args)System.out.println(number of String args:+args.length+n);for(int i=0;iargs.length;i+System.out.println(arg+i+=+argsi);System.out.println(length of+i+th String:+argsi.length()+n);38例:求一个数组总值class Gauss public static

    24、void main(String args)int ia=new int101;for(int i=0;i ia.length;i+)iai=i;int sum=0;for(int i=0;i ia.length;i+)sum+=iai;System.out.println(sum);输出:5050 392.4.5数组的复制 数组的复制可以用System类中的方法实现:public static void arraycopy(Object source,int srcIndex,Object dest,int destIndex,int length)40 例子例子public class A

    25、rrayCopy public class ArrayCopy public static void main(String args)public static void main(String args)int I;int I;int arr1=1,2,3,4,5,6,7,8,9,10;int arr1=1,2,3,4,5,6,7,8,9,10;int arr2=new int10;int arr2=new int10;System.arraycopy(arr1,0,arr2,0,arr1.length);System.arraycopy(arr1,0,arr2,0,arr1.length

    26、);for(I=0;iarr2.length;i+)for(I=0;iarr2.length;i+)System.out.println(arr2i+System.out.println(arr2i+“););System.out.println();System.out.println();运行结果为:运行结果为:1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10412.4.6 二维数组 int gradeTable;gradeTable 0 1 为42gradeTable 3 4 为93gradeTable 6 2 为78422.4.1二维数组的声明和构造 i

    27、nt myArray;myArray 可以存储一个指向2维整数数组的引用。其初始值为null。int myArray=new int35;建立一个数组对象,把引用存储到myArray。这个数组所有元素的初始值为零。int myArray=8,1,2,2,9,1,9,4,0,3,0,3,0,0,7;建立一个数组并为每一个元素赋值。例:MyArray2.java43public class MyArray2 public static void main(String args)int myArray;/声明数组 myArray=new int510;/创建数组 int total=0;for(i

    28、nt i=0;imyArray.length;i+)for(int j=0;jmyArrayi.length;j+)myArrayij=i*10+j;/为每个数组元素赋值 for(int i=0;imyArray.length;i+)for(int j=0;j,=,&,|,赋值运算符赋值运算符:=,及其扩展赋值运算符如+=,=,*=,/=等。条件运算符条件运算符:?:56 其它 分量运算符 ,下标运算符 ,实例运算符 instanceof,内存分配运算符 new,强制类型转换运算符 (类型),方法调用运算符 ()由于数据类型的长度是确定的,所以没有长度运算符sizeof。5758运算符的优先次

    29、序运算符的优先次序1).,()9)&2)+,-,!,instanceof 10)3)new(type)11)|4)*,/,%12)&5)+,-13)|6),=,=15)=,+=,-=,*=,/=,%=,=8)=,!=16)&=,|=,=,=(2 2)表达式)表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。例:xnum1+num2a*(b+c)+d3.14x=90)grade=A;else if(testscore=80)grade=B;else if(tes

    30、tscore=70)grade=C;else if(testscore=60)grade=D;else grade=F;System.out.println(Grade=+grade);64程序输出:程序输出:Grade=C switch选择结构 switch语句是多分支的选择结构switch(switch-expression)case value1:statements for case1;break;case value2:statements for case2;break;.case valueN:statements for caseN;break;default:statemen

    31、ts for default case;break;注意问题 switch-expression、常量值value1到valueN必须是整形或字符型 如果表达式的值和某个case后面的值相同,则从该case之后开始执行,直到break语句为止 default是可有可无的,若没有一个常量与表达式的值相同,则从default之后开始执行65switch选择结构(续)用switch代替ifif(i=1)statementA();else if(i=2)statementB();else if(i=3)|(i=4)statementC();else if(i=5)statementD();else s

    32、tatementF();switch(i)case 1:statementA();break;case 2:statementB();break;case 3:case 4:statementC();break;case 5:statementD();break;default:statementF();66 switch选择结构(续)例2_2,例2_367for循环结构 for循环结构 是Java三个循环语句中功能较强、使用较广泛的一个 for循环可以嵌套 一般语法格式如下for(start-expression;check-expression;update-expression)/bod

    33、y of the loop;解释 start-expression完成循环变量和其他变量的初始化工作 check-expression是返回布尔值的条件表达式,用于判断循环是否继续 update-expression用来修整循环变量,改变循环条件 三个表达式之间用分号隔开68while循环结构 while语句 实现“当型”循环,其一般语法格式如下:while(check-expression)/body of the loop;解释 条件表达式(check-expression)的返回值为布尔型 循环体可以是单个语句,也可以是复合语句块 执行过程 先判断check-expression的值,为

    34、真则执行循环体 循环体执行完后再无条件转向条件表达式做计算与判断;当计算出条件表达式的值为假时,跳过循环体执行while语句后面的语句。若为真,则继续执行循环69while循环结构(续)循环接受并输出从键盘输入的字符,直到输入的字符为回车为止char ch=a;while(ch!=n)System.out.println(ch);ch=(char)System.in.read();/接收键盘输入70do-while循环结构 do-while语句 实现“直到型”循环 一般语法结构如下do /body of the loop;while(check-expression);其使用与while语句很

    35、类似,不同的是它首先无条件的执行一遍循环体,再来判断条件表达式的值,若表达式的值为真,则再运行循环体,否则跳出do-while循环,执行下面的语句 特点:它的循环体至少要执行一次71do-while循环结构(续)例:ex2_4.java,ex2_5.java72/while(i=10)sum+=i;i+;System.out.println (sum=+sum);/do sum+=i;i+;while(i=10);System.out.println (sum=+sum);比较这两段程序比较这两段程序break语句 功能 跳出循环,不再执行剩余部分 适用场合 在switch 结构中,用来终止s

    36、witch语句的执行 在for循环及while循环结构中,用于终止break语句所在的最内层循环;与标号一同使用时,将跳出标号所标识的循环 也可用在代码块中,用于跳出它所指定的块例:BreakTest.java73continue语句 continue语句 必须用于循环结构中 停止本次迭代,回到循环起始处,开始下一次迭代过程 有两种使用格式 不带标号的continue语句 终止当前这一轮的循环,跳出本轮循环剩余的语句,直接进入当前循环的下一轮 带标号的continue语句 使程序的流程直接转入标号标明的循环层次 例:Example2_10.java,ContinueTest.java74轻松一刻 IBM通过它的Alphaworks站点推出了大量有关java实用软件,其中Robocode软件是一个非常有教育意义的系统,目的是让人们从玩游戏的过程中学习Java,可以通过编程部署机器人坦克。从下列站点下载:http:/

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第二章Java语言基础知识课件.ppt
    链接地址:https://www.163wenku.com/p-5064290.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库