1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

答:可以有多个类,但只能有一个public类,并且public的类名必须与文件名相一致。

2.java有没有goto?

答:java中的保留字,现在没有在java中使用。

3.说说&和&&的区别?

答:&和&&都可以用作逻辑与的运算,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

双与还具有短路功能,双与运算时,当双与左边为假时,则不再计算双与右边的表达式了。

所以,双与更为高效,双与用的较多。

此外,单与还可以作位运算。

补充知识点:位运算

<<     左移,左移几位其实就是该数据乘以2的几次方(可完成2的次幂运算)

>>     右移,右移几位就是除以2的几次幂

>>>   无符号右移,数据右移时,高位出现空位,无论原高位是什么,空位都用0补。

&       与运算    例3&6即将3和6都用二进制数表示,然后每一位做与运算(都为1则得1,其余都得0)

|        或运算    例3|6即将3和6都用二进制数表示,然后每一位做或运算(有一个为1则为1)

^       异或运算   相同为0,相反为1 (一个数异或同一个数两次结果还是这个数)

~       反码   取反(除了符号位以外)

4.将两个数进行互换a=3,b=5 (不需要第三方变量)

a=a^b;//a=3^5

b=a^b;//b=(3^5)^5  ;b=3

a=a^b;//a=(3^5)^3  ;a=5

5.用最有效率的方法计算出2乘以8等于几?

2<<3

因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算是cpu直接支持的,效率最高。

6.在java中如何跳出当前的多重嵌套循环?

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

label:

for(int i=0;i<10;i++){

for(int j=0;j<10;J++){

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

if(j==5) break label;

}

}

补充:在java中,标签起作用的唯一的地方刚好是在迭代语句之前。“刚好之前”的意思表明,在标签和迭代之间置入任何语句都不好。而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关。这是由于break和continue关键词通常只中断当前循环,但若随同标签一起使用,他们就会中断循环,直到标签所在的地方:

label1:

outer-iteration {

inner-iteration  {

//...

break; //(1)

//...

continue; //(2)

//...

continue label1; //(3)

//...

break label1; //(4)

}

}

在(1)中,break中断内部迭代,回到外部迭代。在(2)中,continue使执行点回到内部迭代的起始处。在(3)中,continue label1同时中断内部迭代以及外部迭代,直到转到label1处;随后,他实际上是继续迭代过程,但是从外部迭代开始。在(4)中,break label1也会中断所有迭代,并回到label1处,但并不重新进入迭代。也就是说,他实际是完全终止了两个迭代。

1.一般的,continue会停止运行剩余的循环主体,退回到循环的开始处继续运行。

2.带标签的continue会到达标签的位置,并重新进去紧接在那个标签后面的循环。

3.一般的break会中断并跳出当前循环。

4.带标签的break会中断并跳出标签所指的循环。

要记住的重点是:在Java里需要使用标签的唯一理由就是因为有循环嵌套的存在,而且想从多层嵌套中break或continue。

1.一个.java源文件中是否可以包括多个类?2...的更多相关文章

  1. 一个".java"源文件中是否可以包括多个类(不包括内部类)

    开通好几个月博客了,但是一直没有时间写,这一段时间准备开始复习了,以后准备好好写博客了,会从基础的内容开始. 一个".java"源文件中可以定义多个类,但最多只能定义一个publi ...

  2. 一个".java"源文件中是否可以包括多个类

    可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 现在我们编个测试文件来测试一番(一个程序员要具有用于探索的精神   -.-     手动滑稽) 1.编写一个 a ...

  3. Java | 一个".java"源文件中是否可以包括多个类(不包括内部类)

    第一种情况:(有public) 定义一个java源文件(Hello.java),里面只有一个类: public class Hello { public static void main(string ...

  4. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

    可以有多个类,但只能有一个public的类,并且public的类名必须与文件的主文件名相同. 包含多个类的Java源文件编译之后会生成多个.class文件.

  5. 一个java源文件中是否可以包括多个类(非内部类)?有何限制?

    可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致.

  6. JAVA源文件中是否可以包括多个类,有什么限制

    JAVA源文件中是否可以包括多个类,有什么限制 解答:一个java源文件中可以包含多个类,每个源文件中至多有一个public类,如果有的话,那么源文件的名字必须与之相同.如果源文件中没有public类 ...

  7. 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制

    这个是可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一致. 每个编译单元只能有一个public 类.这么做的意思是,每个编译单元只能有一个公开 ...

  8. 一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?

    可以,但一个源文件中最多只能有一个公开类(public class)而且文件名必须和公开类的类名完全保持一致.

  9. 为什么一个java源文件中只能有一个public类

    问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件 ...

随机推荐

  1. Redis系列(1)之安装

    Redis系列(1)之安装 由于项目的需要,最近需要研究下Redis.Redis是个很轻量级的NoSql内存数据库,它有多轻量级的呢,用C写的,源码只有3万行,空的数据库只占1M内存.它的功能很丰富, ...

  2. codeproject

    search: http http://www.codeproject.com/Articles/96620/Writing-Http-Handlers-and-Modules-in-IIS-7-5 ...

  3. (转载)Python 列表(list)操作

    (转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...

  4. CentOS 6.4 安装 Fcitx4.0

    一.首先安装中文支持: su root yum install "@Chinese Support" exit yum remove ibus 注销再登陆 二.安装fcitx 下载 ...

  5. [Design Pattern] Facde Pattern 简单案例

    Facade Pattern, 即外观模式,用于隐藏复杂的系统内部逻辑,提供简洁的接口给客户端调用,属于结构类的设计模式.我会将其名字理解为,门户模式. 下面是 Facade Pattern 的一个简 ...

  6. DeepLearnToolbox使用总结

    GitHub链接:DeepLearnToolbox DeepLearnToolbox A Matlab toolbox for Deep Learning. Deep Learning is a ne ...

  7. Linux编程之自定义消息队列

    我这里要讲的并不是IPC中的消息队列,我要讲的是在进程内部实现自定义的消息队列,让各个线程的消息来推动整个进程的运动.进程间的消息队列用于进程与进程之间的通信,而我将要实现的进程内的消息队列是用于有序 ...

  8. javascript 属性的特性

    /* 属性的特性: 可以通过调用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符, 从函数名字就可以看出, Object.getOwnProper ...

  9. Linux内核-内核线程

    线程分类:内核线程.用户线程(指不需要内核支持而完全建立在用户空间的线程库,这种线程效率高,由于Linux内核没有轻量级进程(线程)的概念,因此不能独立的对用户线程进行调度,而是由一个线程运行库来组织 ...

  10. [Angular 2] A Simple Form in Angular 2

    When you create a Form in Angular 2, you can easily get all the values from the Form using ControlGr ...