Java学习笔记之基础应用(2015.3.21)

最近打算好好学习下Java,所以打算记录下一些知识点或者是值得记住需要记住的代码吧!

1.灵活使用位运算实现加密算法
可以使用“^”异或运算符把字符串与一个特定值进行异或运算,这样就可以得到一个加密后的字符串,这就是一个简单的加密算法。
简单的例子如下:

import java.util.Scanner;public class TestCode {public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.println("请输入一个英文字符串或解密字符串");String password = in.nextLine(); // 获取用户输入char[] array = password.toCharArray(); // 获取字符数组int length = array.length;for (int i = 0; i < length; i++) { // 遍历字符数组array[i] = (char) (array[i] ^ 20000); // 对每个数组元素进行异或运算}System.out.println("加密或解密结果如下 ");System.out.println(new String(array)); // 输出结果in.close();}}

执行的结果如下:
这里写图片描述

2.对于位移运算,左移n位表示乘以2的n次方,而右移n位等于除以2的n次方。

简单的代码示例:

import java.util.Scanner;public class TestCode {public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.println("请输入一个整数");int number = in.nextInt(); // 获取用户输入System.out.println("你输入的数字是: " + number);System.out.println("该数字乘以2的结果为:" + (number << 1));System.out.println("该数字乘以4的结果为:" + (number << 2));System.out.println("该数字除以2的结果为:" + (number >> 1));System.out.println("该数字除以4的结果为:" + (number >> 2));in.close();}

结果为:
这里写图片描述

3.利用异或运算实现两个变量的互换
这也是异或运算的应用之一,可以省略临时变量,达到互换两个变量的效果。

代码如下:

import java.util.Scanner;public class TestCode {public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.println("请输入变量A的值");int A = in.nextInt(); System.out.println("请输入变量B的值");int B = in.nextInt();System.out.println("A = " + A + "\tB = " + B);System.out.println("执行变量互换...");A = A ^ B;B = B ^ A;A = A ^ B;System.out.println("A = " + A + "\tB = " + B);in.close();}}

运行结果为:
这里写图片描述
异或及其他运算符都不会改变变量本身的值,即“A^B”是没有意义的,必须要有赋值才行。

不过这个方法应该是转换两个同类型的变量,如果是不同类型的变量还是使用临时变量会方便简单点。

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

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

相关文章

java pdf文件压缩_PDF文件压缩转换教程

现在在很多的网站上传文件的时候&#xff0c;不知道大家有没有遇到因为pdf文件太大&#xff0c;不能上传这种情况。还有很多限制PDF文件大小&#xff0c;由于PDF文件较多&#xff0c;那么就会导致效率大大减小。如果PDF文件过大进行PDF文件传输会很慢很麻烦&#xff0c;想要快速…

powermockito教程_Mockito与PowerMock的使用基础教程

一、Mockito与PowerMock简述Mockito与PowerMock都是Java流行的一种Mock框架&#xff0c;使用Mock技术能让我们隔离外部依赖以便对我们自己的业务逻辑代码进行单元测试&#xff0c;在编写单元测试时&#xff0c;不需要再进行繁琐的初始化工作&#xff0c;在需要调用某一个接口时…

U8远程接入客户端重新安装问题

系统检测到已经安装了旧版本客户端软件 解决&#xff1a;[-HKEY_LOCAL_MACHINE\SOFTWARE\Comexe Ras Sys]删掉这个就可以了 转载于:https://www.cnblogs.com/martian6125/archive/2013/01/30/9631101.html

Android控件用法总结之EditText

最近毕业设计也快做完了&#xff0c;因为也是边学Android边做毕设&#xff0c;而且也因为是初学&#xff0c;所以用了比较长时间&#xff0c;现在也是希望记下这段时间写Android的一些技巧方法或者是问题。 首先是关于EditText这个控件&#xff0c;这个控件用的也是非常普遍的…

Python 学习笔记(1)

最近开始学习Python&#xff0c;早早听说这是一门高效率的编程语言&#xff0c;据说可以用几行代码就实现如Java语言需要写几十行代码才实现的功能&#xff0c;加上这门语言在图像分类等方向应用得很多&#xff0c;所以就提前学习下。 原本计划是看《Head First Python》的&…

android image设置adjustviewbounds_探索 Android 平台的 CameraX

前言如果你曾经用过 Android 的 Camera APIs&#xff0c;你可能已经感受到了&#xff0c;它们一直没有成为最容易实现的东西。最开始是 Camera API&#xff0c;然后又推荐使用 Camera2 API — 这个升级是为了让开发者在使用 Android 的相机 API 时有更好的体验。然而&#xff0…

c++opencv汉字分割_机器学习小白,还不快pick一下——【视觉与图像:阈值分割】...

“前言&#xff1a;安利Python来开发OpenCV的原因其实细心的小伙伴早在?【视觉与图像】PythonOpenCV教程入门篇就找到了想要的答案。(点蓝字即可打开)”今天周五了&#xff01;今天还不下雨&#xff01;&#xff01;今天又可以更新了&#xff01;&#xff01;&#xff01;先前…

mysql主键外键_MySQL主键和外键使用及说明

摘自网上一个经典的例子&#xff1a;大哥和小弟一、外键约束MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件&#xff1a;1.两个表必须是InnoDB表&#xff0c;MyISAM表暂时不支持外键(据说以后的版本有可能支持&#xff0c;但至少目前不支持)&#x…

mysql8.0.11 安装顺序_mysql 8.0.11 安装步骤详解

本文为大家分享了mysql 8.0.11 安装步骤&#xff0c;供大家参考&#xff0c;具体内容如下第一步&#xff1a;下载安装包MYSQL官方下载地址&#xff1a;官方下载这里第一项是在线安装&#xff0c;第二项是离线包安装&#xff0c;我选择的是第二项(不用管你电脑是多少位的操作系统…