第一课堂网
 乐理教程 |  手机版 

栏目类型

乐理教程

java基础

时间:2016-03-26 来源:乐理教程 点击:

java基础篇一:Java语言的基础


  引导语:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。以下是百分网小编分享给大家的Java语言基础,帮助大家了解Java语言的名称,描述,定义,例子,备注。

  java语言基础(名称,描述,定义,例子,备注)

  1.1标识符、关键字、保留字

  标识符、关键字、保留字

  名称:标识符;定义:由任意顺序的字母、数字、下划线、美元符号$组成,第一个字母不能是数字,不能是保留关键字;描述:指用户自定义的类名、变量名、接口名、方法名;例子:合法的:name、user_age1、$page,不合法的:5word、int、Username(字符不能有空格);备注:命名法则:文件|文件夹方式命名。

  名称:关键字;定义:对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名;描述:java语言中已经被赋予特定意义的一些单词,不可以把这些字符作为标识符来使用。例子:Java关键字

int
public
this
finally
boolean
abstract
continue
float
long
short
throw
throws
return
break
for
static
new
interface
if
goto
default
byte
do
case
strictfp
package
super
void
try
switch
else
catch
implements
private
final
class
extends
volatile
while
synchronized
instanceof
char
protected
import
transient
implemends
default
double

  friendly,sizeof不是java的关键字,并且java关键字都是小写的

  保留字:指现有Java版本尚未使用但以后版本可能会作为关键字使用的单词;例子:Java保留字

byValue
cast
false
future
generic
inner
operator
outer
rest
true
var
goto
const
null
 
 
 
 

  1.2量(常量、变量)

  量的分类:常量和变量

  名称:变量;定义:指一个内容可变的数据存储空间的表示(在程序中使用变量内容可改变);描述:由变量类型和变量名或初始值组成(type 标识符[=初始值]);例子:intage; Boolean b=true; float f1,f2,f3。

  名称:常量;定义:指在程序中不能改变的量(与变量性质相反);描述:由final 类型名称=值组成(final type 名称=值);例子:finalfloat PI=3.1415926F;备注:常量名称一般定义为大写字母。

  量的使用:直接打印输出;传递;对象名.变量名(实例变量);类名.变量名(静态变量);

  量的作用范围:指量在程序中所拥有的权限。

  量[变量]-全局变量(成员变量)|局部变量

  成员变量:指在类中(在方法外面)声明的变量,作用域是整个类,也可以说是类的属性。分类:静态变量:创建的变量与对象无关(属于成员变量),当不必引用对象时可以直接用类来访问静态变量;为多个实例分配一个内存空间;实例变量:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量;实例变量位于堆区中,其生命周期取决于实例的生命周期。

  例子:

  public class VariantTest

  {

  public static int staticVar = 0;

  public int instanceVar = 0;

  public VariantTest()

  {

  staticVar++;

  instanceVar++;

  System.out.println(“staticVar = ”++staticVar “, instanceVar = ” ++instanceVar);

  }

  }

  量[常量]-系统常量|程序常量

修饰符

成员方法
构造方法
成员变量
局部变量
Abstract(抽象)


×
×
×
Static(静态)
×

×

×
Public(公共)




×
Private(私有)
×



×
Protected保护)
×



×
Synchronized(同生)
×

×
×
×
Final(固定)


×



访问控制符
访问级别
同类
同包
子类
不同包
public
公开




Protected
保护



×

默认


×
×
private
私有

×
×
×

  1.3数据类型,类型转型,相等性测试

  数据类型分类:基本数据类型和字符串类型、引用类型(内存占用字节数,取值范围,默认值)

  基本数据类型(8个):整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节),浮点型:float(4字节)、double(8字节);Boolean(1位):ture、false;字符型:Char (2字节)

  定义:基本类型的值是一个数字,一个字符或一个布尔值,其内容存在栈中,变量直接指向数值内容;

  基本数据类型包括byte、int、char、long、float、double、boolean和short。

  例子:

  public class SimpleTypes{

  publicstatic void main( String args[] ){

  byte b=0x55;

  shorts=0x55ff;

  inti=1000000;

  longl=0xfffL;

  char c="c";

  floatf=0.23F;

  doubled=0.7E-3;

  booleanbool=true;

  System.out.println("b= "+b);

  System.out.println("s= "+s);

  System.out.println("i= "+i);

  System.out.println("c= "+c);

  System.out.println("f= "+f);

  System.out.println("d= "+d);

  System.out.println("bool= "+bool);

  }

  }

  编译并运行该程序,输出结果为:

  C:\>java SimpleTypes

  b = 85

  s = 22015

  i = 1000000

  l = 4095

  c = c

  f = 0.23

  d = 0.0007

  bool = true

java基础篇二:java基础入门知识点


  想学习好Java,就要先掌握好它的基础知识。下面百分网小编为大家整理了相关java基础入门知识点,希望大家喜欢。
  java基础知识精华总结

  对象的初始化

  (1) 非静态对象的初始化

  在创建对象时,对象所在类的所有数据成员会首先进行初始化。

  基本类型:int型,初始化为0。

  如果为对象:这些对象会按顺序初始化。

  ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。

  构造方法的作用就是初始化。

  (2) 静态对象的初始化

  程序中主类的静态变量会在main方法执行前初始化。

  不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时

  未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。

  继承时,对象的初始化过程

  (1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。

  (2) 主类静态成员的初始化。

  (3) 主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个超类的默认构造

  方法前,先进行对此超类进行非静态对象的初始化。

  (4) 主类非静态成员的初始化。

  (5) 调用主类的构造方法。

  关于构造方法

  (1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。

  (2) 在一个构造方法中,只能调用一次其他的构造方法,并且调用构造方法的语句必须是第一条语句

  有关public、private和protected

  (1) 无public修饰的类,可以被其他类访问的条件是:a.两个类在同一文件中,b.两个类

  在同一文件夹中,c.两个类在同一软件包中。

  (2) protected:继承类和同一软件包的类可访问。

  (3) 如果构造方法为private,那么在其他类中不能创建该类的对象。

  抽象类

  (1) 抽象类不能创建对象。

  (2) 如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。

  (3) 继承抽象类的类在类中必须实现抽象类中的抽象方法。

  (4) 抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private。

  (5) 间接继承抽象类的类可以不给出抽象方法的定义。

  inal关键字

  (1) 一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操作。

  (2) 常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构造方法中初始化

  。

  (3) final修饰的方法不能被重置(在子类中不能出现同名方法)。

  (4) 如果声明一个类为final,则所有的方法均为final,无论其是否被final修饰,但数据

  成员可为final也可不是。

  接口interface (用implements来实现接口)

  (1) 接口中的所有数据均为 static和final即静态常量。尽管可以不用这两个关键字修饰

  ,但必须给常量赋初值。

  (2) 接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。

  (3) 如果使用public来修饰接口,则接口必须与文件名相同。

  多重继承

  (1) 一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗

  号分隔。

  (2) 接口之间可多重继承,注意使用关键字extends。

  (3) 一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口

  继承的接口的方法,接口中的所有方法均须在类中实现。

  接口的嵌入

  (1) 接口嵌入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不

  能访问。

  (2) 嵌入接口中的接口一定要为public。

  类的嵌入

  (1) 类可以嵌入另一个类中,但不能嵌入接口中。

  (2) 在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。

  手段有两种:

  class A {

  class B {}

  B getB() {

  B b = new B();

  return b;

  }

  }

  static void m() {

  A a = new A();

  A.B ab = a.getB(); // 或者是 A.B ab = a.new B();

  }

  (3) 一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动

  被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。

  接上例:

  class C extends A.B {

  C() {

  new A().super(); // 这一句就实现了对内部类构造方法的调用。

  }

  }

  构造方法也可这样写:

  C(A a) {

  a.super();

  } // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。

  异常类

  JAVA中除了RunTimeException 类,其他异常均须捕获或抛出。

  Java基础知识

  1. JVM相关(包括了各个版本的特性)

  对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。

  JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低Java基础知识点归纳Java基础知识点归纳。

  在JVM这个大类中,我认为需要掌握的知识有:

  JVM内存模型和结构

  GC原理,性能调优

  调优:Thread Dump, 分析内存结构

  class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程

  方法执行过程:Java各个大版本更新提供的新特性(需要简单了解)

  2. Java的运行(基础必备)

  这条可能出看很简单,java程序的运行谁不会呢?不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。

  这 个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完 了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多 少,执行命名如何,参数如何,是否有缺失等Java基础知识点归纳文章Java基础知识这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。

  在这里需要掌握的知识有:

  javac 编译java文件为 class 文件

  java 命令的使用, 带package的java类如何在命令行中启动

  java程序涉及到的各个路径(classpath, javalibrary。path, java运行的主目录等)

  3. 数据类型

  这条没有什么好多说的,无非就是Java中的基本类型和对象类型的掌握Java基础知识点归纳JAVA认证。可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断

  主要知识点:

  基本类型: int, long, float, double, boolean ,

  对应的对象类型: Integer 等类型到基本类型的转换, 装箱和拆箱

  Object类型: equals, hashcode

  String 类型的特点

  4. 对象和实例,对象的创建

  在这方面,开发者需要了解class和instance的概念以及之间的差别, 这是java面向对象特性的一个基础。主要知识点有:

  Class和 Instance 的概念;

  Instance 创建的过程:1. 无继承:分配内存空间, 初始化变量, 调用构造函数;2.有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法;

  需要注意的点:静态属性等从基类->子类进行初始化;默认无参构造方法相关的特性。

  5. 访问控制

  这也是java封装特性的一个基础,需要掌握的有:

  public protected default private 对于class, method, field 的修饰作用

  6. 流程控制

  Java 流程控制的基础, 虽然有些语法不一定很常用,但是都需要了解,并且在合适的地方使用它们。

  需要掌握的有:if, switch, loop, for, while 等流程控制的语法

  7. 面向对象编程的概念

  这 是一个java的核心概念,对于任何java开发者都需要熟练掌握。Java中很多特性或者说知识点都是和java面向对象编程概念相关的。在我的理解, 一个好的开发者不仅仅需要了解这些特性(知识点)本身,也更需要知道这些对象在java的面向对象编程概念中是如何体现出来的,这样更有利于开发者掌握 java这门开发语言,以及其他面向对象编程的语言。在这里只是简单罗列了一下,主要的知识点包括有:

  面向对象三大特性:封装,继承,多态; 各自的定义概念,有哪些特性体现出来,各自的使用场景

  静态多分派,动态单分派的概念

  重载的概念和使用

  继承:接口多实现,基类单继承

  抽象,抽象类,接口

  多态:方法覆盖的概念和使用

  接口回调

  8. Static

  静态属性在java日常开发中也是经常使用,需要了解和 static 关键字相关的用法,还有和其他关键字的配合使用, 如是否可以和 abstract, final 等关键字联合使用。

  主要需要掌握的有:

  静态属性的定义,使用,以及类加载时如何初始化

  静态方法的定义和使用

  静态类的定义和使用

  静态代码块的定义和初始化时机

  9. 基础知识点

  这里主要罗列一些散落的,没有系统归类的一些java知识点。在日常的开发中用到也不少Java基础知识点归纳Java基础知识点归纳。 这块内容其实还有很多,目前只是暂时归纳了这几个在这里:

  包括有:equals , hashcode , string/stringbuffer ,final , finally , finalize

  10.集合框架

  这 个是一个需要多加掌握的部分,做java开发,可以说没有不用到集合框架的,这很重要。但是这里的知识点并不难,但是对于集合最好要了解内部的实现方式, 因为这样有助于你在各个不同的场景选择适合的框架来解决问题,比如有1W个元素的集合,经常要进行contains判断操作,知道了集合的特性或者内部实 现,就很容易做出正确的选  这里包括了如下内容(并发相关不包含在内):

  集合框架的体系: 基础Collection ,Map

  具体集合实现的内容, List ,Set ,Map 具体的实现,内部结构, 特殊的方法, 适用场景等

  集合相关的工具类 Collections 等的用法

  11.异常框架

  异 常在java的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设 计开发中, 异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性Java基础知识点归纳JAVA认证。一个好的系统的异常对于开发者来说,处理应该统一,避免各处散落很多异常处理逻辑;对于系统 来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方法,知道如何运维处理,所以虽然异常框架很简单,但是对于整个企业级应用开发 来说,异常处理是很重要的,处理好异常就需要了解Java中的异常体系。

  这部分需要掌握的知识点不多,主要就是:

  异常的体系:

  Throwable

  Exception

  RuntimeException

  Error

  RuntimeException 和 一般 Exception 的区别, 具体处理方法等

  12.Java IO

  IO 在java中不仅仅是文件读写那么简单,也包括了 socket 网络的读写等等一切的输入输出操作。比如说 标准HTTP请求中Post的内容的读取也是一个输出的过程,等等…

  对于IO,Java不仅提供了基本Input、Output相关的api,也提供了一些简化操作的Reader、Writer等api,在某些开发(涉及大量IO操作的项目)中也很重要,一般日常的开发中也会涉及(日志,临时文件的读写等)。

  在这中的知识点主要有:

  基本IO的体系: 包括有InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等

  NIO 的概念, 具体使用方式和使用场景

  13.多线程并发

  多线程是Java中普遍认为比较难的一块。多线程用好了可以有效提高cpu使用率, 提升整体系统效率, 特别是在有大量IO操作阻塞的情况下;但是它也是一柄双刃剑, 如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题。

  在多线程中内容有很多,只是简单说明一下Java中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。

  多线程的实现和启动

  callable 与 runable 区别

  syncrhoized ,reentrantLock 各自特点和比对

  线程池

  future 异步方式获取执行结果

  concurrent 包

  lock

  ..

  14.网络

  Java 中也是提供了可以直接操作 TCP协议、UDP协议的API。在需要强调网络性能的情况下,可以直接使用TCP/UDP 进行通讯。在查看Tomcat等的源码中,就可以看到这些相关API的使用情况。不过一般也比较少会直接使用TCP,会使用诸如MINA、Netty这样 的框架来进行处理,因为这个方面的开发涉及不多,所以就不再详细罗列了。

  15.时间日期处理

  几乎对于每个应用来说,时间日期的处理也是绕不过去的,但是JDK8 之前的时间相关API用法并不友好。在那个时代,可以选择Joda等时间框架。到了JDK8 发布之后,全新的时间API基本融合了其他框架的优点,已经可以很好的直接使用了。

  对于Java开发者来说,需要熟练地使用API来对时间和日期做相关的处理。

  具体知识点不再罗列,会在以后再写个专门的文章来总结一下JDK8中时间日期API的用法Java基础知识点归纳Java基础知识点归纳。

  16.XML解析/ JSON解析

  其实这两块内容都不是J2SE里面的内容,但是在日常开发中,和其他程序交互,和配置文件交互,越来越离不开这两种格式的解析。

  不过对于一个开发者来说,能够了解一些XML/JSON具体解析的原理和方法,有助于你在各个具体的场景中更好的选择合适你的方式来使得你的程序更有效率和更加健壮。

  XML: 需要了解 DOM解析和 SAX解析的基本原理和各自的适用场景

  JSON: 需要了解一些常用JSON框架的用法, 如 Jackson, FastJson, Gson 等。

  17.Maven的使用

  Maven 也不是Java里面的内容,但是maven是革命性的,给java开发带来了巨大的便利。从依赖的引入和管理,开发流程的更新和发布产出,乃至版本的更 新,使用maven可以大大简化开发过程中的复杂度,从而节省大量时间Java基础知识点归纳文章可以说,maven已经成为java开发者的标配了。所以我把maven也作为一 个java开发者对于基础必备的知识点。以后会再放上一些我的一些对于maven使用的经验和技巧等,这里就不再细说了。

  18.泛型

  这是JDK5开始引入的新概念,其实是个语法糖,在编写java代码时会有些许便利, 一般的应用或者是业务的开发,只需要简单使用,不一定会用到定义泛型这样的操作, 但是开发一些基础公共组件会使用到,可以在需要的时候再细看这个部分,一般情况下只要会简单使用即可。

  19.标注

  也是jdk5 之后引入的。Spring是个优秀的框架,最开始就以xml作为标准的配置文件。不过到了Spring3 之后,尤其是 spring-boot 兴起之后,越来越推崇使用标注来简化xml配置文件了,对于开发者来说,可以节省不少xml配置的时间

  但是劣势是在于标注散落在各个类中,不像xml, 可以对所有配置有个全局性的理解和管理,所以还没有办法说完全就取代所有的xml。对于一般开发者,会使用标注即可,一些公共组建的开发者可能会需要了解 标注的定义和实现,可以在具体需要的时候再细看。

  20.RMI

  RemoteMethodInvocation ,Java语言特有的远程调用接口,使用还是比较简单方便。不过需要跨语言的情况下,就需要使用 webservice 等其他方式来支持。一般来说,程序都不需要使用RMI,不过可以在特定的情况下使用,我就在一个项目中,使用RMI来进行程序远程启动停止的控制。

  21.JNI

  Java Native Interface,可以允许Java中调用本地接口方法,一般用于C/C++代码的调用。需要注意的是在java中加载so/dll文件的路径问题,本身调用接口并不复杂,但是经常在是否加载了所需的本地接口库中花费较多时间。

  以 上也只是简单介绍了下我对于这些java基本知识点和技术点的一些看法和介绍, 这些内容都源自于我这些年来使用java的一些总结, 希望给刚刚接触Java, 或者打算从Java开发的人一些经验, 希望能够更有效率地学习和使用java, 避免走了弯路浪费了宝贵的时间。
看过“java基础入门知识点”的人还看了:

1.java面试笔试基础知识

2.2017注册岩土工程师专业基础知识点复习

3.2017成人高考医学综合内科基础知识点

4.2017注册电气工程师基础知识点复习

5.2017成人高考生态学基础知识点复习

6.2017成人高考生态学基础备考知识点

java基础篇三:java基础知识测试题及答案


  在任何Java考试当中多线程和并发方面的问题都是必不可少的一部分。java基础知识更是必不可少的知识。下面是百分网小编为大家整理的关于java基础知识测试题,希望大家喜欢!

  java基础知识测试题及答案(一)

  一、 单选题

  1. 对类: (B)

  public class Test{

  //…do something

  }

  下面那个正确地定义了类Test的构造函数。

  A)public void Test(){}

  B)public Test(){}

  C)public static Test(){}

  D)public Test();

  2. 下面哪个函数是public void example(){...}的重载函数。(A)

  A)public void example( float f){...}

  B)public int example(){...}

  C)public void example2(){...}

  D)public int example_overLoad ( ){...}

  3. 下面的代码段中,执行之后i 和j 的值是_C_。

  int i = 1;

  int j;

  j = i++;

  A)1, 1 B)1, 2 C)2, 1 D)2, 2

  4. 以下for循环的执行次数是_B_。

  for(int x=0,y=0;(y!=0)&&(x<4);x++);

  A)无限次 B)一次也不执行

  C)执行4次 D)执行3次

  5. 下面程序的输出结果是__C。

  public class People{

  String name;

  int id;

  public People( String str, int n ){

  name = str;

  id = n;

  }

  public String toString(){

  return id + " : " + name;

  }

  public String print(){

  return name + " : " + id;

  }

  public static void main( String args[] ){

  People p = new People( "zhang", 1 );

  System.out.print( p );

  }

  }

  A)zhang 1 B)zhang : 1 C)1 : zhang D)不确定

  6. 下面函数的运行结果是_C_。

  class Count{

  static int cnt = 0;

  static int sum = 0;

  int number;

  public Count( int n ){

  number = n;

  cnt++;

  sum += number;

  }

  public static void main( String args[] ){

  Count c1 = new Count(11);

  Count c2 = new Count(22);

  c2 = new Count( 33 );

  System.out.print( c2.cnt + " : " + c2.sum );

  }

  }

  A)0 : 0 B)2 : 33 C)3 : 66 D)3 : 33

  7. 下面程序的运行结果为_A_。

  class example{

  public static void main( String args[] ){

  int x = 0;

  if( x > 0 ) x = 1;

  switch( x ){

  case 1 : System.out.print( 1 );

  case 0 : System.out.print( 0 );

  case 2 : System.out.print( 2 ); break;

  case 3 : System.out.print( 3 );

  default : System.out.print( 4 ); break;

  }

  }

  }

  A)02 B)0 C)2 D)023

  8. 对final关键字的说法不正确的是 (A)

  A 子类不能继承父类的final成员变量

  B final成员变量不能被修改

  C 接口中定义的成员变量都是final变量

  D 如果final成员变量在定义处没有初始化,那么它必须在构造函数中被初始化

  9. 关于设计模式下列说法不正确的是 (C)

  A .Singleton模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。

  B .Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

  C.Bridge模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

  D .Proxy模式为其他对象提供一个代理以控制对这个对象的访问。

  10. MVC模式中说法不正确的是 (A)

  A MVC是指的表现层-业务层-数据库这种模式

  B Model层实现系统中的业务逻辑

  C View层用于与用户的交互

  D Controller层是Model与View之间沟通的桥梁

  11. 关于命名,描述不正确的是: ()

  A. 类名和接口使用类意义完整的英文描述。

  B. 类名和接口的命名采用每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

  C. 方法名采用第一个单词的字母使用大写、剩余单词首字母大写其余字母小写的大小写混合法。

  D. 方法名使用方法意义完整的英文描述。

  12. 下述各项的代码中,符合编码规范的是: (A)

  A. for (...) {

  ... // program code

  }

  B. void example_fun( void )

  {

  ... // program code

  }

  C. if (filename != null

  && new File(logPath + filename).length() < LogConfig.getFileSize())

  {

  ... // program code

  }

  D. LogFilename now = null;

  LogFilename that = null;

  13. 下述各项中,不符合编码规范的项是: (D)

  A. for (...)

  {

  ... // program code

  }

  B. if (...)

  {

  ... // program code

  }

  C. void example_fun( )

  {

  ... // program code

  }

  D. class user{

  ... // program code

  }

  二、多选题

  1. 以下对于HTML5说法正确的是:

  A) 是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 技术。

  B) 强化了 Web 网页的表现性能。

  C) 追加了本地数据库等 Web 应用的功能。

  D) 希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。

  2. 下述各项中,符合编码规范的是:

  A. 分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。

  B. 较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

  C. 建议把多个短语句写在一行中,便于阅读

  D. if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{}。

  3. ACM的说法错误的是: (D)

  A) ACM是基于Java Framework开发的

  B) ACM是权限管理系统,包括数据权限与功能权限的控制

  C) ACM统一权限管理平台,可供后续项目直接引用

  D) ACM无法控制页面上按钮的权限,只能控制页面访问权限

  4. Java Framework v20说法正确的是:

  A) Java Framework v20里面自带了文件上传组件,并提供了丰富的方法供开发者使用

  B) Java Framework v20集成了Struts2+Spring3+Mybatis3三大框架

  C) Java Framework v20集成了Struts2+Spring3+Hibernate3三大框架

  D) Java Framework v20自定义了开发丰富的标签库供使用

  5. Java Framework v20系统设计目的,说法正确的是: (ABCD)

  A) 为后续项目可能会碰到的一些共通的难题提供切实可靠的成熟的解决方案;

  B) 提高开发效率;

  C) IT行业人才流动性大,保证在人员变动剧烈的情况下,项目能够继续进行;

  D) Java developer在使用这套framework之后,能从中学习与发掘前人在实践中总结的宝贵经验,极大地提升个人能力;

  6. 关于继承哪些说法是正确的

  A.继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

  B.采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

  C.类的继承性使所建立的软件具有开放性、可扩充性简化了对象、类的创建工作量,增加了代码的可重用性。

  D.不同的对象,收到同一消息可以产生不同的结果,这种现象称为继承。

  java基础知识及试题答案(二)

  一、判断题

  1Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free [错]

  2子类要调用父类的方法,必须使用super关键字[错]

  3有的类定义时可以不定义构造函数,所以构造函数不是必需的[对]

  4类及其属性、方法可以同时有一个以上的修饰符来修饰[对]

  5抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法[错]

  6最终类不能派生子类,最终方法不能被覆盖[对]

  7一个Java类可以有多个父类[错]

  8用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串[错]

  9java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面[错]

  10抽象类里一定要包含抽象方法,但含抽象方法的类未必是抽象类[错]

  11在不同的软硬件平台上,Java的各种数据类型所占用的内存长度不同,因此程序的可移植性不强。[错]

  12构造方法是一种特殊的方法,名字与类名一致,但返回类型都为void型。[错]

  13Java语言中的数组元素只能是基本数据类型而不能为对象类型。[错]

  14Java的类不允许多重继承,但接口支持多重继承。[对]

  15Java的各种数据类型所占用的内存长度与具体软硬件环境有关[错]

  16abstract方法所在的类必须是abstract类。[对]

  17即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空。[对]

  18Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。[对]

  19构造方法可以被继承[错]

  20JAVA应用程序是从其中的main()方法开始运行的

  21Java数组随时可以改变大小[错]

  22super()和this()方法只能在构造函数里调用[错]

  23构造方法可以被继承[错]

  24Java当中long类型的数据占8个字节[对]

  25JAVA中的类、接口、数组都是引用数据类型[对]

  26JAVA当中方法的重载与方法名、参数列表及返回值有关[错]

  27JAVA当中方法的重写与方法名、参数列表及返回值有关,并且不能扩大异常范围、不能降低访问范围[对]

  28如果在程序中,一个try块没有对应的catch块,只有一个finally块和其对应,这种写法行不行?[行]

  29JAVA的基本数据类型boolean的默认值是什么?[false]

  30const、NULL、false、this、native这些个单词哪些是JAVA中的保留字[NULL不是其它都是的]

  31JAVA当中,如果一个对象没有一个引用指向它,那么此对象将会被垃圾收集。这种说法对不对[对]

  32下面哪些变量的命名是合法的? [userName、$charge]

  userName、%password、3d_game、$charge、this

  33byte类型的数据取值范围是多少?[-128~127]

  34下面程序的输出结果是什么[D]

  int[] arr = new int[10];

  System.out.println(arr[0]);

  A 编译不通过

  B 运行时出错

  C 输出null

  D 输出0

  35

  下面程序的输出结果是什么[D]

  Set set= new HashSet();

  set.add(“aaa”);

  set.add(“bbb”);

  set.add(”aaa”);

  System.out.println(set.size());

  A 编译不通过

  B 运行时出错

  C 输出3

  D 输出2

  36执行以下代码最后的结果是(C)

  1. Map map = new HashMap();

  2. map.put("name", "zs");

  3. map.put("name", "ls");

  4. System.out.println(map.get("name"));

  A编译错误

  B控制台输出“zs”

  C控制台输出“ls”

  D控制台输出“null”

  37启动一个线程是那种方法? (B)

  A start

  B run

  C yeild

  D sleep

  38以下代码共创建了多少个String对象?(C)

  1. String s1 = new String("abc");

  2. String s2 = s1;

  3. String s3 = new String("abc");

  A 1

  B 2

  C 3

  D 4

  39下面哪个声明是正确的?(A)

  A char c = ‘\’’;

  B char c = “cafe”;

  C char c = ‘\u01001’;

  D char c = ‘0x001’

  40在JAVA语言当中,哪个关键字用来实现同步?(C)

  A native

  B static

  C synchronized

  D abstract

  41下面的哪个变量命名是不合法的?(C,E)

  A here

  B _there

  C this;

  D that

  E 2tolodds

  42下面哪些赋值语句是正确的?(A,B,D)

  A long test = 012;

  B float f = -412;

  C int other = (int) true;

  D double d = 0x12345678;

  E byte b = 128;

  43下面哪个语句正确地声明一个整型的二维数组(C, D)

  A int a[][] = new int[][];

  B int b[10][10] = new int[][];

  C int c[][] = new int[10][10];

  D int []d[] = new int[10][10];

  44下面哪个函数是public void aMethod(){...}的重载函数?(B,D)

  A void aMethod( ){...}

  B public int aMethod(int a, float b){...}

  C public void aMethod (){...}

  D public float aMethod (int m){…}

  45有一个JavaScript的对象foo,它有一个att属性,那么获取att属性的值,以下哪些做法是可以的?(ACE)

  A. foo.att

  B. foo(“att”)

  C. foo[“att”]

  D. foo{“att”}

  E. foo[“a”+”t”+”t”]

  46面向对象编程的特点是(B,C,D)

  A 抽象

  B 继承

  C 封装

  D 多态

  47下面关于Struts报错机制说法正确的是(A、C、D)。

  A 强制使用国际化

  B 错误信息保存在session中

  C 使用标签显示错误信息

  D 也可以使用显示错误信息

  48在三层结构中,数据访问层承担的责任是(B)。

  A 定义实体类

  B 数据的增删改查操作

  C 业务逻辑的描述

  D 页面展示和控制转发

  49在Hibernate关系映射配置中,inverse属性的含义是(B)。

  A 定义在节点上,声明要负责关联的维护

  B 声明在节点上,声明要对方负责关联的维护

  C 定义在节点上,声明对方要负责关联的维护

  D 声明在节点上,声明要负责关联的维护

  50尝试运行下面的代码会发生什么?(B)

  public class Test {

  public static void main(String[] args) {

  boolean m = true ;

  if (m = false ) {

  System.out.println("true");

  } else {

  System.out.println("false");

  }

  }

  }

  A 输出字符串“true”

  B 输出字符串“false”

  C 编译时错误

  D 运行时错误
猜你还喜欢:

1.java基础知识面试题

2.java基础知识笔试题

3.java基础知识笔试题

4.java基础知识总结笔记

5.java基础知识点汇总

6.java基础知识

推荐访问:java基础教程

上一篇:
下一篇: