黑马程序员Java培训和Android培训-就业面试题学习_第1页
黑马程序员Java培训和Android培训-就业面试题学习_第2页
黑马程序员Java培训和Android培训-就业面试题学习_第3页
黑马程序员Java培训和Android培训-就业面试题学习_第4页
黑马程序员Java培训和Android培训-就业面试题学习_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下。你若盛开,蝴蝶自来。第第2页/共2页精品文档推荐黑马程序员Java培训和Android培训-就业面试题学习黑马程序员Java培训和Android培训-就业面试题学习

经典问题:

(1)在JAVA中如何跳出当前的多重嵌套循环

法一:在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,

ok:

for(inti=0;i10;i++)p=

{

for(intj=0;j10;j++)p=

{

System.out.println(“i=”+i+“,j=”+j);

if(j==5)breakok;

}

}

法二:让外层的循环条件表达式的结果可以受到里层循环体代码的掌握,例如,要在二维数组中查找到某个数字。

intarr[][]={{1,2,3},{4,5,6,7},{9}};

booleanfound=false;

for(inti=0;iarr.lengthp=!found;i++)=

{

for(intj=0;j

{

System.out.println(“i=”+i+“,j=”+j);

if(arr[i][j]==5)

{

found=true;

break;

}

}

}

(2)在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型(JDK1.5新特性,拆包),由于,byte,short,char都可以隐含转换为int,所以些类型以及这些类型的包装类型也是可以的作为expr1的类型

(3)使用final关键字修饰一个变量时,是指引用变量(存储对象地址的变量)不能变,即其中存储的对象地址值不能变,也就是说引用变量不能指向另外一个对象,存储另外一个对象的地址,引用变量所指向的对象中的内容还是可以转变的。例如,对于如下语句:个

finalStringBuffera=newStringBuffer(immutable);

执行如下语句将报告编译期错误:

a=newStringBuffer();

但是,执行如下语句则可以通过编译:

a.append(broken!);

有人在定义方法的参数时,可能想采纳如下形式来阻挡方法内部修改传进来的参数对象:

publicvoidmethod(finalStringBufferparam)

{

}

实际上,这是办不到的,在该方法内部仍旧可以增加如下代码来修改参数对象:

param.append(a);

(4)字符串的比较基本上都是使用equals方法

(5)27、Strings=newString(xyz);创建了几个StringObject?二者之间有什么区分?

两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管消失多少遍,都是缓冲区中的那一个。NewString每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。假如以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接从缓冲区拿。

关于字符串的讨论:

清楚的学习String需具备的学问:

1.内存栈与堆

具体学问请看我回答的内容:http://bbs.itheima/thread-360-1-1.html

2.String的.关键学问点

String是常量,其对象一旦创建完毕就无法转变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。

Stringpool(字符串池)内存栈即你上面说的缓冲池

Strings=“aaa”;(采纳字面值方式赋值)

1)查找Stringpool中是否存在“aaa”这个对象,假如不存在,则在Stringpool中创建一个“aaa”对象,然后将Stringpool中的这个“aaa”对象的地址返回来,赋给引用变量s,这样s会指向Stringpool中的这个“aaa”字符串对象

2)假如存在,则不创建任何对象,直接将Stringpool中的这个“aaa”对象地址返回来,赋给s引用。

Strings=newString(“aaa”);堆内存

1)首先在Stringpool中查找有没有“aaa”这个字符串对象,假如有,则不在Stringpool中再去创建“aaa”这个对象了,直接在堆中(heap)中创建一个“aaa”字符串对象,然后将堆中的这个“aaa”对象的地址返回来,赋给s引用,导致s指向了堆中创建的这个“aaa”字符串对象。

2)假如没有,则首先在Stringpool中创建一个“aaa“对象,然后再在堆中(heap)创建一个”aaa“对象,然后将堆中的这个”aaa“对象的地址返回来,赋给

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论