`
renyanwei
  • 浏览: 70056 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

不运行,你能猜到这些个小程序的输出结果么?

阅读更多

看第一题:

class Test 
{
	public static void main(String[] args) 
	{
		Boolean b=false;
		if(b=true){
			System.out.println("true");
		}else{
			System.out.println("false");
		}
	}
}

 结果是输出True还是false 或者是编译错误?

答案是true,呵呵 因为b是Boolean类型的有点儿特殊,if里面等于是直接把b赋值成true了,然后表达式当然是true啦

 

第二题:

class Test {
	public static void main(String[] args){
		Test t = new Test();
		t.test(1.0, 2L, 3);
	}

	void test(double a, double b, short c){
		System.out.println("1");
	}
	 void test(float a, byte b, byte c) {
		System.out.println("2");
	}
	void test(double a, double b, double c){
		System.out.println("3");
	}
	void test(int a, long b, int c) {
		System.out.println("4");
	}
	void test(long a, long b, long c) {
		System.out.println("5");
	} 
} 

 这个可能有结果么? 当然能。答案就是3.其实这里涉及到JAVA的数值类型转换问题,概念本人也不是很精通,不过死记规则就行了(这里只说转换问题)

当一个方法的参数的值是一个int类型时,转换优先规则:float—double

当一个方法的参数的值是一个带小数点的数时(后面没f),直接转换成double

(其他情况用的极少,没必要死究到底,做学问慢慢来)

所以只有三个参数为double类型的方法行得通

 

第三题:

class Test {
	
	static int numA=0;
	static int numB=0;
	public static void main(String[] args){
		
		if(true|funA()){
		}

		if(false&funB()){
		}
		System.out.println("A:"+numA+",B:"+numB);
	}

	static Boolean funA()
	{
		numA++;
		return false;
	}
	static Boolean funB()
	{
		numB++;
		return false;
	}
} 

 这个题的考点儿在&和|的用法上,其实说白了就是让你知道&&和&以及||和|的区别,死记两点儿:

&和&&的区别是:&是即使左边是false老子也要去执行下右边的,虽然没什么意思,其余两者功能一样

|和||的区别是:|是即使左边是true还是不死心的去右边看一下,当然也是徒劳 O(∩_∩)O哈哈~ 其余两者功能一样

4
2
分享到:
评论
9 楼 xiaoliu216 2008-11-06  
引用
&和&&的区别是:&是即使左边是false老子也要去执行下右边的,虽然没什么意思,其余两者功能一样
|和||的区别是:|是即使左边是true还是不死心的去右边看一下,当然也是徒劳 O(∩_∩)O哈哈~ 其余两者功能一样

原来是这样
8 楼 renyanwei 2008-11-04  
licn_javaeye_vip 写道

只是感觉楼主是不是故意出这个问题
逗大家开心呢。


哎 老大 兼顾初学嘛,不要想着人人都是如你样高手
7 楼 licn_javaeye_vip 2008-11-04  
只是感觉楼主是不是故意出这个问题
逗大家开心呢。
6 楼 racnow 2008-11-04  
额,不怎么样,题太简单了
5 楼 racnow 2008-11-04  
额,不怎么样,题太简单了
4 楼 renyanwei 2008-11-04  
sd080134 写道

对于第一题,if(b=true)这个语句,里面本来就是个赋值语句,相当于if(true),自然是打印出true,如果想要比较,要使用==才对,而非=。并非Boolean特殊

恩 我也是这个意思,呵呵 没表达清楚 受教了
3 楼 sd080134 2008-11-04  
对于第一题,if(b=true)这个语句,里面本来就是个赋值语句,相当于if(true),自然是打印出true,如果想要比较,要使用==才对,而非=。并非Boolean特殊
2 楼 wuhua 2008-11-04  
好东西。慢慢研究
1 楼 SunShineBoy 2008-11-04  
这些问题怎么发现的?

相关推荐

    Java源程序完成猜数游戏

    ② 如果小了,程序输出“你输入的数小了,再猜:”; ③ 如果猜对了,程序要计算猜测的次数,如果2次以内猜对的,输出“恭喜你,你只用了n(n代表实际次数)次就猜对了!你真牛!”;如果4次以内猜对的,输出“猜对...

    猜随机数的java代码

    游戏运行时产生一个0-1000之间的随机整数,要求用户从控制台输入数字,若输入的数字比产生的数字小,则输出:“太小了,再大一点!”,若输入的数字比产生的数字大,则输出:“太大了,再小一点!”,若输入的数学和...

    Java 猜数 随机数

    此程序有Java Applet设计,运行程序随即生成一个0~200的随机数,用户输入猜到的书,程序将提示大了还是小了,你继续猜,直到猜中,并显示你一共猜的次数。

    猜数字游戏

    每次游戏程序随机产生一个0-9之间的整数,要求玩家输入自己猜的数字,并对用户输入数字进行检查,进行如下提示: 如果用户猜对了,则提示:恭喜你,猜对了。结束本次游戏。 如果用户猜错了,则提示:你猜的数字太...

    语言程序设计课后习题答案

    2-17 修改下面这个程序中的错误,改正后它的运行结果是什么? #include void main() int i int j; i = 10; /* 给i赋值 j = 20; /* 给j赋值 */ cout ; /* 输出结果 */ return 0; } 解: 改正: #include int main...

    上海电机学院C语言实训答案

    要求每次运行程序时机器所“想”的数不能都一样。 程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则...

    200个经典C程序源码小游戏

    001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机...

    java实现猜数字游戏

    每次游戏程序随机产生一个0-9之间的整数,要求玩家输入自己猜的数字,并对用户输入数字进行检查,进行如下提示: n 如果用户猜对了,则提示:恭喜你,猜对了。结束本次游戏。 n 如果用户猜错了,则提示:你猜的...

    关于C的精粹包含至少200个C语言小程序

    002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维...

    C语言程序源代码(大集合).exe

    001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机...

    Java标程.zip

    如果用户猜错了,则提示:你猜的数字太(大或小)了。 (4)一次游戏结束条件有2种情况: 玩家连续3次没有猜对给定数字,则提示:游戏失败。 玩家在3次机会之内猜对了给定的数字,则提示:游戏成功。 (5)每次游戏...

    C++实现猜数游戏

    编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10...

    JAVA 实现《英文猜词游戏》游戏-全部源码

    2. 为了让玩家能与程序互动,使用下面这个命令可达效果 ```java Scanner sc = new Scanner(System.in); ``` 3. 运行WordleMaster里的main方法 4. 在Wordle中输入第一个单词(默认第一个单词是`abort`,会...

    软件测试规范

    猜错法 .................................................................................................................................................. 8 5.随机数法 ....................................

    PHP基础教程 是一个比较有价值的PHP新手教程!

    通过我们已经学过的知识,你可以编写一个最简单的程序输出一个也许是程序世界中最有名的词语: <? echo "Hello World!"; ?> First PHP page <? // Single line C++ style comment /* printing the message ...

    javascript入门笔记

    特点:将 a 和 b 先转换为二进制,按位操作,对应位置上的两个数字,相同时,该位整体结果为0,不同时,该位的整体结果为 1 使用场合:快速交换两个数字 5 ^ 3 101 011 ========== 110 结果为 6 练习: ...

    C程序实例大全,学习C语言的好帮手

    C语言是世界上最流行、使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以在001目录下找到), ...

    c语言程序实例大全语言程序实例大全

    002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 . . .

Global site tag (gtag.js) - Google Analytics