java基础知识问题导航

Java的特点有哪些?

无论哪种编程语言编写的应用程序都需要经过操作系统和处理器(cpu)来完成程序的运行!
Java虚拟机:可以执行java字节码的虚拟机进程!
需要掌握的与平台无关的相关问题p3和p4页
0、为什么会出现java语言?
1、 c和c++的共同缺点是什么?
2、 Java与其他语言相比,最大的优势是什么?为什么?
3、 什么叫做平台?
4、 什么叫做与平台无关?
5、 什么叫做平台的机器指令?
6、 为什么c或c++语言编写的程序可能会因操作系统的变化、处理器的升级导致程序出现错误或无法运行?
7、 什么叫java虚拟机?它的核心是什么?
8、 什么叫字节码指令?为什么字节码不是机器指令?
9、 Java语言提供的编译器与c和c++的有什么不同?
10、java虚拟机负责的任务是什么?
11、java虚拟机的原理是什么?
13、为什么说java是与平台无关的编程语言?

Java开发工具包相关问题p5
1、JDK和JRE的区别是什么?

实例成员和类成员相关问题p76
1、”static”关键字是什么意思? P77
2、什么叫做类变量(又称static变量或静态变量)和实例变量?
3、实例变量和类变量有什么区别?
4、为什么不同对象的实例变量互不相同?
5、为什么所有对象共享类变量?
6、为什么能够通过类名直接访问类变量?
7、java程序执行时,类变量和实例变量的变化过程是怎么样的?
8、类变量的内存空间到什么时候被释放?
9、什么叫做实例方法和类方法?
10、实例方法和类方法的区别?
11、为什么对象能够调用实例方法?
12、为什么说方法的入口地址被所有的对象共享?方法的入口地址什么时候会被取消?
13、实例方法可以操作哪些变量?
14、为什么可以使用类名调用类方法?
15、为什么实例方法不能通过类名调用,只能由对象来调用?
16、为什么类方法不可以操作实例变量?
17、设计类方法的原则是什么?
18、是否可以在static环境中访问非static变量?

方法重写(方法覆盖)相关问题p119
1、什么叫方法重写或方法覆盖?
2、重写的语法规则是什么?
3、方法重写的目的是什么?
4、方法重写有哪些权限?
5、重写方法时,需要注意些什么?
6、Java中是否可以覆盖(override)一个private或者是static的方法?为什么?

方法重载p80
1、 java中存在几种多态?分别是什么?
2、 什么叫功能多态性和行为多态性?
3、 方法重载的语法规则是什么?
4、 Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

面向对象语言p52
1、 java的四大特性是什么?
2、 什么叫做抽象?
3、 什么叫封装?
4、 抽象和封装有什么不同?
5、 如何理解面向对象和面向过程(异同)?
答:
二者都是一种解决问题思想,面向对象是相对于面向过程而言的。
面向过程强调的是功能行为;
面向对象则是将功能封装进对象,强调具备了功能的对象。更加强调运用人类在日常的思维逻辑中采用的思想方法和原则,如抽象、分类、继承等。

OOp:面向过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现简单的查询,各风景的查询,调用各函数,实现课程设计的目标。其中包含三个功能,一个是直接进入导航系统,利用主函数中已有的数据,进行查询:一个是进行创建数据,本程序中初始数据为农大的导航数据,如果需要也可以自己建立一个;最后一个是退出功能。设计该函数的目的是为了能够多次得应用dijkstra函数进行查询最短路径。同时该函数可以列出各景点的代号和对应的名称,这样大家只要输入代号就行了。方便进行查询。下面分别描述这些函数,建立它们函数原型。 1、主函数 函数原型:void main(void) 功 能:控制程序。 参 数:void 返 回 值:void 要 求:管理菜单命令并完成初始化。 2、菜单选择和处理函数 函数原型:int menu() 功 能:处理选择的菜单命令并接收用户选择的命令代码。 参 数:int 返 回 值:int 工作方式:返回命令代码的整数值,根据命令,调用相应函数。 要 求:只允许选择规定键,如果输入不合要求,则提醒用户重新输入。 3、建立邻接矩阵函数 函数原型:void createadj() 功 能:重新建立一个学生信息的记录。 参 数:void 返 回 值:void 工作方式:在需要的时候就可以有主菜单中调用 void createadj()函数。 要 求:必需输入信息记录,然后才能调用出search()函数进行查询。 4、dijkstra函数 函数原型:void dijkstra(intx,inty) 功 能:求两点间的最短路径 参 数:void 返 回 值:void 工作方式: 该函数被其它一些函数调用。 5、结束程序 函数原型:int Exit() 功 能:使程序正常结束运行 参 数:int 返 回 值:1 工作方式:在操作都完成后,可以调用int Exit()函数,使函数最终返回 1 运行exit(1),程序正常结束。 要 求:运行Exit()函数后可以选择是否要保存,选择y则先保存再返 回1值;如果选择n直接返回1值。详细的程序设计应从下到上,在本设计中就要先设计createadj函数;然后设计dijkstra函数;接着是search函数;menu函数;最后才是main函数。如此设计能大大提升设计速度,因为从下往上使编程时的高试过程简单许多,而做课程设计花费时间最多的就是调试过程。对于各函数的详细设计,各函数的N—S图如下: (1)Createadj函数 (2)Dijkstra函数          (3)Search函数          (4)Menu函数          (5)main函数          2.4 程序编码   把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;编写过程中参考各种的教材和材料,使程序编写的正确性大有提高,同时也许到许多实践知识,增加了实践经验。 2.5 程序调试与测试    程序编写总是出现各种各样的错误,但是难点不是修改错误,而是找出错误。在大量的源程序中找出错误难度很大,但有了一定的方法,就能节省大量的时间,在这次课程设计中我运用的调试方法主要有2种:     一是借助调试工具。利用Turbo C中提供的程序专门调试工具Debugger程序,可以很容易找出程序中的各种语法错误。但是遇到一些逻辑错误时却又无从着手。这时我就用下面一种方法。     二是在程序中插入打印语句。猜测出大致的错误位置,选则一些主要变量,在关键部位插入打印语句,打印出这个主要变量,看其是否与理论上的一样,在多个位置插入,如果有个位置的值与理论值一样,另一个位置与理论值不一样,则错误就落在这两个位置之间,然后再多测试几个位置缩小范围,直到找出错误。  例如;我在调试main()主函数时,程序能够运行,三个选项都能选择,创建函数能够正常运行,也能正常退出,但在选第一条进入校园导航后,打印出来的列表却是空的,源程序中的初始化数据没有显示出来,我又尝试输入两个结点进行查找,发现没有输出路线,所以我猜测初始化数据没有被正常写入。但不知道为何没有被正常写入,首先怀疑是初始化时附值发生错误,查阅各种资料进行校验,发现没有错误。后来经过综合分析,发现最有可能是n值在search()函数中发生错误,于是我在search()函数中插入打印n 的语句,运行后发现输出的n为0,初始化数据中有11个结点,n应该为11,所以n 在这个地方发生错误,我又在main()主函数中打印出n 的值,n=11,是正确的。所以错误就在search()函数中,也就说是当运行case1,运行到search()函数时,n从11变为0,针对这个错误,我把变量n改为宏定义,因为n 是代表结点个数,不管在哪个函数中它的值都是一样的才对。改完后运行程序,成功! 本设计文件的注释如上,已给出详细的说明,下面仅以文件为单位说明各个函数的作用和特点,在必要的地方给予一定说明。  3.1、guide.h文件 使用条件编译。以下是头文件中语句 /********************************************* *头文件(.h) ********************************************/ #include "stdio.h" #include "conio.h" #include "alloc.h" #define n0 100 #define infi 32767 /*“无穷大*/ int adjmatrix[n0+1][n0+1];     /*邻接矩阵*/ int n=11; struct node             /*表结点*/ { char name[20];       /*下一个表结点与它们之间的距离*/ }place[12]={{"ShiDiGongYuan"},   /*表结点初始化,即写各景点名称*/    {"CangRongGongYu"},    {"YinHuiLou"},    {"TuoHuanGuanChang"},    {"DiBaShiTang"},    {"XiaoYiYuan"},    {"TuShuGuan"},    {"TiYuGuan"},    {"ZhongHuaGuanChang"},    {"ChuangXinLou"},    {"YiFuTuShuGuan"},    {"BoXueLou"}};  void createadj()          /*建立邻接表*/  void dijkstra( int x,int y)     /*dijkstra求最小生树*/  void search()            /*搜索最短路径*/  menu()               /*菜单函数*/          /********************************************* *建立邻接表 ********************************************/ void createadj()  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值