`

1-表达式谜题

阅读更多
import java.math.BigDecimal;

/**
 * 1、表达式谜题
 * 
 * @author admin
 * 
 */
public class TestExp {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int i = 1;
		/** 判断是否为奇数 **/
		System.out.print(i++ + " ** 判断是否为奇数 **         ");
		System.out.println((5 & 1) != 0);

		/** 小数减法 **/
		System.out.print(i++ + " ** 小数减法 **         ");
		System.out.println(2.00 - 1.10);
		BigDecimal num1 = new BigDecimal("2.00");
		BigDecimal num2 = new BigDecimal("1.10");
		System.out.print("  ** 小数减法 改进 **         ");
		System.out.println(num1.subtract(num2));

		/** 计算日期是要在数字后加L,防止int溢出 **/
		System.out.println(i++ + " ** 计算日期是要在数字后加L,防止int溢出 **         ");

		/** 一定要大写L **/
		System.out.print(i++ + " ** 一定要大写L 12345 + 5432l  **         ");
		System.out.println(12345 + 5432l);

		/** 十六进制数 **/
		System.out.print(i++ + " ** 十六进制数  **         ");
		System.out.println(Long.toHexString(0x100000000L + 0xcafebabe));
		System.out.print("  ** 十六进制数改进  **         ");
		System.out.println(Long.toHexString(0x100000000L + 0xcafebabeL));

		/** 类型转换 **/
		System.out.print(i++ + " ** 类型转换  **         ");
		System.out.println((int) (char) (byte) -1);
		System.out.print("  ** 类型转换  **         ");
		System.out.println('c' & 0xffff);
		System.out.print("  ** 类型转换  **         ");
		System.out.println(((short) (char) (byte) -1) & 1);

		/** 互换内容 **/
		int x = 1984;
		int y = 2001;
		x ^= y ^= x ^= y;
		System.out.print(i++ + " ** 互换内容 **         ");
		System.out.println("x = " + x + "; y = " + y);

		/** 问号,感叹号 **/
		char c = 'X';
		int nMH = 1;
		System.out.print(i++ + " ** 问号,感叹号 **         ");
		System.out.println(true ? c : 0);
		System.out.print(" ** 问号,感叹号 **         ");
		System.out.println(false ? nMH : c);

		/** 复合表达式 **/
		short sh = 0;
		int in = 123456;
		sh += in;
		// sh = sh + in; //非法
		System.out.print(i++ + " ** 复合表达式 **         ");
		System.out.println(sh);
		Object obj = "buy";
		String str = "effective java";
		obj = obj + str;
		// obj += str; // 非法
	}
}
分享到:
评论

相关推荐

    Java谜题Java谜题1——表达式谜题

    Java谜题1——表达式谜题 谜题1:奇数性 谜题2:找零时刻 谜题3:长整除 谜题4:初级问题 谜题5:十六进制的趣事 谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2...

    java解惑 java 表达式谜题 java 字符谜题 java 循环谜题 java 异常谜题

    本文将深入探讨Java中的表达式谜题、字符谜题、循环谜题以及异常谜题,帮助你解开这些编程难题,进一步提升你的Java技能。 ### Java表达式谜题 Java表达式是程序中进行计算的部分,它们可以是简单的变量引用,也...

    java谜题.rar

    Java谜题1——表达式谜题.htm Java谜题2——字符谜题.htm Java谜题3——循环谜题.htm Java谜题4——异常谜题.htm Java谜题5——类谜题.htm Java谜题6——库谜题.htm Java谜题7——更多的类谜题.htm Java谜题8——更...

    C语言谜题.

    ### C语言谜题解析 #### 1. 输出到标准输出与标准错误流 代码示例: ```c #include #include int main() { while (1) { fprintf(stdout, "hello-std-out\n"); fprintf(stderr, "hello-std-err\n"); sleep(1...

    有关Java编程方面的几点解惑

    1. **表达式谜题**:这部分谜题主要关注于Java语言中的表达式,特别是那些看似简单但实际上行为复杂的表达式。 - **Puzzle 1: Oddity(奇数之谜)** - 这个谜题展示了Java中整数除法的特殊情况。它涉及到整数溢出...

    Java谜题

    10. **Lambda表达式和函数式编程**:自Java 8引入以来,lambda表达式和函数式接口已经成为编写简洁代码的重要工具。谜题可能要求使用这些特性实现函数式风格的编程。 解决这些谜题不仅能加深对Java语言的理解,还能...

    Java Puzzlers 中文版(Java解惑)

    Java 谜题 1——表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转 吗? public static boolean isOdd(int i){ return i % 2 == 1; } 奇数可以被定义为被 2 整除余数...

    Java解惑.zip

    首先,让我们探讨“谜题1——表达式谜题”。在Java中,表达式是用于计算值的语句,它们可以涉及变量、常量、运算符以及方法调用。这类谜题通常旨在测试开发者对Java语法和运算优先级的理解。例如,一个表达式谜题...

    Java解惑(谜题)CHM中英文双版本

    Java谜题1——表达式谜题 谜题1:奇数性 谜题2:找零时刻 谜题3:长整除 谜题4:初级问题 谜题5:十六进制的趣事 谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2...

    Java谜题解惑 中文版CHM格式

    Java谜题1——表达式谜题 谜题1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转吗? public static boolean isOdd(int i){ return i % 2 == 1; } 奇数可以被定义为被2整除余数为...

    C语言的谜题

    在这个例子中,编译器将 `1, 2` 视作两个独立的表达式而不是一个逗号表达式,因此会导致语法错误。 正确的做法是将逗号表达式括起来: ```c int a = (1, 2); ``` 这样 `a` 的值将为 `2`,因为逗号表达式的值是...

    C语言经典谜题

    2. **逗号表达式的正确用法**:逗号表达式在 C 语言中确实存在,例如 `(1, 2)` 的值为 `2`,但是这样的表达式不能用于初始化变量。正确的做法是使用括号 `int a = (1, 2);` 来确保逗号表达式被正确识别。 #### 谜题...

    java解惑 书籍类 谜题

    #### Java谜题1——表达式谜题 **谜题1:奇数性** 本节讨论了一个看似简单的Java方法,旨在判断一个整数是否为奇数: ```java public static boolean isOdd(int i) { return i % 2 == 1; } ``` 此方法的逻辑...

    2021精品手抄报系列-数学小报(24).docx

    - 谜题3“一减一不是零”可能的答案是“三”,1-1=0,但题目说不是零,所以考虑1的笔画去掉一笔变成“三”。 - 谜题4“羊打架”暗示的数学名词可能是“对角线”,因为羊角相碰形象地反映了对角线的交叉。 - 谜题5...

    JAVA面试谜题解惑.pdf

    #### 表达式谜题:奇数性检查方法的缺陷 **题目背景:** 题目中提到的谜题旨在检验面试者对Java中的基本数学运算符及其行为的理解程度。具体来说,是针对取余运算符`%`在处理整数时的行为特征进行考察。 **题目...

    java 谜题95

    ### Java谜题1——表达式谜题 #### 谜题1:奇数性 **题目解析** 在Java中,`%` 操作符用于计算一个整数除以另一个整数后的余数。根据题干中的代码片段: ```java public static boolean isOdd(int i) { return ...

    C语言的谜题.txt

    在C语言中,逗号表达式 `(expression1, expression2)` 的结果为 `expression2` 的值。因此正确的写法应为: ```c int a = (1, 2); ``` 这里 `a` 的值将为 `2`。 #### 谜题三:嵌套 `printf` 的行为 **代码示例:** ...

    Java谜题.txt

    由于Java的整数除法是向下取整,所以当 `i` 为负奇数时,`i / 2` 会得到一个负的整数,然后 `i % 2` 会得到 `-1` 而非 `1`,导致方法 `isOdd` 返回错误的结果。这个问题可以通过改变比较条件来解决,如 `return i % ...

Global site tag (gtag.js) - Google Analytics