键盘输入语句和位运算

news2024/9/22 9:47:16

键盘输入语句

  • 键盘输入语句
    • 案例:可以从控制台接收用户信息,【姓名,年龄,薪水】
  • 进制介绍
    • 案例:输出 二,十,八,十六进制的数据
  • 位运算
    • 原码、反码、补码
    • 位运算符
      • java 中有 7 个位运算(&、|、^、~、>>、<<和 >>>)
      • 应用案例
  • 位运算的思考题
      • 1. 请看下面的代码段,回答 a,b,c,d,e 结果是多少?
      • 2. 请回答在 java 中,下面的表达式运算的结果是: (位操作)

键盘输入语句

介绍:在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。需要一个 扫描器(对象), 就是Scanner
注意:
(1)导入该类的所在包, java.util.*
(2)创建该类对象(声明变量)
(3)调用里面的功能

案例:可以从控制台接收用户信息,【姓名,年龄,薪水】

import java.util.*;//键盘输入需要导入的包

public class Case3 {
	public static void main(String[] args) {
		// 新建类对象 myScanner 就是 Scanner 类的对象
		Scanner myScanner = new Scanner(System.in);
		// 3. 接收用户输入了, 使用 相关的方法
		System.out.println("请输入名字:");
		// 接收用户输入字符串
		String name = myScanner.next();
		System.out.println("请输入年龄:");
		// 接收用户输入 int
		int age = myScanner.nextInt(); 
		System.out.println("请输入薪水:");
		// 接收用户输入 double
		double sal = myScanner.nextDouble(); 
		System.out.println("人的信息如下:");
		System.out.println("名字=" + name + " 年龄=" + age + " 薪水=" + sal);
	}
}

在这里插入图片描述

进制介绍

对于整数,有四种表示方式:
二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。
十进制:0-9 ,满 10 进 1。
八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。

案例:输出 二,十,八,十六进制的数据

public class Case4 {
	public static void main(String[] args) {
		// n1 二进制
		int n1 = 0b1010;
		// n2 十进制
		int n2 = 1010;
		// n3 八进制
		int n3 = 01010;
		// n4 十六进制
		int n4 = 0X10101;
		System.out.println("n1=" + n1);
		System.out.println("n2=" + n2);
		System.out.println("n3=" + n3);
		System.out.println("n4=" + n4);
		System.out.println(0x23A);
	}
}

在这里插入图片描述

进制开头
二进制0b
八进制0
十六进制0x

位运算

原码、反码、补码

  1. 二进制的最高位是符号位:0表示正数, 1表示负数。
  2. 正数的原码,反码,补码都一样。
  3. 负数的反码 = 它的原码符号位不变,其它位取反(0->1,1->0)
  4. 负数的补码 = 它的反码 +1,负数的反码 = 负数的补码 -1
  5. 0的反码,补码都是0。
  6. java 没有无符号数,换言之,java中的数都是有符号的。
  7. 在计算机运算的时候,都是以补码的方式来运算的。
  8. 当我们看运算结果的时候,要看他的原码。
    计算机看补码,人看源码

位运算符

java 中有 7 个位运算(&、|、^、~、>>、<<和 >>>)

分别是按位与&、按位或|、按位异或^、按位取反~,
它们的运算规则是:
按位与&:两位全为1,结果为1,否则为0
按位或|:两位有一个为1,结果为1,否则为0
按位异或|^∶两位一个为0,一个为1,结果为1,否则为0
按位取反~:0->1,1->0

还有 3 个位运算符 >>、<< 和 >>> , 运算规则:
(1) 算术右移 >>: 低位溢出,符号位不变,并用符号位补溢出的高位
(2) 算术左移 <<: 符号位不变,低位补 0
(3) >>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0
(4) 特别说明:没有 <<< 符号

应用案例

int a=1>>2; //1 => 00000001 => 00000000 本质 1 / 2 / 2 =0
int c=1<<2; //1 => 00000001 => 00000100 本质 1 * 2 * 2 = 4

位运算的思考题

1. 请看下面的代码段,回答 a,b,c,d,e 结果是多少?

public static void main(String []args)
{
int a=1>>2; // 1 向右位移 2 位
/* 这里就按一个直接推(int型一般是4个字节)
0000 0001 右移动2位,溢出的不要并用符号位补,
所以得到 0000 0000 (补码) 0的源码和补码一样,
即输出 0
*/
int b=-1>>2;//算术右移
/* 原 1000 0001 反 1111 1110 负数的补码 = 它的反码 +1;
补 1111 1111 右移动2位,溢出的不要并用符号位补, 
得 1111 1111(补码)负数的反码 = 负数的补码 -1,
1000 0000(反),源码1000 0001 ,即输出 -1
*/
int c=1<<2;//算术左移
int d=-1<<2;//
int e=3>>>2;//无符号右移
//a,b,c,d,e 结果是多少
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
}

在这里插入图片描述

2. 请回答在 java 中,下面的表达式运算的结果是: (位操作)

~2=? // 按位取反
2&3=?// 2 按位与 3
2 ^ 3=? //^ 按位异或
~-5=?
13 & 7=?
5 | 4=?
-3 | 3=?
public class Case6 {
	public static void main(String[] args) {
		int a = ~2;// 按位取反
		//补 0000 0010 取反 1111 1101(补)
		//负数的反码 = 负数的补码 -1
		//1111 1100(反) 源码 1000 0011,即 -3
		int b = 2 & 3;// 2 按位与 3
		// 2 的补码 0000 0010 
		// 3 的补码 0000 0011  按位与&:两位全为1,结果为1,否则为0
		//         0000 0010,即 2
		int c = 2 ^ 3;// ^ 按位异或
		// 2 的补码 0000 0010 
		// 3 的补码 0000 0011  按位或^:两位有一个为1,结果为1,否则为0
		//         0000 0011,即 3
		int d = ~-5;
		int e = 13 & 7;
		int f = 5 | 4;
		//按位或|:两位有一个为1,结果为1,否则为0
		// 5 补码 0000 0101
		// 4 补码 0000 0100
		//        0000 0101 即 5
		int g = -3 | 3;
		System.out.println("a=" + a);
		System.out.println("b=" + b);
		System.out.println("c=" + c);
		System.out.println("d=" + d);
		System.out.println("e=" + e);
		System.out.println("f=" + f);
		System.out.println("g=" + g);
	}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字工业 弹性安全丨2022 Fortinet工业互联网安全发展峰会成功举办

随着数字化转型的持续推进&#xff0c;工业互联网的作用和地位日益加强。而 OT 安全作为工业互联网体系不可或缺的部分&#xff0c;虽然受到越来越多企业的关注&#xff0c;但仍然面临着多方面的挑战。11月16日&#xff0c;一年一度的 OT 安全盛会——2022 Fortinet工业互联网安…

算法设计与分析 SCAU11091 最优自然数分解问题(优先做)

11091 最优自然数分解问题&#xff08;优先做&#xff09; 时间限制:1000MS 代码长度限制:10KB 提交次数:0 通过次数:0 题型: 编程题 语言: G;GCC;VC;JAVA Description 问题描述&#xff1a;设n是一个正整数。 &#xff08;1&#xff09;现在将n分解为若干个互不相同的自然…

【毕业设计】电影评论情感分析 - GRU 深度学习

文章目录0 前言1 项目介绍2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测5 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问都可以问学…

手机拍照模糊怎么办?拍摄低像素照片如何修复清晰?

相信有很多人在用手机拍摄照片时自认为应该非常精美&#xff0c;拍完后却发现它模糊不清&#xff01;最终遗憾地错过了精彩的瞬间&#xff0c;令人非常遗憾&#xff01;虽然手机不是专业的摄像机&#xff0c;拍摄时模糊在所难免。但是我们可以在前期尽量避免拍摄的照片模糊&…

感冒了吃抗生素有用吗?

点击蓝字 &#xff5c;关注我们 2023年《科学世界》杂志全年订阅现已开启。 现在订阅&#xff0c;立享7.5折&#xff0c;并赠送经典科普图书《从一到无穷大》。通过文末链接&#xff0c;即可登录“科学世界”微店订购。抗生素&#xff0c;简单地说就是杀死细菌的药物。更准确地…

从源码上看,RocketMQ 5.0 跟 RocketMQ 4.x相比增加了哪几个模块

今天来介绍一下 RocketMQ 5.0 源码上的变化。 RocketMQ 5.0 是一个里程碑式的版本&#xff0c;经历了近 5 年的打磨&#xff0c;代码变更达到 60%。 首先看一下源码中模块的变化&#xff0c;如下图&#xff1a; 从图中可以看到&#xff0c;RocketMQ 5.0 主要增加了 4 个模块儿…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园生活互助平台06qe4

对于即将毕业或者即将做课设的同学而言&#xff0c;由于经验的欠缺&#xff0c;面临的第一个难题就是选题&#xff0c;确定好题目之后便是开题报告&#xff0c;如果选题首先看自己学习那些技术&#xff0c;不同技术适合做不同的产品&#xff0c;比如自己会些简单的Java语言&…

DataScience:KNIME工具的简介、安装、使用方法之详细攻略

DataScience&#xff1a;KNIME工具的简介、安装、使用方法之详细攻略 目录 KNIME的简介—数据挖掘与分析工具 1、KNIME软件如何帮助您的数据分析? 1.1、Create 1.2、Productionize 2、KNIME Analytics Platform 3、KNIME Hub KNIME的安装 KNIME的使用方法 1、构建第一…

[附源码]java毕业设计领导干部听课评课管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【深入浅出Spring6】第四期——实例化Bean和Bean的生命周期

一、获取 Bean Spring 提供了多种实例化Bean的方式&#xff1a;【只是表现形式不同&#xff0c;底层都是通过构造方法创建对象的】 通过构造方法实例化 【最简单的方式直接声明bean】通过简单工厂模式实例化 【定义一个简单模式工厂&#xff0c;然后通过工厂的静态方法获得Bea…

P3205 [HNOI2010]合唱队

[HNOI2010]合唱队 题目描述 为了在即将到来的晚会上有更好的演出效果&#xff0c;作为 AAA 合唱队负责人的小 A 需要将合唱队的人根据他们的身高排出一个队形。假定合唱队一共 nnn 个人&#xff0c;第 iii 个人的身高为 hih_ihi​ 米&#xff08;1000≤hi≤20001000 \le h_i …

Java网络编程套接字

文章目录1、网络编程基础2、Socket套接字2.1 Java数据报套接字通信模型2.2 Java流式套接字通信模型2.3 Socket编程注意事项3、UDP数据报套接字编程4、TCP流式套接字编程1、网络编程基础 在没有网路之前&#xff0c;两个进程只能在同一主机上进行通信&#xff0c;但是无法跨距离…

【kubernetes篇】使用Nfs实现kubernetes持久化存储

引言 在kubernetes使用的过程中&#xff0c;有很多数据需要持久化保存。而kubernetes本身不能实现这样的功能&#xff0c;所以需要提供外部存储来实现。nfs网络文件系统&#xff0c;能良好支持pv动态创建等功能&#xff0c;是一个不错的持久化保存方式。今天将这一部分内容作以…

jsx代码如何变成dom

jsx代码如何变成dom一、三个问题考察对jsx的理解二、jsx的本质以及它和js之间是什么关系&#xff1f;2.1 jsx是什么2.2 和js的关系2.3 jsx的本质三、为什么要用jsx&#xff1f;不用会有什么后果四、jsx背后的功能模块是什么&#xff1f;这个功能模块都做了哪些事情&#xff1f;…

DVWA 之 SQL注入(非盲注)

文章目录SQL注入1.判断是否存在注入&#xff0c;注入是字符型还是数字型2.猜解SQL查询语句中的字段数3.确定显示的字段顺序4.获取当前数据库5.获取数据库中的表6.获取表中的字段名7.下载数据SQL注入 步骤&#xff1a; 1.判断是否存在注入&#xff0c;注入是字符型还是数字型 2…

数据库平滑扩容方案剖析

1. 扩容方案剖析 1.1 扩容问题 在项目初期&#xff0c;我们部署了三个数据库A、B、C&#xff0c;此时数据库的规模可以满足我们的业务需求。为了将数据做到平均分配&#xff0c;我们在Service服务层使用uid%3进行取模分片&#xff0c;从而将数据平均分配到三个数据库中。 如…

4-6 最小生成树Prim,Kruskal(贪心)

4.6最小生成树 Prim,Kruskal(贪心) 一、问题描述 设G (V,E)是无向连通带权图&#xff0c;即一个网络。E中每条边(u,v)的权为 c[u][v]。 如果G的子图G’是一棵包含G的所有顶点的树&#xff0c;则称G’为G的生成树。生成树上各边权的总和称为该生成树的耗费。 在G的所有生成树中…

java计算机毕业设计基于安卓Android的校园快药APP-药店管理app

项目介绍 本文介绍了校园快药APP软件开发建设的意义和国内外发展现状,然后详细描述了所开发手机APP的可行性分析,并分析了手机APP所要实现的功能。因为校园快药设施较多,而且人口密集,不能更好的管理校园快药,造成需要时患者不必要的伤亡,所以采用比较方便的、容易便携的手机AP…

[附源码]Python计算机毕业设计Excel操作题自动评分系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

基于PHP+MySQL的企业宣传展示网

随着互联网的发展,企业越来越重视网上宣传渠道了。谢现在各大企业都有了自己的官网,以达到宣传企业或方便客户了解企业的目的。PHP企业宣传展示网分为前台和后台两部分。前台不部分主要是让用户了解和查看及动态等信息,使用的后台部分主要是企业的管理人员对网站的信息进行管理…