内部转岗 python转java

Python014

内部转岗 python转java,第1张

Java和Python都是非常优秀,目前最火的后台语言。

Java的使用时间更久,更成熟,Python语言更年轻,更便捷。

两者各有各的优势:也是目前被IT行业广泛采用的编程语言,二者之间的很多应用场景是重合的,所以也就存在一个对比的基础。

市场上 Java 工作职位要更多一些。甚至有些大数据的岗位,不仅要求 Python,也需要掌握 Java。技多不压身,趁年轻多学习。

如果转岗的话,还需要有个适应过程:

1、操作习惯会不同,比如,java行末必须加分号,Python 里加了也不会报错,但并不强制,Java 的语句不加就会报错;

2、语法理解上,java面向对象的概念更加强烈。用 Python 时,会更多地一行一行跑结果出来,再把可以封装成函数的进行封装,再回头来定义类。

import Crypto.Cipher.DES

import hashlib.md5

import static python.lang.System

public class Test{

    public static void main(String[] args)

    {

        String key = "\x32\x8D\xD2\x0B\xC3\xE6\xD2\xCF"

        DES crypto = new DES(key, DES.MODE_ECB)

        String data = open('a.txt', 'rb').read()

        Object[] data_decrypted = crypto.decrypt(data).rstrip("\0")

        /**这个,后面的有点不兼容。其实不知道DES、md5的源码也改不了,而且java又不能直接调用其中的python代码,除非你写相应的java代码和他们映射**/

    }

}

import java.util.ArrayList

import java.util.List

/**

*

* 33行,add的值是对象的话,定义list就不用String,用对象,

* 同样38行,可以分别取对象的值,如果想要数组的话,再转化下就可以

* @author

*

*/

public class Test {

/**

*这几个静态属性,是你其他地方传来的,你可以在调用queryblocks()时作为参数传递给这个方

*法

*/

private static int YunHash_HASHLENGTH = 2

private static int config_maxfilesize = 3

private static int MAXBLOCKSIZE = 4

public static void main(String[] args) {

}

public List<String>queryblocks(String str)

{

String data= str//request.body.read()

if (data.length()%YunHash_HASHLENGTH !=0

|| data.length()>config_maxfilesize/MAXBLOCKSIZE*YunHash_HASHLENGTH

){

return errorRespose(400,"BADHASHLIST")

}

int s = 0

List<String>lis = new ArrayList<String>()

while(s <data.length()){

String hash = data.substring(s, s+YunHash_HASHLENGTH)

lis.add("放注释里的值")//dbsession.execute_async(hashblocks_get_statement.bind((hash,)))

s += YunHash_HASHLENGTH

}

List<String>lis1 = new ArrayList<String>()

for (String string : lis) {

lis1.add(string)

}

return lis1

}

public List<String>errorRespose(int code, String message){

List<String>list = new ArrayList<String>()

list.add(""+code+"--"+message)

return list

}

}