文档章节

Java必备:java入门、java学习

SXTkaifa
 SXTkaifa
发布于 2016/11/23 14:21
字数 5432
阅读 22
收藏 0
点赞 0
评论 0

版权声明:本文为北京尚学堂原创文章,未经允许不得转载。

1.Java入门

1-1.Java具有那些适合在Internet环境中的特点?

【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。

1-2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?

【答】 在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。

在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。

1-3.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?

【答】 要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。

1-4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?

【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的

C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开

1-5.什么是平台无关性?Java是怎样实现平台无关性的?

【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。

1-6.Java应用程序由哪两种形式?他们的运行方式有什么不同?

【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器 显示运行。

1-7.什么是解释执行?Java怎样解释执行两种应用程序?

【答】解释执行即将字节码解释成本地机器码并执行。

Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。

2.Java语法

2-1.标示符和关键字在定义和使用方面有何区别?

【答】定义方面:标示符是用户定义的、以字母开头的字母数字序列,关键字是由Java语

言定义的、具有特定含义的英文单词。

使用方面:标示符用于命名变量、常量、类、对象等元素,每一个关键字都有特定的含义,不能被赋予别的含义。

2-2.Java语言的基本数据类型有哪些?引用数据类型有哪些?

【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符

类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)

2-3.什么是变量的作用域,声明变量时,如何确定变量的作用域?

【答】 变量的作用域是指其作用范围。变量声明的位置决定了它的作用域

2-4.设i是一个整数类型变量,写出下列问题对应的表达式?

(1) 判断i为奇数或偶数;

【答】i%2==0 //取值为true时是偶数,否则是奇数

(2) 判断i的值是否在0~9之间;

【答】(i>0)&&(i<9)

3.Java概念

3-1.什么是类?什么是对象?他们之间的关系是怎样的?

【答】在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。类中的数据称为成员变量,类中的数据操作称为成员方法。类中的成员变量和成员方法统称为类的成员。

对象是类的实例。对象与类的关系就像变量与数据类型的关系一样。是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。

3-2.作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?

【答】作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。具体可参见课本第三章图3.1的(d)。方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。

同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。

3-4.什么是封装?为什么要将类封装起来?封装的原则是什么?

【答】封装性是面向对象的核心特征之一,它提供一种信息隐藏技术。

类的封装包含两层含义:一是将数据和对数据的操作组合起来构成类,类是一个不可分割的独立单位;二是类中既要提供与外部联系的方法,同时又要尽可能隐藏类的实现细节。软件扩充和维护的需要需对类进行封装。封装原则:隐藏内部实现细节。

3-5.类中的方法与C++中的函数有什么差别?

【答】Java类中的成员方法与C语言中的函数很像,但在声明、调用等方面存在很大差别。

3-6.类的构造方法和析构方法有什么作用?它们分别被谁调用?它们的访问权限范围应该是怎样的?是否每个类都必须设计构造方法和析构方法?没有设计构造方法和析构方法的类执行什么构造方法和析构方法?

【答】类的构造方法和析构方法是类特殊的成员方法,构造方法用于在创建实例时进行初始化;析构方法用于在释放实例时执行特定操作。构造方法由new运算符调用;析构方法可由对象调用,或被虚拟机自动执行。它们的访问权限范围通常都是public。

构造方法不能继承,析构方法能够继承。一个类可以不声明构造方法和析构方法。当一

Java为它提供一个无参数的默认构造方法,个类没有声明构造方法时,约定自动调用父类的

默认构造方法(无参数);当一个类没有声明析构方法时,它执行继承来的父类的析构方法。

3-7.什么是继承?继承机制的作用是什么?子类继承了父类中的什么?子类不需要父类中的成员时怎么办?能够删除它们吗?Java允许一个类有多个父类吗?

【答】继承性是面向对象的核心特征之一,是一种由已有的类创建新类的机制。被继承的类称为父类或超类,通过继承产生的新类称为子类或派生类。继承机制是面向对象程序设计中实现软件可重用性的最重要手段。

通过继承,子类自动拥有父类的所有成员,包括成员变量和成员方法(不包括构造方法)。子类可以更改父类成员,还可以增加自己的成员,但是,不能删除父类的成员。

在Java中以“单重继承+接口”的方式代替多重继承,不允许一个类有多个父类。

4.Java重难点

4-1.什么是接口?接口和抽象类有哪些相同之处和不同之处?

【答】接口是一组常量和抽象方法的集合。在Java中,接口是一种引用数据类型,用关键字implements声明。接口与抽象类的区别为:

相同点:1.两者都包含抽象方法,约定多个类共用方法的参数列表和返回值。2.两者都不能被实例化。3.两者都是引用数据类型,其变量可被赋值为子类或实现接口类的对象。

不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重

3.抽象类及其类中成员具有与普通类一样的访问权限;继承的功能。接口的访问权限由public

和缺省两种,接口中成员的访问权限均是public。4.抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法必须全部是抽象方法,不能声明构造方法。5.抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能声明常量。

4-2.为什么能够声明接口变量?接口变量能够获得什么样的值?

【答】接口是引用数据类型可以声明接口变量。接口变量能够获得实现接口的类的对象,也称为接口对象。

4-3.接口有哪些特点?为什么需要声明借口?接口是否具有继承性?接口中能否写构造方法?

【答】接口特点:

(1)接口及接口中成员的访问权限都是public

(2)接口中的成员方法都是公有的、抽象的实例成员方法,即默认修饰符为public abstract。

(3)接口中的所有抽象方法必须全部被实现接口的类覆盖。

(4)接口中的成员变量都是常量

(5)接口不能被实例化。接口中的方法都是抽象的,构造方法不是抽象的所有不能写构造方法

(6)接口是引用数据类型。

Java只支持单重继承,以“单重继承+接口”的方式代替多继承。接口可以继承一个已经存在的父接口。

4-4. 类与类之间存在哪几种关系?

【答】类与类之间有继承关系,还存在嵌套关系。

5.Java核心知识

5-1.程序中的错误有哪几种?分别能够在什么时刻被发现?

【答】 程序错误按照性质可分为3类:语法错、语义错、逻辑错。

1 语法错:违反语法规范的错误成为语法错( syntax error ),这类错误通常在编译时发现,又称为编译错,如标识符未声明、表达式中运算符与操作数类型不兼容、变量赋值时的类型与声明时的类型不匹配、括号不匹配、语句末缺少分号等。

2 语义错:如果在程序的语法上正确,但在语义上存在错误,则称为语义错( semantic error),又称为运行错(run-time error),语义错不能被编译系统发现,只有到程序运行时才能被发现,如输入数据格式错、除数为0错、给变量赋予超出其范围的值错等。

3 逻辑错:如果程序通过编译,可运行,但运行结果与期望值不符,则这类错误称为逻辑错(logic error),例如,由于循环条件不正确而没有结果,循环次数不对等因素导致计算结果不正确等。

5-2.Java为什么要采用异常处理机制?Java的异常处理是怎样实现的?异常处理机制能够

解决程序中遇到的所有错误吗?哪些错误不是异常处理能够解决的?

【答】 异常处理和捕获和处理运行时错误的一种机制。异常处理机制使程序具有处理错误的能力。即使发生了运行错,应用程序能够捕获异常并及时处理异常,使程序从运行错误中很好地恢复并继续运行,而不会导致程序运行非正常终止。而且如果当前方法没有能力处理异常,还可以将异常转交给调用者处理。异常处理机制将运行时错误封装成若干错误类和异常类,并提供异常处理语句用于处理在程序中实现对运行时错误的发现和及时处理。异常处理机制并不能解决程序中的所有错误,例如内存溢出、栈溢出等。

5-3.请说出5个Java的异常类。

【答】 算术异常ArithmeticException、空对象异常NullPointerException、类型强制转换异常ClassCastException、负数组长度异常NegativeArraySizeException、数组下标越界异常 ArrayIndexOutOfBundsException等

6.Java功能

6-2 设计Windows应用程序的图形用户界面需要哪些基本知识?

【答】需要掌握Java组件的使用方法,理解委托事件处理模型,掌握多种布局方式。 6-3 什么是容器组件?它有什么特点?Java提供了哪些容器组件?

【答】容器组件是一种能够容纳其他组件的特殊组件。特点:能容纳其他组件,并在其可视区域内显示这些组件。两种容器。

6-4 窗口与对话框有什么不同?框架与面板有什么不同?

【答】对话框是窗口类的子类,对话框也是一种可移动的窗口,不能作为应用程序的主窗口,它依赖于一个框架窗口而存在,当框架窗口关闭时,对话框也关闭。框架类是一种带标题栏并且可以改变大小的窗口;它是窗口类的子类,所以它可以独立存在,可被移动,可被最大化和最小化,有标题栏、边框、可添加菜单栏;而面板不能独立存在,必须包含在另一个容器里,面板没有标题,没有边框,不可添加菜单栏。

6-6 如何理解Windows应用程序的图形用户界面是事件驱动的?

【答】一个组件的多个事件之间,多个组件的多个事件之间,其事件处理方法的执行次序是有规律的:1.不同组件的事件或同一组件的不同事件具有约定的执行次序。2.各组件的事件处理方法是否执行以及执行次序,取决于用户操作。3.在一个事件处理方法中,程序按照语句的书写次序顺序执行。

7.Java线程和进程

7-1 什么是进程?什么是线程?进程与线程的关系是怎样的?

【答】进程:进程是一个可并发的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。

线程:线程是操作系统进程中能够独立执行的实体,是处理器调度和分派的基本单位。 线程是进程的组成部分,每个进程内允许包含多个并发执行的线程。

7-2 Java为什么要支持线程?什么场合需要使用多线程程序设计?

【答】支持多线程能充分发挥硬件的并发性,消除处理器和I/O设备的互等现象,提高系统效率。 一般一下场合需要使用多线程:1、程序包好复杂的计算任务时,主要是利用多线程获取更所得CPU时间。2、处理速度较慢的外围设备。3、程序设计自身的需要。

7-3 Java提供了哪些接口和类实现多线程机制?

【答】Java主要提供了java.lang.Runnable接口和Thread线程类来实现多线程机制。

7-4 线程按什么规则排队等待?

【答】线程按优先级排队,线程调度语句优先级基础上的“先到先服务”原则

8.Java流

8-1 什么是流?流有什么用?面向对象语言为什么需要流?哪些场合需要流? 答:流是指一组有顺序、有起点和终点的字节集合,是对数据传输的总称或抽象(也就是数据在两个对象之间的传输称为流)。

流的作用就是使数据传输操作独立于相关设备。

在面向对象的程序设计中,数据的传输和流动具有广泛性,可以在内存与外部设备之间传输,还可以从内存到内存,甚至可以从一台计算机通过网络流向另一台计算机等,故面向对象语言采用流机制。

在标准输入/输出、在文件的读/写等操作中都需要流。

9.Java通讯

9-1 什么是Socket通信?它有什么特点?参与Socket通信的主体是谁?

答:Socket通信时基于TCP连接的两个过程之间的端-端通信,TCP连接提供数据通信所需的字节流服务。特点是Socket通信是双向的、可靠的。

9-2 什么是数据库?什么是数据库管理系统?什么是数据库系统?

【答】数据库是长期存储在计算机外存上的有结构的、可共享的数据集合。数据库管理系统是指数据库系统中对数据进行管理的软件系统,它是位于用户与操作系统之间的一层数据管理软件。数据库系统是采用数据库技术的计算机系统,包括数据库、数据库管理系统、应用程序、数据库管理员和用户。

9-3 什么是主键?主键表达关系的什么性质?为什么每张表都必须设计主键?使用主键时必须遵循什么完整性规则?怎样为一个表声明主键?

【答】主键是能够唯一标识实体的属性集。主键表达关系中实体的唯一性。每张表的主键用于区别表中的实体。使用主键时要遵循实体完整性规则。声明主键的语句如下:

sno char(9) primary key 该句表明列sno为表的主键。

9-4 什么是外键?外键表达关系的什么性质?在什么情况下需要设计外键?使用外键时需要遵循什么完整性规则?

【答】如果模式R中属性K是其他模式的主键,那么K在模式R中称为外关键字,简称外键。当两个表之间有联系时,应该设置外键。使用外键时应遵循参照完整性规则。

9-5 客户----服务器结构的关系数据库系统有什么特点?由哪几部分组成?各部分的功能是怎样的?划分各部分的基本原则是什么?

【答】客户—服务器结构的关系数据库系统的特点是数据集中,功能分布;由服务器和客户端组成;服务器完成DBMS的核心功能,客户端完成数据处理、数据表示、用户接口等功能;划分各部分的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即“功能分布”原则。

在java入门阶段你还有哪些迷惑呢?

对于学习有困难不知道如何提升自己可以加微信:858568103进行交流得到帮助,获取Java学习资料。​​

更多猛料!欢迎扫描上方二维码关注北京尚学堂官方微信公众号(资料领取验证消息:156)

本文作者北京尚学堂原创。如需转载请联系作者授权,未经授权,转载必究。

© 著作权归作者所有

共有 人打赏支持
SXTkaifa
粉丝 3
博文 109
码字总数 250758
作品 0
太原
程序员
Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区 ⋅ 05/09 ⋅ 0

百词斩Java程序员面试11个问题,你会几个?2018-04-10

近日,我们在w3cschool app开发者头条上,可以看到百词斩Java程序员面经。 在分享百词斩Java面经前,w3cschool特别给程序员小伙伴们带来一些Java学习干货: 0、学习Java必备的3大神器 如果你...

W3Cschool ⋅ 04/10 ⋅ 0

Java研发大学毕业后为何找不到理想的工作

现在大学生在大学学习Java技术,毕业后直接工作,我想在大家心里这只是再平常不过的事情了,可是为啥刚一毕业的Java应聘工程师会遭到各个研发企业的拒绝,这是刚毕业的每个大学生心中的疑虑,...

我爱编程学习 ⋅ 06/07 ⋅ 0

学编程,学java还是大数据、android?平均月薪23k以上告诉你方向

学编程,学java还是大数据、android?有不少同学在纠结中,最近有不少初学者来问到,学习大数据,学习spark,公司主要使用那些语言编写,每听到这一个问题,起码还是很不错的,证明你已经开始...

编程南风 ⋅ 05/30 ⋅ 0

书单丨5本Java后端技术书指引你快速进阶

一名Java开发工程师 不仅要对Java语言及特性有深层次的理解 而且需要掌握与Java相关的 框架、生态及后端开发知识 本文涉及多种后端开发需要掌握的技能 对于帮助提高开发能力非常有帮助 NO.1...

Java高级架构 ⋅ 05/30 ⋅ 0

Java编程基础知识点和技术点归纳

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰 ⋅ 05/23 ⋅ 0

阿里年薪50WJAVA工程师转大数据学习路线!

大数据有两个方向,一个是偏计算机的,另一个是偏经济的。你学过Java,所以你可以偏将计算机的。 Java程序员想转大数据可行吗?Java是全世界使用人数最多的编程语言。不少程序员选择Java做为...

JAVA丶学习 ⋅ 04/25 ⋅ 0

sharding-jdbc源码分析—准备工作

原文作者:阿飞Javaer 原文链接:https://www.jianshu.com/p/7831817c1da8 接下来对sharding-jdbc源码的分析基于tag为源码,根据sharding-jdbc Features深入学习sharding-jdbc的几个主要特性...

飞哥-Javaer ⋅ 05/03 ⋅ 0

从Java小白到架构师必须要看的书籍,真正的“武林秘籍”!

少年,我看你骨骼精奇,将是未来万中无一的IT精英,很是适合学JAVA。维护世界和平就看你的了,我这里有能让你成为IT精英的办法!还不来看看! 基础类 1、《Thinking in Java》,入门第一位是...

启示录是真的 ⋅ 05/25 ⋅ 0

Java编程语言:学JAVA没有基础,给你4个方向少走弯路。

Java java常常跟"企业"联系在一起, 因为具备一些很好的语言特性, 以及丰富的框架, 在企业应用中最被青睐, 你总可以听到关于J2EE, JSP, Hibernate之类的东西的讨论. 同时, java在手机领域也有...

启示录是真的 ⋅ 05/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

AppDelegate 设置Root相关

self.window = UIWindow.init(frame: UIScreen.main.bounds) self.window?.backgroundColor = UIColor.white self.window?.makeKeyAndVisible() self.window?.rootViewController = RootTabB......

west_zll ⋅ 11分钟前 ⋅ 0

Java并发系列5--倒计时器CountDownLatch

今天讲一个倒计时器工具,叫CountDownLatch。需要这个工具的场景大概有:当所有的小任务都完成之后,再启动大任务。 先看代码: public class CountDownLatchDemo {static final CountDow...

大大枣 ⋅ 12分钟前 ⋅ 0

SpreadJS使用进阶指南 - 使用 NPM 管理你的项目

前言 SpreadJS作为一款性能出众的纯前端电子表格控件,自2015年发布以来,已经被广泛应用于各领域“在线Excel”数据管理项目中。NPM,作为管理Node.js库最有力的手段,解决了很多NodeJS代码部...

葡萄城控件技术团队 ⋅ 13分钟前 ⋅ 0

Mac下IntelliJ IDEA快捷键大全

https://blog.csdn.net/lisongjia123/article/details/54949364

细节探索者 ⋅ 16分钟前 ⋅ 0

建造者模式

1、工厂模式中创建的对象大都是简单的对象 复杂的产品类并且拥有不同的属性特点的管理就需要用到建造者模式 2、建造者模式: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以...

职业搬砖20年 ⋅ 17分钟前 ⋅ 0

Mysql数据库开发 怎么优化SQL语句?

 1) 现场抓出慢查询语句 show full processlist;   2) 配置参数:   slow_query_log_file = ON 慢查询开启开关   long_query_time =2 记录大于2秒的sql语句   log_queries_not_usi...

老男孩Linux培训 ⋅ 18分钟前 ⋅ 0

Laravel 安装执行php artisan migrate 出现字段过长错误

最近在自己研究Laravel Laravel版本:5.6 PHP版本:7.1.9 Mysql版本:5.7.19 Apache版本:2.4.27 系统版本:windows10 首先要保证电脑安装了composer,和node.js 执行命令 composer global ...

Marhal ⋅ 23分钟前 ⋅ 0

ELK6.0日志从收集到处理完整版教程(二)

ELK简介 Elasticsearch 开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。也可以认为ElasticSearch是一...

bz_z ⋅ 26分钟前 ⋅ 0

Spark项目之电商用户行为分析大数据平台之(七)数据调研--基本数据结构介绍

目录 一、user_visit_action(Hive表) 1.1 表的结构 1.2 表的说明 二、user_info(Hive表) 2.1 表的结构 2.2 表的说明 三、task(MySQL表) 3.1 表的结构 3.2 表的说明 四、工作流程...

xiaomin0322 ⋅ 31分钟前 ⋅ 0

评分卡模型剖析之一(woe、IV、ROC、信息熵)

信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二...

火力全開 ⋅ 31分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部