`

java解惑(二)之奇数的判断

    博客分类:
  • JAVA
 
阅读更多

     

                       成功的法则极为简单,但简单并不代表容易。

    平时奇数我们一般是这样判断的。

    

public static boolean isOdd(int i) {
		return i % 2 == 1;
	}

    这个方法可行吗?

 

    所谓奇数平时被定义为被2整除余1的整数。表达式i%2计算的是除以2时所产生的余数,因此认为该方法可行。遗憾的是,他不行。因为int值有二分之一是负整数,当负数整除2得到的余数也一定是负数。该方法就是在假定传入的值都是正数才成立的。比如说-3%2=-1.

    其实这个问题很容易改正:

     

public static boolean isOdd(int i) {
		return i % 2 !=0;
	}

   写法二:

   

public static boolean isOdd(int i) {
		return (i&1)!=0;
	}

 

小结:判断奇数性不能用1来做余数判断,不能被2整除的数一定是奇数。正奇数和负奇数  

分享到:
评论

相关推荐

    java解惑 PDF版

    综上所述,文档《java解惑 PDF版》的这部分内容涵盖了在Java中处理取余、奇偶判断和浮点数精度问题时需要考虑的诸多细节。开发者在进行编程时应当特别注意这些细节,避免走入常见的陷阱。在处理涉及精度的计算时,...

    JAVA解惑(JAVA谜题) 中文版(PDF)

    ### JAVA解惑中的关键知识点解析 #### 谜题1:奇数性的判断 在《JAVA解惑》一书中,作者通过一系列实例介绍了Java编程语言中的一些不易掌握的知识点。其中一个例子是关于如何正确判断一个整数是否为奇数。 **原始...

    Java Puzzlers 中文版(Java解惑)

    Java Puzzlers 中文版(Java解惑) Java 谜题 1——表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转 吗? public static boolean isOdd(int i){ return i % 2 == 1...

    Java解惑.pdf

    ### Java解惑:深入理解Java中的谜题与陷阱 #### 表达式谜题:奇数判断误区 在探讨Java编程中的谜题时,我们首先遇到的是关于奇数判断的一个常见陷阱。根据“Java谜题”一书的中文版描述,一个简单的函数`public ...

    经典 java 解 惑

    #### 一、奇数判断方法的陷阱 **标题与描述中的知识点:** 在给定的标题“经典 java 解惑”和描述“java 解惑技术”中,主要涉及了一个关于Java编程语言中判断一个整数是否为奇数的方法及其潜在的问题。 **详细...

    java疑难解惑(提高篇)

    Java编程语言中的“疑难解惑”常常涉及到对语言特性的深入理解,特别是在处理特定问题时。本篇文章将探讨两个常见的Java谜题,涉及取余运算符 `%` 和浮点数精度问题。 首先,我们来看“表达式谜题”。在Java中,`...

    Java解惑(中文+书签).pdf

    Java中的`double`类型属于二进制浮点数,它在表示十进制小数时可能会出现精度损失的问题。这是因为某些十进制小数无法用二进制数精确表示,例如`1.1`。当使用`double`类型进行算术计算时,这会导致不可预期的结果。...

    JAVA解惑 中文pdf版

    **谜题背景**: 在《JAVA解惑》这本书中提到了第一个谜题:如何判断一个整数是否为奇数。该谜题提供了一个看似合理的解决方案,但实际运行时会出现问题。 **原方法实现**: ```java public static boolean isOdd(int ...

    JAVA解惑 大量java实例 Java程序员阅读

    #### 奇数判断方法的正确性 在Java中,判断一个整数是否为奇数的常见方法是通过取余操作符(%)来实现。例如,判断方法`isOdd(int i)`使用`return i % 2 == 1;`来判断传入的整数`i`是否为奇数。这个方法看起来直观...

    JAVA解惑.doc

    在《JAVA解惑》文档中的第一个谜题关注的是一个简单的逻辑判断:一个整数是否为奇数。虽然这个问题看似简单,但在Java语言中却隐藏着一个容易被忽视的陷阱。 **谜题描述** 代码片段提供了一个名为`isOdd`的方法,...

Global site tag (gtag.js) - Google Analytics