• 回答数

    8

  • 浏览数

    221

正能量装饰
首页 > 论文问答 > java程序设计毕业论文

8个回答 默认排序
  • 默认排序
  • 按时间排序

zzyunicorn

已采纳
java程序站专门收集整理了《Java工程师成神之路(1)》问题和答案整理成册,分成系列文章分享给大家。基础篇01面向对象→ 什么是面向对象、面向过程?面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象的三大基本特征和五大基本原则?一、三大基本特征:封装、继承、多态1、封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏2、继承:所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展3、多态:所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用二、五大基本原则1、单一职责原则(SRP)是指一个类的功能要单一,不能包罗万象2、开放封闭原则(OCP)一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的3、里氏替换原则(LSP)子类应当可以替换父类并出现在父类能够出现的任何地方。继承的体现4、依赖倒置原则(DIP)具体依赖抽象,上层依赖下层。5、接口隔离原则(ISP)模块间要通过抽象接口隔离开,不通过具体的类关联,降低耦合度→ 平台无关性什么是平台无关性,Java是如何做到平台无关的?平台无关(跨平台): 一种语言在计算机上的运行不受平台的约束,一次编译到处运行。Java经过编译之后生成的lass 的字节码文件,运行平台上只要有JVM就能运行,不需要进行再次编译JVM 还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)→ 值传递值传递、引用传递java中只存在值传递,只存在值传递!!! 然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。为什么说 Java 中只有值传递?Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。按值传递的精髓是:传递的是存储单元中的内容,而不是存储单元的引用!→ 封装、继承、多态继承多态方法重载与方法重写修饰符代码块final关键字代码块的执行顺序:静态代码块优先于构造代码块,构造代码块优先于构造方法。02 Java 基础知识→ 基本数据类型7 种基本数据类型:整型、浮点型、布尔型、字符型以及取值范围?什么是浮点型?什么是单精度和双精度?单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同单精度浮点数在机内占4个字节双精度浮点数在机内占8个字节(2)有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位(3)所能表示数的范围不同单精度浮点的表示范围:-40E+38 ~ +40E+38双精度浮点的表示范围:-79E+308 ~ +79E+308(4)在程序中处理速度不同一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快为什么不能用浮点型表示金额?金额计算不能用doube!必须用BigD出现科学计数法计算金额不准确,丢失精度→ 自动拆装箱什么是包装类型、什么是基本类型?1、为什么存在基本类型:在Java中正常应该设置对象,然后通过new一个对象存储在堆中,再通过栈的引用来使用对象,但对于简单的小的变量,用new显的繁琐麻烦,所以产生了基本类型2、有了基本类型,为什么还会产生包装类型:(1)什么是包装类:包装类型相当于将基本类型包装起来,使其具有对象的性质,并且可以添加属性和方法,丰富了基本类型的操作。(2)包装类型具有哪些好处:符合Java面向对象编程特征使用集合Collection就一定要用包装类型需要往ArrayList,HashMap放东西,int和double是放不进去的3、二者相互转换(1)int转换integerint i=0ineger ii=new integer(i)(2)integer转intinteger ii=new interger(0)int i=intValue();4、二者的区别(1)基本类型直接声明而包装类型需使用new关键字来在堆中分配内存空间(2)基本类型存储在栈中而包装类型存储在堆中通过引用(3)基本类型初始值,int为0,boolean为false。包装类型初始值为null(4)基本类型直接赋值使用就好,包装类型需要在集合如Collection、map时会使用什么是自动拆装箱?自动装箱: 就是将基本数据类型自动转换成对应的包装类。自动拆箱:就是将包装类自动转换成对应的基本数据类型。自动装箱都是通过包装类的valueOf()方法来实现的自动拆箱都是通过包装类对象的xxxValue()来实现的。Integer 的缓存机制?当使用自动装箱的时候,也就是将基本数据类型传递给对象类的时候触发自动装箱。这个时候java虚拟机会创建一系列的整数并且缓存到一个数组中以便直接使用,这就是缓存策略→ String字符串的不可变性JDK 6 和 JDK 7 中 substring 的原理及区别?JDK6中,String是通过字符数组实现的,String类包含三个成员变量:char value[], int offset,int count。他们分别用来存储真正的字符数组,数组的第一个位置索引以及字符串中包含的字符个数。JDK6中的substring导致的问题如果字符串很长,但是只需substring切割很短的一段。这可能导致性能问题,因为只需要的是一小段字符序列,却引用了整个字符串(因为这个很长的字符数组一直被引用,而无法被回收,就可能导致内存泄露)。在JDK 6中,一般用以下方式来解决该问题,原理其实就是生成一个新的字符串并引用他。x = substring(x, y) + ""JDK 7 中的substring上述问题,在JDK7中得到解决。在jdk 7 中,substring方法会在堆内存中创建一个新的数组。//JDK 7public String(char value[], int offset, int count) {//check value = ApyOfRange(value, offset, offset + count);}public String substring(int beginIndex, int endIndex) {//check boundaryint subLen = endIndex - beginIndex;return new String(value, beginIndex, subLen);}replaceFirst、replaceAll、replace 区别?· replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。· replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。· replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。String s = "xt";Sprintln(place("", "#")); // replace将字符串中的 都替换为 #Sprintln(placeAll("", "#")); // replaceAll 用到了正则表达式,其中 是任意字符的意思,所以结果是字符串全部替换为#Sprintln(placeFirst("", "#")); // replaceFirst 用到了正则表达式, 其中 是任意字符的意思,所以第一个字符被#号代替Sprintln(placeFirst("\\", "#")); // 正则表达式中双杠是原生字符串的意思,所以结果是字符串中第一个 被#代替得到String 对“+”的重载?String 类底层是一个 final 修饰的 char 类型数组,意味着 String 类的对象是不可变的,所以 String 对象可以共享。String 类中的每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,用来包含修改后的字符串内容,这也可以说明 String 对象具有只读的属性。String fruit = "Apple," + "Pear," + "Orange";编译器会创建一个 StringBuilder 对象,用来构造最终要生成的 String,并为每一个字符串调用一次 StringBuilder 中的 append() 方法,因此代码一共执行了三次 append() 方法。最后调用 toString 生成最终的结果,并保存为 fruit。字符串拼接的几种方式和区别?无论如何直接用“+”号连接字符串都是最慢的在拼接少数字符串(不超过4个)的时候,concat效率是最高的多个字符串拼接的时候,StringBuilder/StringBuffer的效率是碾压的在不需要考虑线程安全问题的时候,使用StringBuilder的效率比StringBuffer更高SvalueOf 和 IString 的区别?SvalueOf()可以应用到任何数据类型,且不会有异常报出。IString()表示先讲int转换成Integer型,然后再将Integer转换成String型。总的来说 SvalueOf()用的比较多(应用的数据类型无限制),但是基本上每个JAVA对象都会有一个toString方法。2个方法的运行结果还是一样的,只是原理(运行过程)不一样switch 对 String 的支持?java中switch支持String,是利用String的hash值,本质上是switch-int结构。并且利用到了equals方法来防止hash冲突的问题。最后利用switch-byte结构,精确匹配。字符串池、常量池(运行时常量池、Class 常量池)、intern?全局常量池在每个VM中只有一份,存放的是字符串常量的引用值。lass常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量的符号引用。运行时常量池是在类加载完成之后,将每个class常量池中的符号引用值转存到运行时常量池中,也就是说,每个class都有一个运行时常量池,类在解析之后,将符号引用替换成直接引用,与全局常量池中的引用值保持一致。→ 熟悉 Java 中各种关键字transient、instanceof、final、static、volatile、synchronized、const 原理及用法transient:修饰变量,在实现Serializable接口的类中,可以避免持久化,但是如果实现的是Externalizable接口,那么手动序列化会无视 transient。instanceof:对象 instanceof 类,检查对象是否是这个类或者这个类的子类的对象,返回布尔值。volatile:轻量级的线程安全的实现,但是要注意用法,某些场合不适合用volatile,保证可见性,有序性synchronized:线程安全的修饰符,锁住对象的访问权限。final:final修饰类:该类不可继承final修饰方法:该方法不能被子类覆盖(但它不能修饰构造函数)final修饰字段属性:属性值第一次初始化后不能被修改使用final可以提高程序执行的效率,将一个方法设成final后编译器就可以把对那个方法的所有调用都置入“嵌入”调用里。static:static修饰成员函数则该函数不能使用this对象static不能修饰构造函数、函数参数、局部成员变量static修饰成员字段则当类被虚拟机加载时按照声明先后顺序对static成员字段进行初始化。static修饰语句块:当类被虚拟机加载时按照声明先后顺序初始化static成员字段和static语句块static所修饰的方法和字段只属于类,所有对象共享,java不能直接定义全局变量,是通过static来实现的。java中没有const,不能直接定义常量,是通过static final组合来实现的。专注java职场经验,技术分享,欢迎关注公众号:程序秘籍
344 评论

张小电1301

306 评论

小龙女kelly

一切一切…网上搜搜…给我分吧…回答者: 不知道吧哈哈哈 - 高级魔法师 七级 5-11 08:53这个不知道吧哈哈哈就是垃圾厚脸皮跟人家要分

340 评论

奔兔2008

[1]贺伟,李凤基于项目驱动式教学的《Java面向对象程序设计》课程实践[J]计算机产品与流通,2019(01):263-[2]仇焕青基于SPOC的项目驱动式教学模式研究与实践——以《Java程序设计》课程为例[J]计算机产品与流通,2019(01):[3]张永强计算机软件Java编程特点及其技术分析[J]计算机产品与流通,2019(01):[4]陈实后MOOC时代移动学习视角下的翻转课堂设计——以《JAVA程序设计》为例[J]中国多媒体与网络教学学报(上旬刊),2019(01):4-[5]王越JAVA编程语言在计算机软件开发中的应用[J]电子技术与软件工程,2019(01):[6]叶欣,李建佳,温煜,赖舒婷基于Java语言的医疗质量管理系统设计与实现[J]中国数字医学,2018,13(12):54-55+[7]丁慧基于游戏项目二维分解的教学改革——以Java教学为例[J]科学大众(科学教育),2019(01):[8]黄文娟基于Java和MySQL的图书馆信息化管理系统设计[J]电子设计工程,2019,27(02):20-[9]王禹程基于Java语言的人力资源信息系统研究[J]电子设计工程,2019,27(02):25-28+[10]刘康,徐同坤基于提高学生兴趣和实践能力的Java程序设计微课教学改革研究[J]电脑迷,2019(01):[11]任灏榕基于J2ME的Java手机游戏开发技巧[J]电子技术与软件工程,2019(02):[12]曹文渊JAVA语言在计算机软件开发中的应用[J]电子技术与软件工程,2019(02):53-[13]陈俊伟高职学院《Java程序设计》课程翻转课堂教学设计探讨[J]电脑迷,2019(01):[14]雷静,叶煜融入信息化教学手段的高职Java语言程序设计课程教学模式探索与实践[J]当代教育实践与教学研究,2019(01):15-[15]秦楷JAVA语言特点及其在计算机软件开发中的运用[J]中国新通信,2019,21(01):[16]任翠池,陈庆惠,李汉挺线上线下混合教学模式在《Java程序设计》课程中的应用与实践[J]电子世界,2019(02):55+[17]张之涵,谭霞,温克欢,魏恩伟基于Android和Java编程的家庭智能用电管理系统设计[J]自动化与仪器仪表,2019(01):121-[18]叶春凤“项目带动教学”模式在Java课程中的应用[J]福建电脑,2019,35(01):[19]吴荣珍基于JAVA的高职院校人事管理系统设计与实现[J]软件导刊,2019,18(01):116-118+[20]陈钟荣,洪滔基于Java和聚类分析移动端天气雷达管理系统设计[J]现代电子技术,2019,42(02):62-以上就是关于毕业设计参考文献的相关分享,希望对各位小伙伴们有所帮助,想要了解更多毕业论文相关内容,欢迎大家及时在本平台进行查看哦!

203 评论

LD中国王海如

你好,作为一个学计算机科学与技术的过来人告诉你,老师谁的新意其实就是在一些成品的基础上,比如学籍管理,课程管理的基础上加一点小创新比如可以做一个开放课程管理系统,采用springboot编写的这种,look at my name,你应该能找到你想要的创新项目

213 评论

白色七巧板

要看你用什么做,Java SE 做一些桌面应用, 一般只供自娱自乐。Java EE 可以做一个购物网站、员工管理系统、进销管理系统、班级管理系统 。这些系统都可以投入使用 。需求分析,可以在网上找一些例子 。

195 评论

魅丽无限

一切一切…网上搜搜…给我分吧…

125 评论

魔都贤先森

毕业设计就看结果,哪个管你的具体过程哦。能跑起来运行就可以了,至于你的论文,肯定是按需求文档写呗

123 评论

相关问答

  • 小程序排版设计

    小程序制作的方法可以从以下3个方面去考虑:1、自己懂技术或者编程语言,可以自己开发制作小程序;2、选择专业的外包公司或者技术公司来完成自己的小程序制作想法,自己

    vivian0415 7人参与回答 2023-12-05
  • 计算机毕业论文及毕业设计题目基于JAVA

    这个是一个基于SSM框架实现的javaweb毕业管理系统, 作为一个8年的程序员告诉你, 用啥框架其实都差不多, 如果要让老师满意, 一定要注意以下几点模型的设

    万涛空间设计 5人参与回答 2023-12-06
  • 毕业设计单片机程序查重吗

    怎么跟大家都不一样,我是全文查重!真羡慕那位附录不查重的朋友

    小倩TINA 4人参与回答 2023-12-08
  • 土木工程毕业论文和毕业设计

    毕业论文应该是以论文格式,即文字方式将毕业课题成果表述出来!而毕业设计是指完成规定或自选的设计项目,当然它也会包括文字类的计算或书面说明,但这和论文的形式和实质

    实言舌实言兑 3人参与回答 2023-12-08
  • java程序设计毕业论文

    java程序站专门收集整理了《Java工程师成神之路(1)》问题和答案整理成册,分成系列文章分享给大家。基础篇01面向对象→ 什么是面向对象、面向过程?面向过程

    正能量装饰 7人参与回答 2023-12-09