正文
录制宏转成java代码 录制宏的代码
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
什么是Java宏??
在java中,被final关键字修饰的、设置了初始值的变量就被称为宏变量。宏变量在编译阶段就已经被固定了值,因此编译器会把程序中所有该变量出现的位置全部以初始值替换。
举个例子:
对于图1,按照预先设想的样子,s1和s5都应该是字符串“百度知道”,但是在实际的运行中,s1和s5尽管都是“百度知道”,但计算机判定它们并不相等。
原因:对于s1来说,“百度知道”算是字符串常量,因此“百度知道”这个字符串作为常量保存在常量池中。当编译器运行到String s2那一行时,因为s2也是“百度知道”,那么编译器会前往常量池中寻找“百度知道”这个常量,理所应当可以找到,所以s2将会和s1同时指向“百度知道”这个字符串常量所在的地址(也就是说s1和s2指针相同)。但是对于s5来说,编译器认为s5的本质是两个字符串变量的和,也就是“百度”+“知道”,组成s5的s3、s4的值随时可以发生变化,只不过恰好在这里它们是一样的而已,一个是常量一个是变量,当然不可能相等。
接下来,将s3、s4转为宏变量,如图2:
此时作为宏变量的s3、s4它们的值恒为“百度”、“知道”,组成的s5“百度知道”也就和s1、s2相等了。
补充:
在计算机中,宏就是在程序编译时,用一系列规定好的的规则模式去替换相应的宏变量,进行相关宏展开的工具通常被称作宏展开器。
将一个c#方法改成java方法,不要工具自动转换的代码,谢谢,
import java.util.*;
// 以下为java version
public class Test {
public static void main(String[] args) {
System.out.println(GetCheckString("cmd"));
}
/**
* @param cmd 入力参数
* @return
*/
public static String GetCheckString(String cmd) {
String result = "";
int sum = 0;
int len = cmd.length();
for (int index = 0; index len; index++) {
char nItemCharValue = cmd.charAt(index);
sum += nItemCharValue;
}
sum = (int) ((~sum) + 1);
// String szCheckString = sum.toString("X").PadLeft(4, '0');
System.out.println(Integer.toHexString(sum));
String szCheckString = Test.padLeft((Integer.toHexString(sum) + ""), 4);
result = cmd + szCheckString + '\r';
return result;
}
/**
* 模拟C#的PadLeft()
* @param s 入力字符串
* @param length 指定长度
* @return
*/
public static String padLeft(String s, int length) {
byte[] bs = new byte[length];
byte[] ss = s.getBytes();
Arrays.fill(bs, (byte) (48 0xff));
if (length ss.length)
return s;
System.arraycopy(ss, 0, bs, length - ss.length, ss.length);
return new String(bs);
}
}
怎么把exe程序转换成java的
1、java编译的程序在装有jvm的机器上,可以通过javaw来运行的。正常会通过eclipse工具,或则通过jdk中提供的的jar命令打包。
2、如果要程序能够双击运行,最重要的是在jar文件下的META-INF文件下的MANIFEST.MF文件中指定运行的主函数,即带有main方法的类。
3、如果是新手,建议使用eclipse打包,因为在eclipse打包过程中,可以指定包含main方法的类,并且自动生成MANIFEST.MF文件。其实打包比较头疼的就是MANIFEST.MF文件,因为如果是通过jar命令手动打包的时候,MANIFEST.MF需要自己编辑的,这个文件中的信息之间的空格、回车都有特定要求,如果不正确,也会造成程序无法运行。
4、其实window下的exe、bat或则linux下的sh文件都可以调用jar程序。如果要成exe之类的也可以写。
请教如何将c++程序转换成java程序
对于不同语言的转换 实际上要看你对这个语言的了解深度。C++比Java更强的是在内存处理方面,如果你对C++的底层内存分配不清楚且看不懂的话,那么转Java有点悬。
Java有个好处就是库多 而且库强!举个例子C++的字符串处理实在是让人无语,如果不引入第三方库,比如Qt,标准库带的string很多功能都无法实现。
所以,如果你想将C++程序转换成Java程序。最根本的方法有:1. 彻底理解那个C++代码,要从思想上理解,不要被C++的那些细节所干扰,因为java很多功能都实现了 2. 如果有些东西不方便解决的话,可以引入第三方库,假如C++是用矩阵类操作图像,你总不能在Java中用二维数组来代表图像吧,虽然也能做
c中的宏定义在java中怎样实现
无法实现,Java不是C,不能这么对应着考虑,要学会适应用Java语言考虑问题,而不要只把作为一种C语言思想的表现工具。
在Java中,要定义常量的话,可以在类中使用
public static final 。
比如:
public static final int PI = 3.14159;//java.lang.Math.PI差不多就应该是这么定义的。
再比如:
public static final int NAME = "John";
等。
Scalar color[] = { Scalar(0,0,255),Scalar(0,255,0),Scalar(255,0,0) };转化为java的形式该怎么写
是自己定义录制宏转成java代码的,你可以随便写,但是一般都用color,为录制宏转成java代码了便于认知。在Opencv中,cvScalar是CV_RGB的宏,cvScalar的储存顺序是B-G-R,而CV_RGB的储存顺序是R-G-B,两者正好相反,所以你的cvScalar(255,0,0),实际意思是B=255,当然是蓝色的
关于录制宏转成java代码和录制宏的代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。