java面试题之分析(二)
来源:互联网 发布:opencv教程linux 编辑:程序博客网 时间:2024/05/06 03:09
package com.cdu.test;
public class Test {
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main( String[] argv ){
int i =0;
for ( foo('A'); foo('B')&&(i<2); foo('C')){
i++ ;
foo('D');
}
}
What is the result?
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.
哈哈.....有点蒙了吧 一般我们用的for循环都是变量在作表达式,格式都是for (int j = 0; j < argv.length; j++) {
} 这里用方法作为表达式,是不是特别头痛呢?万变不离其中,我们来看一下:for循环是怎么定义的:
for(表达式1;表达式2;表达式3){
若干语句
}
for语句中的复合语句:{若干语句}。称为循环体
表达式1负责完成变量的初始化。
表达式2是Boolean型的表达式,称为循环条件。
表达式3用来休整变量,该变循环条件。
什么是表达式呢?由若干个操作数和运算符构成的称为表达式,操作数可以是常量变量或又返回值的方法调用 等其他的表达式,运算符标明对操作数进行的何种操作
这下我们该明白了吧,定义是表达式 不是仅仅是变量了,方法也可以做表达式的 弄清了概念就不难了
for(A)输出为A,并返回真
for(B)输出为B,并返回真
for(C)输出为C,并返回真
for(D)输出为D,并返回真
那我们来看for循环了“for ( foo('A'); foo('B')&&(i<2); foo('C'))”第一个表达式“foo(A)”完成初始化,并输出A;第二个表达式“ foo('B')&&(i<2); “循环条件,用于控制循环次数,在条件为真的情况输出B;第三个表达式”for(D)“用于改变循环条件,输出D,i=0的时候,先初始话输出A,然后接着判断循环条件是否为真,for(B)输出B且为真,i=0<2是为真,此时执行循环体,输出D,并让i+1等于1,接着执行表达式3,并输出C;执行表达式2,判断循环条件是否为真,for(B)输出B且为真,i=1<2是为真,此时执行循环体,此时置i=2,输出D,接着执行表达式3,并输出C;执行表达式表达式2,判断循环条件是否为真,for(B)输出B且为真,i=2<2是为假,此时退出循环;
所以此题:答案为A
- java面试题之分析(二)
- Java面试题之二
- Java面试题之二
- java android面试题分析总结《二》
- JAVA面试题(二)
- java面试题(二)
- Java面试题(二)
- java面试题(二)
- Java 面试题(二)
- java 面试题(二)
- java面试题(二)
- java面试题(二)
- JAVA 面试题(二)
- 面试题(JAVA)(二)
- Java面试题(二)
- Java面试题(二)
- Java基础面试题之二
- 数据分析面试题(二)
- 编程题:利用for循环打印 9*9 表?
- 第九周项目二(求解答)
- 无源滤波电路之浅谈
- 三分模板
- 开心的金明_DP
- java面试题之分析(二)
- OpenCV依据颜色的车牌定位
- 面试题-一个for循环输出一个棱形
- Java栈与堆
- mac 10.9编译goose报错解决方法
- 将android界面背景设置为黑色
- android http 编程
- 依视路镜片价格表
- String和Date相互转换工具类