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谜题1——表达式谜题 谜题1:奇数性 谜题2:找零时刻 谜题3:长整除 谜题4:初级问题 谜题5:十六进制的趣事 谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2...
本文将深入探讨Java中的表达式谜题、字符谜题、循环谜题以及异常谜题,帮助你解开这些编程难题,进一步提升你的Java技能。 ### Java表达式谜题 Java表达式是程序中进行计算的部分,它们可以是简单的变量引用,也...
Java谜题1——表达式谜题.htm Java谜题2——字符谜题.htm Java谜题3——循环谜题.htm Java谜题4——异常谜题.htm Java谜题5——类谜题.htm Java谜题6——库谜题.htm Java谜题7——更多的类谜题.htm Java谜题8——更...
### C语言谜题解析 #### 1. 输出到标准输出与标准错误流 代码示例: ```c #include #include int main() { while (1) { fprintf(stdout, "hello-std-out\n"); fprintf(stderr, "hello-std-err\n"); sleep(1...
1. **表达式谜题**:这部分谜题主要关注于Java语言中的表达式,特别是那些看似简单但实际上行为复杂的表达式。 - **Puzzle 1: Oddity(奇数之谜)** - 这个谜题展示了Java中整数除法的特殊情况。它涉及到整数溢出...
10. **Lambda表达式和函数式编程**:自Java 8引入以来,lambda表达式和函数式接口已经成为编写简洁代码的重要工具。谜题可能要求使用这些特性实现函数式风格的编程。 解决这些谜题不仅能加深对Java语言的理解,还能...
Java 谜题 1——表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转 吗? public static boolean isOdd(int i){ return i % 2 == 1; } 奇数可以被定义为被 2 整除余数...
首先,让我们探讨“谜题1——表达式谜题”。在Java中,表达式是用于计算值的语句,它们可以涉及变量、常量、运算符以及方法调用。这类谜题通常旨在测试开发者对Java语法和运算优先级的理解。例如,一个表达式谜题...
Java谜题1——表达式谜题 谜题1:奇数性 谜题2:找零时刻 谜题3:长整除 谜题4:初级问题 谜题5:十六进制的趣事 谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2...
Java谜题1——表达式谜题 谜题1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转吗? public static boolean isOdd(int i){ return i % 2 == 1; } 奇数可以被定义为被2整除余数为...
在这个例子中,编译器将 `1, 2` 视作两个独立的表达式而不是一个逗号表达式,因此会导致语法错误。 正确的做法是将逗号表达式括起来: ```c int a = (1, 2); ``` 这样 `a` 的值将为 `2`,因为逗号表达式的值是...
2. **逗号表达式的正确用法**:逗号表达式在 C 语言中确实存在,例如 `(1, 2)` 的值为 `2`,但是这样的表达式不能用于初始化变量。正确的做法是使用括号 `int a = (1, 2);` 来确保逗号表达式被正确识别。 #### 谜题...
#### Java谜题1——表达式谜题 **谜题1:奇数性** 本节讨论了一个看似简单的Java方法,旨在判断一个整数是否为奇数: ```java public static boolean isOdd(int i) { return i % 2 == 1; } ``` 此方法的逻辑...
- 谜题3“一减一不是零”可能的答案是“三”,1-1=0,但题目说不是零,所以考虑1的笔画去掉一笔变成“三”。 - 谜题4“羊打架”暗示的数学名词可能是“对角线”,因为羊角相碰形象地反映了对角线的交叉。 - 谜题5...
#### 表达式谜题:奇数性检查方法的缺陷 **题目背景:** 题目中提到的谜题旨在检验面试者对Java中的基本数学运算符及其行为的理解程度。具体来说,是针对取余运算符`%`在处理整数时的行为特征进行考察。 **题目...
### Java谜题1——表达式谜题 #### 谜题1:奇数性 **题目解析** 在Java中,`%` 操作符用于计算一个整数除以另一个整数后的余数。根据题干中的代码片段: ```java public static boolean isOdd(int i) { return ...
在C语言中,逗号表达式 `(expression1, expression2)` 的结果为 `expression2` 的值。因此正确的写法应为: ```c int a = (1, 2); ``` 这里 `a` 的值将为 `2`。 #### 谜题三:嵌套 `printf` 的行为 **代码示例:** ...
由于Java的整数除法是向下取整,所以当 `i` 为负奇数时,`i / 2` 会得到一个负的整数,然后 `i % 2` 会得到 `-1` 而非 `1`,导致方法 `isOdd` 返回错误的结果。这个问题可以通过改变比较条件来解决,如 `return i % ...