之前小编告诉大家最初是学Java的,现在转向python,那对于两者之间有什么互通的嘛?其实有,比如可以将Java转成python代码,一起来看下吧。
首先给大家带来一组示例演示。
Java代码如下:package program.calculation.exercise22;
import java.util.Scanner;
/**
* 22.读取5个数(1—50)的整数值,每读取一个值, 程序打印出该值个数的*。
*/
public class StarPrint {
public static void main(String[] args) {
System.out.println("请输入5个整数(1-50):");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int[] arr = new int[5];
for(int i=0;i
arr[i] = scanner.nextInt();
}
printStar(arr);
}
//打印*
private static void printStar(int[] arr) {
for(int i=0;i
System.out.println(arr[i]);
for (int j=0; j
System.out.print("*");
}
System.out.println();
}
}
}
Python代码转换如下:ls=[]
for i in range(5):
n=int(input('输入dao一个整回数答'))
ls.append(n)
for i in ls:
for j in range(i):
print('*',end='')
print('\n')
运行结果:
需要注意:
1、在java类中直接执行python语句,需要引用 org.python包,需要下载Jpython。
如果使用maven依赖添加的话,使用下面的语句
org.python
jython-standalone
2.7.0
以上准备好了,就可以直接在java类中写python语句了,具体代码如下:PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("a=[5,2,3,9,4,0]; ");
interpreter.exec("print(sorted(a));"); //此处python语句是3.x版本的语法
interpreter.exec("print sorted(a);"); //此处是python语句是2.x版本的语法
2、使用Runtime.getRuntime()执行脚本文件
为了验证该方法可以运行含有python第三方库的程序,我们先写一个简单的python脚本,代码如下:import numpy as np
a = np.arange(12).reshape(3,4)
print(a)
可以看到程序中用到了numpy第三方库,并初始化了一个3×4的一个矩阵。
下面来看看怎么用Runtime.getRuntime()方法来调用python程序并输出该结果,java代码如下:import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Process proc;
try {
proc = Runtime.getRuntime().exec("python D:\\demo1.py");// 执行py文件
//用输入输出流来截取结果
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
输出的结果如下图所示:
即运行成功~
同时存在两个python,而不想用默认的那个,也不想修改默认的python解释器,这种情况下,可以写一个bat文件,在bat文件中通过dos命令切换到该python所在目录,然后运行py文件(py文件要放在该目录下)
bat文件:@echo off
C:
cd C:\Anaconda2\envs\py3
start python test.py
Exit
跟着以上示例,大家可以尝试将Java代码转为python试试看哦~如需更多python实用知识,点击进入PyThon学习网教学中心。