-----------代码一、奇数性
这是一段判定奇数的代码
/*补充一:先解释一下,按位“与”的计算是把两个数字分别写成二进制形式,然后按照每一位判断,&计算中,只要有一个是0就算成0,也就是若a = (20&8),两个转化成2进制后按位与,再转化为十进制可得到计算结果为a=0。
20->10100 所以,x%2!=0,与(x&1)!=0都可以实现判定奇数的功
8 ->01000 能,而且后者运行更快一些。
--------------
a 00000 */
/*补充二:关于调用方法,方法分为类方法(静态方法)和实例方法(普通方法),类方法可以直接调用,但实例方法,需要先定义一个类对象,再调用。具体关于两个方法的注意事项,参考<<Java面向对象程序设计(第二版)p63.下面是例子:
public class example {
public static void main(String[] args) {
staticMethodTest();//调用类方法
example mt = new example();//调用实例方法
mt.MethodTest();
}
static void staticMethodTest() {
System.out.println("我是类方法");
}
void MethodTest() {
System.out.println("我是实例方法");
}
}*/
这是一段判定奇数的代码
用import 在代码开头注明用到的类的全称(也可以说是它的位置),这样后面只需写出类的名字,系统运行时就会自动找到它,这里声明的Scanner类,用于数据输入。使用方法是先定义一个对象,再调用函数,如果再省略,用import java.util.*;这样的格式也可以,而且可以引用所有util包中的类,真是懒人福音。
先说明一下,下面定义了一个静态的返回值为布尔型的方法,形参为x,返回值为x对2取余后的与1比较这个表达式的真值,但是因为当x为负奇数时,x%2的结果却一律为-1,所以会导致判定出现错误,正确的表达式应为 x%2!=0,这样能排除掉x是偶数的情况,取反自然是奇数了。
import java.util.Scanner;
public class Demo {
static boolean ios(int x){
return x%2==1; //或者(x&1)!=0也可以
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);//定义了一个Scanner的对象并开辟空间,名字是input,执行构造方法Scanner(System.in);
int a; //相当于把System.in的功能赋予input,我是这样理解的不知道对不对。。
a = input.nextInt(); /*input.next后面跟数据类型,注意大小写*/
System.out.println(ios(a));
}
}
/*补充一:先解释一下,按位“与”的计算是把两个数字分别写成二进制形式,然后按照每一位判断,&计算中,只要有一个是0就算成0,也就是若a = (20&8),两个转化成2进制后按位与,再转化为十进制可得到计算结果为a=0。
20->10100 所以,x%2!=0,与(x&1)!=0都可以实现判定奇数的功
8 ->01000 能,而且后者运行更快一些。
--------------
a 00000 */
/*补充二:关于调用方法,方法分为类方法(静态方法)和实例方法(普通方法),类方法可以直接调用,但实例方法,需要先定义一个类对象,再调用。具体关于两个方法的注意事项,参考<<Java面向对象程序设计(第二版)p63.下面是例子:
public class example {
public static void main(String[] args) {
staticMethodTest();//调用类方法
example mt = new example();//调用实例方法
mt.MethodTest();
}
static void staticMethodTest() {
System.out.println("我是类方法");
}
void MethodTest() {
System.out.println("我是实例方法");
}
}*/