欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用異或?qū)崿F(xiàn)變量互換和異或加密解密示例

 更新時(shí)間:2014年02月08日 16:45:48   作者:  
這篇文章主要介紹了使用異或?qū)崿F(xiàn)變量互換和異或加密解密示例,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

import java.util.Scanner;

public class VariableExchange {
    public static void main(String[] args){
        System.out.println("請(qǐng)輸入變量A的值");
        Scanner scanner=new Scanner(System.in);
        long A=scanner.nextLong();
        System.out.println("請(qǐng)輸入變量B的值");
        Scanner scannerB=new Scanner(System.in);
        long B=scannerB.nextLong();
        System.out.println("A="+A+"\t"+"B="+B);
        System.out.println("執(zhí)行變量互換...");
        A=A^B;
        B=B^A;
        A=A^B;
        System.out.println("A="+A+"\t"+"B="+B);
    }
}

其實(shí)現(xiàn)是巧用了異或運(yùn)算。

其原理:

復(fù)制代碼 代碼如下:

a = a ^ b;
b = b ^ a;
a = a ^ b;

復(fù)制代碼 代碼如下:

a1=a^b
b=a1^b=(a^b)^b=a
a=a1^b =a1^(a1^b)=a1^a1^b=b

同一變量與另一變量和其異或值異或等于自身。

該原理同樣可運(yùn)用于加密。將其值與key進(jìn)行異或得到加密后的串,解密操作也只需與key再異或一次。

補(bǔ)充:
Scanner類(lèi):
一個(gè)可以使用正則表達(dá)式來(lái)解析基本類(lèi)型和字符串的簡(jiǎn)單文本掃描器。
例1:

復(fù)制代碼 代碼如下:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

例2:

復(fù)制代碼 代碼如下:

Scanner sc = new Scanner(new File("myNumbers"));
 while (sc.hasNextLong()) {
       long aLong = sc.nextLong();
}

相關(guān)文章

  • Java遍歷Json中的key和value問(wèn)題

    Java遍歷Json中的key和value問(wèn)題

    這篇文章主要介紹了Java遍歷Json中的key和value問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 詳解Java枚舉為什么是單例模式的最佳選擇

    詳解Java枚舉為什么是單例模式的最佳選擇

    這篇文章主要為大家詳細(xì)介紹了Java枚舉為什么是單例模式的最佳選擇,文中通過(guò)簡(jiǎn)單的示例進(jìn)行了講解,具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下
    2023-05-05
  • 八種Java中的基本數(shù)據(jù)類(lèi)型詳解

    八種Java中的基本數(shù)據(jù)類(lèi)型詳解

    在Java編程中,基本數(shù)據(jù)類(lèi)型是必不可少的一部分,對(duì)于初學(xué)者而言,理解這些基本數(shù)據(jù)類(lèi)型是非常重要的,下面我們就來(lái)學(xué)習(xí)一下Java中的八種基本數(shù)據(jù)類(lèi)型,以及它們的使用方法吧
    2023-08-08
  • 不了解這12個(gè)語(yǔ)法糖,別說(shuō)你會(huì)Java

    不了解這12個(gè)語(yǔ)法糖,別說(shuō)你會(huì)Java

    這篇文章主要介紹了不了解這12個(gè)語(yǔ)法糖,別說(shuō)你會(huì)Java,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • SpringCloud中的Feign服務(wù)間的調(diào)用詳解

    SpringCloud中的Feign服務(wù)間的調(diào)用詳解

    這篇文章主要介紹了SpringCloud中的Feign服務(wù)間的調(diào)用詳解,Feign 是一個(gè)聲明式的 REST 客戶端,它能讓 REST 調(diào)用更加簡(jiǎn)單,Feign 供了 HTTP 請(qǐng)求的模板,通過(guò)編寫(xiě)簡(jiǎn)單的接口和插入注解,就可以定義好 HTTP 請(qǐng)求的參數(shù)、格式、地址等信息,需要的朋友可以參考下
    2024-01-01
  • 使用ftpClient下載ftp上所有文件解析

    使用ftpClient下載ftp上所有文件解析

    最近項(xiàng)目需要寫(xiě)個(gè)小功能,需求就是實(shí)時(shí)下載ftp指定文件夾下的所有文件(包括子目錄)到本地文件夾中,保留文件到目錄路徑不變。今天小編給大家分享使用ftpClient下載ftp上所有文件的方法,需要的的朋友參考下吧
    2017-04-04
  • 詳解利用spring-security解決CSRF問(wèn)題

    詳解利用spring-security解決CSRF問(wèn)題

    這篇文章主要介紹了詳解利用spring-security解決CSRF問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • java出現(xiàn)no XXX in java.library.path的解決及eclipse配置方式

    java出現(xiàn)no XXX in java.library.path的解決及eclipse配

    這篇文章主要介紹了java出現(xiàn)no XXX in java.library.path的解決及eclipse配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP連接管理模塊實(shí)現(xiàn)(8)

    Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP連接管理模塊實(shí)現(xiàn)(8)

    這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件,F(xiàn)TP連接管理模塊的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java通過(guò)值查找對(duì)應(yīng)的枚舉的實(shí)現(xiàn)

    Java通過(guò)值查找對(duì)應(yīng)的枚舉的實(shí)現(xiàn)

    本文主要介紹了Java通過(guò)值查找對(duì)應(yīng)的枚舉的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02

最新評(píng)論