欢迎来到天天文库
浏览记录
ID:36876162
大小:787.00 KB
页数:36页
时间:2019-05-10
《java基本数据类型和数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章基本数据类型和数组1.标识符和关键字2.基本数据类型3.基本数据类型的转换4.数据的输入与输出5.数组JAVA程序概览1.包包是类和接口的集合,或者说包是接口和类的容器。Java中包的作用主要包括3个:1).使得功能相关的类易于查找和使用,同一个包下的类和接口通常是功能相关的。2).避免名字出现重复,不同的包下可以有现同名字的类。3).提供一种访问权限的控制机制。前面提到过访问控制通常是以包为分界的。包的定义格式如下:packagepg;其中package是包的关键字。多级包层次结构的格式为:packagepg1.pg2.pg3;包的创建就是将源文件总的接口和
2、类纳入指定的包。1.要使用某个包(不是当前类所在的包)中类的时候,用import关键字引入(有点类似C++的#include)2.想想如何避免包名冲突?3.想想如果没有IDE环境,我们怎样定义和生成包3.包有访问权限问题,这将在类权限部分详细介绍2.类类的格式如下:[类的修饰符]class[extends父类名][implenents接口名表]{变量修饰符类型成员变量1;变量修饰符类型成员变量2;……方法修饰符返回类型方法名1(参数表){方法体1}方法修饰符返回类型方法名2(参数表){方法体2}……}与C++类定义的区别1)形式上不同,C++使用“:”,JAVA使用
3、“extends”2)C++使用多重继承,JAVA使用“implenents”3)C++使用.h文件声明类、成员变量、成员函数,然后使用.cpp文件定义类、成员变量、成员函数的具体实现(给我们造成多大的麻烦),JAVA一个类的声明和实现在一起(至关重要的区别,目前的技术认为,.h和.cpp的划分愚蠢,也许几年以后你不会再见到.h文件了)4)C++使用“public:”这样的形式作为整体变量、方法修饰符;而JAVA必须对每个变量或者方法指定,如果不指定,系统会默认为private3.函数调用System.out.println("请输入若干个数,每输入一个数回车确认"
4、);System是类,定义在包java.lang中out是System类的静态成员对象println是out对象的静态函数1.想想看为什么程序中没有importjava.lang.*)2.为什么是类,应该是对象啊?如果想调用非静态函数,则需要先创建对象,在调用对象的成员函数。象这样(与C++一样):MyClassobj=newMyClass();obj.not_static_function();(怎样创建对象?这个下面再详细介绍。注意上面为什么不是obj->,因为JAVA没指针)(为什么JAVA没指针?这个以后再详细介绍)4.创建对象Scannerreader=n
5、ewScanner(System.in);Whatisit?跟C++很像,回忆下C++是怎样创建对象的?1.JAVA没有指针,reader是个句柄,分配在堆中2.为什么没有指针,因为专家说不安全……(去google查询下“缓冲区溢出”,你就知道指针有多糟糕了)3.new的对象没有delete,因为对象被分配在“可自动回收的堆中”4.怎样做到自动回收,JAVA虚拟机提供了“垃圾自动回收算法”(有兴趣的话去google上搜索下这几个字)5.为什么要“自动回收”,到google上查询下”内存泄露”或者干两年程序员你就明白4.因为没有指针(这是为什么JAVA=C++--的原
6、因之一),所以调用对象的成员函数不是:obj->func();而是obj.func();5基本数据类型初始化doublesum=0;intm;这个和C++差不多,不用管它了表面查不多而已。1.C++的基本数据类型的长度和内存编码是随CPU和操作系统不同而不同的,而JAVA永远一致(所以JAVA可以跨平台,C++不能:writeonce,runanywhere)。2.C++定义变量而不初始化,其值是随机的,而JAVA会为它自动初使化,如果一个变量在使用前没有赋值,C++编译器会给予一个警告,而JAVA认为是个语义错误(又一个C++--)3.C++认为象int,doub
7、le,char这些数据类型是一个程序设计语言所必须的,没有它们不行。而JAVA本身是一个纯面向对象语言(象Smalltalk),这些基本数据类型都不是必须的,因为在JAVA中一切都是对象(事实上JAVA已经为每一个基本数据类型提供了一个“封装类”,只是为了老程序员的习惯考虑,才保留了这些基本类型)4.JAVA中的char与C++中的char完全不同,前者是unicode字符,占两个字节16位,后者是ascii字符,占1个字节8位。(又一个C++--)5.JAVA中Boolean类型与C++不同,前者不能与数字类型进行强制转换,后者可以2.1标识符和关键字1.标识
此文档下载收益归作者所有