JAVA
1:简述Java的基本历史
java起源于SUN公司的一个GREEN的项目,其原先目的是为家用消费电子产品
发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等.
2:简单写出Java特点,写出5个以上,越多越好
简单的、面向对象的、分布式的、安全的、稳定的、与平台无关的、可解释的、多线的、动态的语言。
3:什么是Java?
JAVA:一种编程语言
一种开发环境
一种应用环境
一种部署环境
4:请写出Java的版本分类及应用方向
三种版本:
J2ME:是面向内存有限的移动终端. 为消费性产品设计的
J2SE: 是SUN公司针对桌面开发和低端商务计算方案开发的版本。为笔记本电脑、PC机设计的
J2EE: 是一种利用JAVA 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 为企业级的、服务器端的高端应用而设计的
5:描述Java技术的主要特性
java虚拟机
垃圾回收
代码安全性
6:描述 Java虚拟机的功能
提供硬件平台规范
解读独立于平台的已编译的字节码
可当作硬件或软件来实现
可以在JAVA技术开发工具上或在WEB浏览器上实现
7:简述Java代码安全性
1.字节码校验
2.沙箱机制,提供的安全机制
8:简述Java代码的运行过程
加载代码 通过类装载器装载CLASS文件
校验代码 由字节码校验
执行代码 由解释器将字节码转换成机器码
9:简述如何搭建Java开发环境
首先下载安装JDK 然后配置环境
1. 配置PATH,
2. 配置CLASSPATH
3. 配置JAVA_HOME
10:简述classpath,path,JAVA_HOME的意义和配置方法
path 操作系统运行环境的路径
classpath JAVA运行应用程序时所需要的类包路径
JAVA_HOME 供需要运行JAVA的程序使用
二:
11:请描述:一个完整的Java文件的代码分几个部分,每部分都起什么作用,大致的写法
package 当前类所在位置
import 当前类运行时所需要的包或类
public class 类名 {
属性定义;
方法定义:
构造方法定义;
public static void main(String args []) 例外{ 程序入口
语句;
}}
注释
12:Java代码的注释有几种?分别举例说明
1. // 单行注解
2. /* */ 块注释
3. /* *
* 文档注释
*/
13:什么是Java代码的语句,什么是Java代码的块,举例说明
语句 是一行以分号终止的代码,例:int a;
块 是以{ }为边界的一些语句的集合 例:public void tt(){}
14:什么是标示符?
标识符:是赋予变量、类、方法的名称。
15:标示符定义的规则?
1.首字母只能以字母、下划线、$开头,其后可以跟字母‘下划线、$和数字
2.首字母小写中间用大写字母隔开
3.标识符具有一定的含义
16:什么是关键字?
关键字就是编程语言与机器语言的编码约定
17:true、false、null、sizeof、goto、const那些是Java关键字
true 、false 、null 为JAVA的关键字
18:Java的基本数据类型有几种?分别是?
short int long boolean float double char byte
19:请写出每种基本类型的默认值?取值范围?分别给出一个定义的例子
默认值 取值范围
字节型 : 0 -2^7----2^7-1
字符型 : ' \u0000' 0----2^16-1
short : 0 -2^15----2^15-1
int : 0 -2^31----2^31-1
long : 0 -2^63----2^63-1
float : 0.0f -2^31----2^31-1
double : 0.0d -2^63----2^63-1
boolean: false true\false
20:在基本类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?
整数类型 默认为 int
带小数的默认为 double
21:如何定义float类型和long型
float f = 1.2f
long l = 1.2L
22:什么是变量?
变量:一种在程序中可以改变的标识符
23:变量的定义规则?
1.首字母小写中间用大写字母隔开 其后可以跟字母‘下划线、$和数字
2.具有一定含义
3.首字母必须是字母、$、下划线,
24:请写出Java编码约定中对下列部分的要求:类、属性、方法、包、文件名、变量、
常量、控制结构、语句行、注释
类: 一个类文件中类名要和文件名相同,类名一定要以大写字母开头单词之间用大写字母分隔
属性: 属性名首字母小写中间用大写字母隔开
方法: 方法名首字母小写中间用大写字母隔开
包: 引用包必须写在类文件的开头,有且只能有一个包 全部用小写字母
控制结构:当语句是控制结构的一部分时,即使是单个语句,也应使用大括号将语句
封闭:
语句行:每行只写一个语句,并使用四个缩进的空格,使代码更易读,注意用分号结束;
注释: 用注释来说明那些不明显代码的段落;
常量: 常量名一般用大写字母,单词之间用下划线分隔,一旦赋值不允许修改
25:什么是Javadoc?
按照一定格式生成程序的文档的工具
26:什么是引用类型?
一个用户定义类型, 它可引用类和数组。
27:什么是按值传递?什么是按引用传递?
值传递 : 就是将该值的副本传过去(基本数据类型+String类型的传递,就是按值传递)
按引用传递 : 就是将值的内存地址传过去(除基本数据类型+String以外类型的传递,就是引用传递)
28:那些是按值传递?那些是按引用传递?
基本数据类型+String类型 按值传递
除基本数据类型+String类型以外,比如Model s[] 按引用传递
29:如何创建一个新对象?如何使用对象中的属性和方法?
public class S{}
通过对象的实例 用(.)来调用属性和方法;
静态的方法和属性,也可以直接用类(.)来调用;
30:简述new关键字所做的工作
new 关键字就是为事先声明的对象分配一块内存区域;
31:简述”=” 和”==”的功能和区别
"="赋值,"= ="判断= =前后两个值得内存地址是否相等;
区别:
= :为赋值表达式
= = :为逻辑表达式
32:什么是实例变量?什么是局部变量?什么是类变量?什么是final变量?
实例变量: 类中定义的变量,即类成员变量,如果没有初始化,会有默认值;
局部变量: 在方法中定义的变量,必须初始化;
类变量: 用static可修饰的属性;
final变量: final属性只允许赋值一次,且只能通过构造方法赋值;定义后也就
是一个常量;
33:简述上述各种变量的定义规则和使用规则?
实例变量:它不需要static关键字来声明,只要对象被当作引用,实例变量就将存在;
局部变量:在方法内任意定义变量即为局部变量;
类变量:必须用static修饰;
final变量:不可以在修改的
34:a++和++a的区别?
a++ : 先使用,后加1
++a : 先加1,后使用
34:请描述instanceof、?:、&、&&各自的功能
instanceof :用来判断某个实例变量是否属于某种类的类型。
?: 三目运算符:
表达式1?表达式2:表达式3
如果表达式1为true,执行表达式2,否则执行表达式3
&: 位运算:按位与
&&: 逻辑运算:逻辑与
35:请描述>>、<<、>>>的功能
>> :算术或符号右移位运算符
<< :算术或符号右移位左移运算符
>>> :逻辑或非符号右移位运算符
36:请描述什么是强制类型转换?什么是自动类型转换?什么是向上造型?
并分别举例说明
强制类型转换:在一个类型前面加(),来强制转换
long l = 9L;
int i = (int)l;
自动类型转换:
int i = 5;
String str = ""+i;
向上造型:把范围小的造型为范围大的类型,
int i = 2;
long l = i;