IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java判断奇偶性 -> 正文阅读

[Java知识库]Java判断奇偶性

Java判断奇偶性

public class  ImparityCheck{
	public static void main(String[] args) {
		/*
		 * 可以通过判断余数是否为0来判断“奇数”和“偶数”。
		 * 不能用余数是否为1来判断“奇数”和“偶数”,因为还有负数。
		 */
		int a =-2147483647;
		String str=a%2==0?"偶数":"奇数";
		String str2=a%2!=0?"奇数":"偶数";
	
		System.out.println(str+str2);
		
		/*
		 * 通过位运算来判断“奇数”和“偶数”。 
		 * 因为当数值存储为二进制时,判断它是奇数还是偶数只需要看最低位。
		 * &运算特点是,有0即0,当我们用变量a&1时,则一定会把最低位之前的所有位全部变成0。
		 * 这个时候,如果变量a是偶数,那么最低位为0,则(a&1)最终结果为0。
		 * 如果变量a是奇数,那么最低位为1,则(a&1)最终结果为1。
		 * 变量a&1的结果,有且仅有以上两种情况。
		 */
		String str3=(a&1)==1?"奇数":"偶数";
		String str4=(a&1)!=1?"偶数":"奇数";
		String str5=(a&1)==0?"偶数":"奇数";
		String str6=(a&1)!=0?"奇数":"偶数";
		String str7=(a&1)<1?"偶数":"奇数";
		String str8=(a&1)>0?"奇数":"偶数";
		System.out.println(str3+str4+str5+str6+str7+str8);
		
		
		/*
		 * int类型是32位2进制,最高位为符号位,我们可以通过按位左位移运算来把变量a的最低位移到最高位,
		 * 然后通过判断变量a按位左位移后的数值是否是负数来判断一开始变量a的最低位是1还是0。
		 * 也就是int类型按位左位移31位即可把最低位移到最高位。
		 */
		String str9=a<<31<0?"奇数":"偶数";
		System.out.println(str9);
		/*
		 * 貌似位运算和比较运算没有优先级顺序,所以从左往右算。
		 * 也可以写成String str9=(a<<31)<0?"奇数":"偶数";
		 */
		
		String str10=(((a>>>1)<<1)==a)?"偶数":"奇数";//无符号右位移
		String str11=(((a>>>1)<<1)!=a)?"奇数":"偶数";
		System.out.println(str10+str11);
		/*
		 * 当将变量a进行向右移1位时,则二进制数最低位溢出。
		 * 当再将它向左移1位时,则此时的最低位补0.
		 * 此时得到的值如果和原来的变量a的值相等,则变量a本身二进制最低位为0,则为偶数
		 * 如果不相等,则变量a本身二进制最低位为1,则为奇数
		 */
		String str12=(((a>>1)<<1)==a)?"偶数":"奇数";
		String str13=(((a>>1)<<1)!=a)?"奇数":"偶数";
		System.out.println(str12+str13);
	}
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:29:19  更:2021-07-31 16:30:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 22:24:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码