文章类型: JAVA
关键词: S1,Java,基础,知识,问答题
内容摘要:

Java基础知识

2015/7/29 14:13:22    来源:apple    阅读:

1.       Java中的StringStringBuffer的区别?答案:

StringBuffer类是 String 类的一个增强类,而且是比String类更高效地存储字符串的一种引用数据类型,特别是对字符串进行追加操作时,使用StringBuffer类能大大提高程序的执行效率。String 长度不可变,StringBuffer可变长。例如, string str=“aaa”;

 StringBuffer strB=new StringBuffer(“abc”);      str=str+“bbb”;  strB=strB.append(“def”);

2. 简述什么是类,什么是对象以及类与对象的区别。答案:

答案:类是具有相同属性和共同行为的一组对象的集合,对象或实体所拥有的特征在类中表示时称为类的属性,对象执行的操作称为类的方法;对象就是存在的具体实体,具有明确定义的状态和行为。类和对象的区别:它们之间有着本质的区别,简单地说,类定义了一个概念模型,而对象是真实的实体;类是描述实体的“模型”或“原型”,它定义了属于这个类的对象所应该具有的状态和行为。类是实体对象的概念模型,因此通常是笼统的、不具体的。

3. Java的变量命名规则。答案:

    1)变量必须以字母、下划线“_”或“$”符号开头;

    2)变量可以包括数字,但不能以数字开头;

    3)除了“_”或“$”符号以外,变量名不能包含任何特殊字符;

    4)不能使用Java语言的关键字,比如:int、class、public等

4. Java中的数据类型转换有哪几种方式?它们都是如何使用的?

1)自动数据类型转换;

规则1:如果一个操作数为double型,则整个表达式可提升为double型;

规则2:满足自动类型转换的条件,

(1)两种类型要兼容:数值类型(整型和浮点型)互相兼容;

(2)目标类型大于源类型:double型可以存放int型数据,因为为double型变量分配的空间宽度足够存储int型变量。因此,把int型变量转换成double型变量形象地称为“放大变换”。

2)强制数据类型转换;语法:  (数据类型) 表达式

5. Java中的switch结构中用到的关键字有哪些?作用是什么?其执行过程怎样?

在java中switch结构用到了switch、case、default、break四个关键字,其作用分别如下:

switch:表示“开关”,这个开关就是switch关键字后面小括号里的值,小括号里要放一个整型变量或字符型变量;

case:表示“情况、情形”,case后必须是一个整形或字符型的常量表达式,通常是一个固定的字符、数字,case块可以有多个,顺序可以改变,但是每个case后常量值必须各不相同;

default:表示“默认”,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,而不会影响程序执行结果。通常,default块放在末尾,当然,也可以省略。

break:表示“停止”,即跳出当前结构;

执行过程:先计算switch后面小括号里的整型变量的值,然后将计算结果顺序跟每个case后的常量比较,当遇到二者相等的时候,执行这个case块中的语句,遇到break时就跳出switch结构,执行switch结构之后的语句。如果没有任何一个case后的常量跟小括号中的值相等,则执行switch末尾部分的default块中的语句。

6. Java中的什么情况下可以使用switch结构代替多重if条件结构?

都是来处理多分支条件的结构,但是switch结构只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量,而多重if结构却没有这个限制。当条件判断是等值判断的情况下,可以使用switch结构代替多重if结构。

7. Java中的while循环、do-while循环和for循环有什么异同点?

相同处:都是循环结构,使用“while(循环条件)”表示循环条件,使用大括号将循环操作括起来。

不同处:(1)语法不同。与while循环相比,do-while循环将while关键字和循环条件放在后面,而且前面多了do关键字,后面多了一个分号。

(2)执行次序不同。while循环先判断,再执行;do-while循环先执行,再判断。

(3)一开始循环条件就不满足的情况下,while循环一次都不会执行,而do-while循环则不管什么情况都至少执行一遍。

(4)for循环的语法结构   for(初始化;条件;迭代){//循环体…}

(5)for循环:先执行初始化部分,再进行条件判断,然后执行循环体,最后执行迭代部分的计算,如果条件不成立,跳出循环,如果成立,执行循环体,如此进行下去…

适用情况:在解决问题时,对于循环次数确定的情况,通常选用for循环,对于循环次数不确定的情况,通常选用while和do-while循环。

8. Java中的调试程序的方法和步骤是什么?

调试程序的主要方法是:设置断点、单步执行和观察变量。

通过调试解决问题的步骤如下:1)分析错误位置,设置断点;2)启动调试单步运行;3)观察变量;4)发现问题;5)修正代码,重新运行;6)解决问题。

9. 什么是循环,循环包括哪些部分?

循环语句的主要作用是反复执行一段代码,直到满足一定的条件为止。

循环可以分为4个部分:(1)初始部分:设置循环的初始状态;(2)循环体:重复执行的代码,即操作;(3)迭代部分:下一次循环开始前要执行的部分,在while循环中它作为循环体的一部分;(4)循环条件:判断是否继续循环的条件;

10. continuebreak的用法?

break语句用于终止某个循环,使程序跳到循环块外的下一条语句。在循环中位于break后的语句将不再执行。break语句不仅可以用在for循环中,也可以用在while和do-while循环中,break语句通常与if条件语句一起使用。continue语句可以用于for循环,也可以用于while和do-while循环。在for循环中,continue使程序先跳转到迭代部分,然后判定循环条件,如果为true,继续下一次循环,则否终止循环;在while循环中,continue执行完毕后,程序将直接判断循环条件。continue语句只能用在循环结构中,而break语句还能用在switch分子结构中。

11. 对控制流语句进行小结?

类型

作用

实现

分支语句

分支语句根据表达式和变量的不同状态选择不同的分支

ifif-elseif-else if-elseswitch

循环语句

循环语句使程序重复执行某个程序块或语句

whiledo-whilefor

跳转语句

跳转语句允许程序跳跃执行

breakcontinue

12. 什么是对象的属性和方法?

对象就是存在的具体实体,具有明确定义的状态和行为。

对象所拥有的一个或多个特性的集合构成了对象的状态,也就是对象的属性;

对象所执行的一个或多个操作的集合构成了对象的行为。

Java中,对象的状态被分别存储在一些变量里,而对象的行为,通过定义方法来实施。

13. Java中的数据类型的分类?

主要分为以下两类:

1)        基本数据类型:整型(int)、双精度型(double)、字符型(char)、布尔型(Boolean)等

2)              引用数据类型:字符串(String),使用class自定义的类型。

14. Java中为什么使用包,如何使用包,包和目录什么关系?

包的使用主要有以下3个方面的作用:(1)、包允许将类组合成较小的单元(类似文件夹),使易于找到和使用相应的类文件。(2)、防止命名冲突:Java中只有在不同包中的类才能重名。(3)包允许在更广泛的范围内保护类、数据和方法,可以在包内定义类,根据规则,包外的代码有可能不能访问该类。使用包其实就是使用该包中的类,使用该包中的类之前首先要导入该类,用“import 包名.类名;”来导入该类,import语句要在类定义之前。

包和目录的关系:在Java中,包被设计与文件系统相对应,每个包都对应于文件系统中同名的子目录。包的嵌套反映了文件系统中的目录层次,声明包事实上是在文件系统中创建了相对应的一层层文件夹。

15. Java中的一维数组的使用与C#中有什么异同?

Java中定义数组的语法如下:

数据类型[] 数组名;           数据类型 数组名[];

但在C#中只能使用第一种方式,C#中不能把方括号放在数组名的后面。

声明数组时不需要规定数组的长度,在对数字初始化或分配空间时才可以指定数组的长度。

分配空间或指定数组大小:     数组名 = new 数据类型[数组长度]; eg: score = new int[30];

数组的声明、分配空间且初始化数组:

数据类型[] 数组名 = new 数据类型[数组长度]{值1,值2,值3,…,值n};

而在Java中没有上面的数组的声明、分配空间且初始化数组的方法

数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…,值n};//省略数字长度

数据类型[] 数组名 = {值1,值2,值3,…,值n};//省略new

注:直接创建并赋值的方式一般在数组元素比较少的情况下使用,它必须一并完成。

C#与Java创建数组共性小结

方法

说明

语法

仅声明

仅声明数组

数据类型[] 数组名;

声明和创建

使用保留字“new”声明并为数组元素分配内存

数据类型[] 数组名 = new 数据类型[数组长度];

声明、创建和初始化

声明数组,为其分配内存并对元素赋初始值

数据类型[] 数组名 = {值1,值2,值3,…,值n};

数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…,值n};

16. Java中的常用提取和查询字符串的方法?

方法

说明

Public int indexOf(int ch)

搜索第一个出现的字符ch(或字符串value

Public int indexOf(String value)

Public int lastIndexOf(int ch)

搜索最后一个出现的字符ch(或字符串value

Public int lastIndexOf(String value)

Public String substring(int index)

提取从位置索引开始的字符串部分

Public String substring(int beginindex, int endindex)

提取beginindexendindex之间的字符串部分

Public String trim()

返回一个前后不含任何空格的调用字符串的副本

说明:字符串是一个字符序列,每一个字符都有自己的位置,字符串也是一个字符数组,因此它的位置从0开始到(字符串长度-1)结束。函数substring对于开始位置beginindex是基于字符串的首字符为0处理的,但对于终止位置endindex是基于字符串的首字符为1来处理的。

 

17、打印水仙花数,代码如下

public class DaffodilNum{

    public static void main(String[] args){

        int geWei,shiWei,baiWei;

        System.out.println("在100~999之间的所有“水仙花数”有:");

        for(int i = 100; i < 1000; i++){

            geWei = i % 10;

            shiWei = i / 10 % 10;

            baiWei = i / 100;

            if (i == geWei*geWei*geWei + shiWei*shiWei*shiWei + baiWei*baiWei*baiWei){ 

                System.out.println(i);

            }

        }

    }

 }

↑ 上一篇文章:如何用c#和js获得当前站点的根路径 关键词:如何,用,c#,js,javascript,获得,当前站.. 发布日期:2015/7/29 14:12:18
↓ 下一篇文章:C#基础知识 关键词:S1,C#,基础,知识,问答题 发布日期:2015/7/29 14:15:43
相关文章:
C#基础知识 关键词:S1,C#,基础,知识,问答题 发布日期:2015-07-29 14:15
SQL基础知识 关键词:S1,SQL,sql,基础,知识,问答题 发布日期:2015-07-29 14:18
HTML基础知识 关键词:S1,HTML,html,基础,知识,问答题 发布日期:2015-07-29 14:17
相关目录:软件开发JAVAANDROID
我要评论
正在加载评论信息......