欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java基本数据类型和数组.ppt

    • 资源ID:5298668       资源大小:787.01KB        全文页数:36页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java基本数据类型和数组.ppt

    第2章 基本数据类型和数组,1.标识符和关键字2.基本数据类型3.基本数据类型的转换4.数据的输入与输出5数组,JAVA程序概览,1.包 包是类和接口的集合,或者说包是接口和类的容器。Java中包的作用主要包括3个:1)使得功能相关的类易于查找和使用,同一个包下的类和接口通常是功能相关的。2)避免名字出现重复,不同的包下可以有现同名字的类。3)提供一种访问权限的控制机制。前面提到过访问控制通常是以包为分界的。,包的定义格式如下:package pg;其中package是包的关键字。多级包层次结构的格式为:package pg1.pg2.pg3;包的创建就是将源文件总的接口和类纳入指定的包。,1.要使用某个包(不是当前类所在的包)中类的时候,用import关键字引入(有点类似C+的#include)2.想想如何避免包名冲突?3.想想如果没有IDE环境,我们怎样定义和生成包3.包有访问权限问题,这将在类权限部分详细介绍,2.类类的格式如下:类的修饰符 class extends 父类名 implenents 接口名表 变量修饰符 类型 成员变量1;变量修饰符 类型 成员变量2;方法修饰符 返回类型 方法名1(参数表)方法体1 方法修饰符 返回类型 方法名2(参数表)方法体2,与C+类定义的区别1)形式上不同,C+使用“:”,JAVA使用“extends”2)C+使用多重继承,JAVA使用“implenents”3)C+使用.h文件声明类、成员变量、成员函数,然后使用.cpp文件定义类、成员变量、成员函数的具体实现(给我们造成多大的麻烦),JAVA一个类的声明和实现在一起(至关重要的区别,目前的技术认为,.h和.cpp的划分愚蠢,也许几年以后你不会再见到.h文件了)4)C+使用“public:”这样的形式作为整体变量、方法修饰符;而JAVA必须对每个变量或者方法指定,如果不指定,系统会默认为private,3.函数调用System.out.println(请输入若干个数,每输入一个数回车确认);System是类,定义在包java.lang中out是System类的静态成员对象println是out对象的静态函数,1.想想看为什么程序中没有import java.lang.*)2.为什么是类,应该是对象啊?,如果想调用非静态函数,则需要先创建对象,在调用对象的成员函数。象这样(与C+一样):MyClass obj=new MyClass();obj.not_static_function();(怎样创建对象?这个下面再详细介绍。注意上面为什么不是obj-,因为JAVA没指针)(为什么JAVA没指针?这个以后再详细介绍),4.创建对象Scanner reader=new Scanner(System.in);,What is it?,跟C+很像,回忆下C+是怎样创建对象的?,1.JAVA没有指针,reader是个句柄,分配在堆中2.为什么没有指针,因为专家说不安全(去google查询下“缓冲区溢出”,你就知道指针有多糟糕了)3.new的对象没有delete,因为对象被分配在“可自动回收的堆中”4.怎样做到自动回收,JAVA虚拟机提供了“垃圾自动回收算法”(有兴趣的话去google上搜索下这几个字)5.为什么要“自动回收”,到google上查询下”内存泄露”或者干两年程序员你就明白4.因为没有指针(这是为什么JAVA=C+-的原因之一),所以调用对象的成员函数不是:obj-func();而是obj.func();,5 基本数据类型初始化double sum=0;int m;,这个和C+差不多,不用管它了,表面查不多而已。,1.C+的基本数据类型的长度和内存编码是随CPU和操作系统不同而不同的,而JAVA永远一致(所以JAVA可以跨平台,C+不能:write once,run anywhere)。2.C+定义变量而不初始化,其值是随机的,而JAVA会为它自动初使化,如果一个变量在使用前没有赋值,C+编译器会给予一个警告,而JAVA认为是个语义错误(又一个C+-)3.C+认为象int,double,char这些数据类型是一个程序设计语言所必须的,没有它们不行。而JAVA本身是一个纯面向对象语言(象Smalltalk),这些基本数据类型都不是必须的,因为在JAVA中一切都是对象(事实上JAVA已经为每一个基本数据类型提供了一个“封装类”,只是为了老程序员的习惯考虑,才保留了这些基本类型)4.JAVA中的char与C+中的char完全不同,前者是unicode字符,占两个字节16位,后者是ascii字符,占1个字节8位。(又一个C+-)5.JAVA中Boolean类型与C+不同,前者不能与数字类型进行强制转换,后者可以,2.1 标识符和关键字,1标识符 1)Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。2)标识符中的字母是区分大小写的,Beijing 和beijing是不同的标识符。3)标识符用来类、变量、函数、数组等变量的名字。2 关键字 关键字就是Java语言中已经被赋予特定意义的一些单词,它们在程序上有着不同的用途,不可以把关键词作为名字来用。,返回,Choose the three valid identifiers from those listed below.A.IDoLikeTheLongNameClass B.$byte C.const D._ok E.3_case,基本数据类型,复合数据类型,2.2 基本数据类型,类类型,2.2 基本数据类型,基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8种数据类型习惯上可分为4大类型:逻辑类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double,Integer,Character,Byte,Short,Long,Float,Double,对应封装类,BigInteger BigDecimal,2.2 基本数据类型,1逻辑类型(boolean)常量:true,false。练习:boolean a=true;boolean a=(1=1);但是不能:boolean a=1;,boolean b1;boolean b2=true;b1=!b2;boolean b=(b1,boolean c=(b1,int a;boolean d=(a=0);boolean d=(a=0);,int a=0;if(a=1),2.2 基本数据类型,2字符类型 注意:每个字符占两个字节,不再使用ASCII编码,而是使用Unicode 例如字母A的编码是0 x0041,而不是0 x41,而汉字真的编码是0 x771F Java也使用转意字符,如:n:换行 b:退格 t:水平制表:单引号(这部分与C一样)u0030:Unicode编码(C语言没有)变量的定义:char x=A,漂亮=A;char t=真;char k=漂亮;char k=“飘”;char c=0;char c=48;char c=0+9;byte k=9;char ch=0+k;,/(这个跟C语言一样),/C语言不允许,/(JAVA,C都不允许),/(JAVA,C都不允许),/赋初值为字符0,实际存储的是0 x0030,/用整数赋初值为0,/赋值9,即0 x0039,/错误,H+k是int型,需强制类型转换,2.2 基本数据类型,下面的例子(Example3)中,分别用显示转换来显示一些字符在Unicode表中的位置,以及某些位置上的字符。,3整数类型(byte short int long)常量:6000(十进制),077(八进制),0 x3ABC(十六进制)。12l,-343L,0 xfffffffffL 注意:若没有指定L,常量缺省是int类型的,练习:int a;int a=3;byte b=8;short s=10;long y=123L;long z=123l;final int a=3;(在C语言中是const int a=3;)static int a=3;final static int a=3;(在C语言中是const int a=3;)注意:C语言中的unsigned int a=3;在JAVA中没有,练习byte b1;byte b2=127;short s1=(b1+b2);short s1=(short)(b1+b2);short s2=(short)(b1+123)int s=b1+b2;long l1=2343;long l2=4294967296;long l2=4294967296L;long l3=65536*63356;long l4=65536L*63356;boolean b=(1L 32=1 32)short s1=1;s1=s1+1;short s1=1;s1+=1;,/缺省值是随机数,/赋初值为127,/错误,/强制类型转换,/强制类型转换,/不需要强制类型转换,/不需要强制类型转换,/错误,/必须用L或l结尾,/错误,乘法运算越界,l3为0,/l4为4294967296L,/4294967296L!=0,/错误,无法从int自动转为short,/这个正确,自动类型转换(隐式类型转换)整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低-高byte,short,char int long float double,操作数1类型操作数2类型转换后的类型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble,注意:与C语言不同,自动类型转换不允许从高级到低级进行,数据类型转换必须满足如下规则:不能对boolean类型进行类型转换。不能把对象类型转换成不相关类的对象。在把容量大的类型转换为容量小的类型时必须使用强制(显式)类型转换。转换过程中可能导致溢出或损失精度 int i=8;byte b=(byte)i;(byte)255=-1(byte)0 x5634=0 x34 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入(int)23.7=23(int)-45.89f=-45,2.2 基本数据类型,4浮点类型(float,double)常量:453.5439f,21379.987F,2e40f 21.39d,21.987,123.0,6e-140(6乘10的-140次方),练习 float在机器中占32位,double占64位,常量缺省是double型的 double d1=127.0;赋初值为127double d2=127;赋初值为127float f1=127.0f;必须在数字后加f或Ffloat f2=4.0e38f;错误!32位浮点数不能超过 3.4028234663852886e38float f3=(float)d1;必须强制类型转换,在Java中,引用(reference)指向一个对象在内存中的位置,本质上它是一种带有很强的完整性和安全性限制的指针。当你声明某个类、接口或数组类型的变量时,那个变量的值总是某个对象的引用或者是null。指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提供其他信息。指针可以有+、-运算,引用不可以运算。引用型变量只支持有限的逻辑判断:相等判断(是否同一个对象的引用):=!=theObject=nullotherObject!=theObject类型判断(是否是每个类的实例):instanceoftheObject instanceof Object“”instanceof String,Java数据类型复合(引用)数据类型,2.4 数据的输入与输出,由于C语言出现的比较早,那个时候还没有图形用户界面的概念(Graphics User Interface),因此,C语言提供了许多用来输入、输出数据的函数,例如printf、scanf等。Java不象C,提供在命令行进行数据输入、输出的功能不多。关于输入、输出我们将在第九章详细介绍,现在只需知道它的作用是在命令行窗口(例如,MS-DOS窗口)输出数据即可。Sun公司新推出的SDK1.5又新增了一些在命令行进行数据输入、输出的功能。,2.4 数据的输入与输出,1数据输出:System.out.printf System.out.printf的功能完全类似C语言中的printf函数。pringf的一般格式:printf(格式控制部分,表达式1,表达式2,表达式n);这里的用法与C语言相同,这里不再累述。下面我们看一个例子,来进一步了解 System.out.printf 数据输出:,2.4 数据的输入与输出,2数据的输入:Scanner Scanner是SDK1.5新增的一个类,可以使用该类创建一个对象:Scanner reader=new Scanner(System.in);然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型,nextByte(),nextDouble(),nextFloat(),nextInt(),nextLine(),nextLong(),nextShort()。,2.4 数据的输入与输出,上述方法执行时都会堵塞,等待你在命令行输入数据回车确认。下面让我们来看一个例子,来更好的了解Scanner语句,在这个例子中,用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符结束整个的输入操作过程。程序将计算出这些数的和及平均值。,返回,JAVA的输入输出采用了设计模式,与C+在设计上有较大区别,我们后半段节绍,2.5 数组,数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标来使用数组中的数据。下标从0开始。1声明数组 声明数组包括数组的名字、数组包含的元素的数据类型。声明一维数组有下列两种格式:数组元素类型 数组名字;数组元素类型 数组名字;,首先记住!,数组是对象!(在JAVA中一切都是对象),2.5 数组,声明二维数组有下列两种格式:数组元素类型 数组名字;数组元素类型 数组名字;2创建数组 声明数组仅仅是给出了数组名和元素的数据类型,要想使用数组还必须为它分配内存空间,即创建数组。在为数组分配内存空间时必须指明数组的长度。格式如下:数组名字=new 数组元素的类型数组元素的个数;例如:float boy=new float4;,2.5 数组,3数组元素的使用 一维数组通过下标符访问自己的元素,如boy0,boy1等。需要注意的是下标从0开始,因此,数组若是7个元素,下标到6为止,如果你将来使用下标超过6将会发生异常。二维数组也通过下标符访问自己的元素,如a01,a12等。下标也是从0开始。,float k=1.1f,1.2f;float n=new float3;float k;float k3;float k=1.1f,1.2f;float k=1.1,1.2;double m=1.1,1.3;double n=new double31.1,1.2,1.3;Example4 exp=new Example44;Example4 exp1=new Example4(),new Example4(),new Example4();System.out.println(exp10 is+exp10.toString();System.out.println(exp0 is+exp0.toString();intPublic int cPlusPlusCannotdoLikeThis(String arr);,2.5 数组,4数组的初始化 创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。我们在声明数组时同时也还可以给数组的元素一个初始值,如:float boy=21.3f,23.89f,2.0f,23f,778.98f;,返回,二维数组的定义方式 type arrayName;例如:int intArray;也可以采用另一种定义方式:type arrayName;与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符new来分配内存,然后才可以访问每个元素。,二维数组:定义,二维数组的初始化也分为静态和动态两种。静态初始化:在定义数组的同时为数组分配空间。int intArray=1,2,2,3,3,4;不必指出数组每一维的大小,系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小。,1、数组二维数组:初始化,动态初始化:对高维数组来说,分配内存空间有下面两种方法:1.直接为每一维分配空间,如:type arrayName=new typearraylength1arraylength2例如:int a=new int23;,1、数组二维数组:初始化,2.从最高维开始(而且必须从最高维开始),分别为每一维分配空间,如:String s=new String2;s0=new String2;s1=new String3;s00=new String(“Good”);s01=new String(“Luck”);s10=new String(“to”);s11=new String(“you”);s12=new String(“!”);,1、数组二维数组:初始化,作业,1.编写一个控制台程序,完成1)首先提示用户选择输入数据类型 c表示字符,s表示字符串,i表示整数,r表示浮点数2)用户输入选择后,提示用户输入待排序数据,每次输入以回车结束,并提示用户再次输入3)最后一次用户直接回车表示用户输入结束4)对用户输入的数据从大到小排序,并友好的显示排序结果,利用二维数组实现矩阵乘法,

    注意事项

    本文(java基本数据类型和数组.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开