java字符型代码 java字符串编码格式

java中怎么执行字符串中的代码

转:

创新互联公司是网站建设技术企业,为成都企业提供专业的网站设计、成都做网站,网站设计,网站制作,网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制适合企业的网站。十多年品质,值得信赖!

在javascript中eval()可以实现字符串转代码,java中需要使用动态编译。

把获得的字符串写入一个临时文件中,然后编译它,在调用其中的函数。

我们把要转换的字符串构造一个完整的类:如果方法是有返回值的.则:

public object eval(string str){

//生成java文件

string s = "class temp{";

s += "object rt(){"

s += "myclass mc = new myclass();"

s += " return mc."+str+"();";

s += "}"

s +="}";

file f = new file("temp.java");

printwriter pw = new printwriter(new filewriter(f));

pw.println(s);

pw.close();

//动态编译

com.sun.tools.javac.main javac = new com.sun.tools.javac.main();

string[] cpargs = new string[] {"-d", "所在目录","temp.java"};

int status = javac.compile(cpargs);

if(status!=0){

system.out.println("没有成功编译源文件!");

return null;

}

//调用temp的rt方法返回结果:

myclassloader mc = new myclassloader();

class clasz = mc.loadclass("test.class",true);

method rt = clasz.getmethod("rt", new class[]{ string[].class });

return rt.invoke(null, new object[] { new string[0] });

//如果方法没有返回就直接调用

}

我们可以先写好多个重载的eval,有返回值和没有返回值的.以及可以传递参数的.

这样我们就可以用字符串转换为java的语句来执行.

在java里简单的定义一个字符型变量,以整型的形式再做输出,怎么编写这个代码啊

使用Integer.parseInt(str)可以将字符串转为整型,前提是str必须是一串数字,详情看下图。

在java中如何输入一个char型字符。

可以创建Scanner类来从键盘输入一个字符,用String类型来接收,再使用String的charAt功能,具体步骤如下:

1、先创建一个Scanner对象,如:Scanner sc = new Scanner(System.in);

2、然后再调用Scanner对象sc的next()方法获取控制台输入,定义一个String类型的变量s来接收控制台输入的字符,如:String s = sc.next();

3、调取变量s的charAt(0)方法获取第一个字符,如:char c = s.charAt(0);

扩展资料

字符型值有如下三种表示形式

1、直接通过单个字符来指定字符型值,例如‘A’、‘9’和‘0’等。

2、通过转义字符表示特殊字符型值,例如‘\n’、‘\t’等。

3、直接使用Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数

字符型值也可以采用十六进制编码方式来表示,范围是‘\u0000’~‘\uFFFF’,一共可以表示65536个字符,其中前256个(‘\u0000’~‘\u00FF’)字符和ASCII码中的字符完全重合。

由于计算机底层保存字符时,实际是保存该字符对应的编号,因此char类型的值也可直接作为整型值来使用,它相当于一个16位的无符号整数,表数范围是0~65535。

如果把0~65535范围内的一个int整数赋给char类型变量,系统会自动把这个int整数当成char类型来处理。

参考资料:百度百科-char数据类型

java字符串怎么转换为代码

方法是有的,但不全实际.

首先,你要理解,JAVA代码的运行是要被编译成字节码codebyte后才能被执行的,以你问题中的意思,那个字符串应该是在怎么代码被编译后项目在运行时,再传入的参数,这时,要想把传入参数的字符串当成JAVA代码来运行,只有一种办法,就是把传进来的字符串转换成字节码,并且,要虚拟加一个方法体出来.这也不是不可行,可用的技术有asm.cglib等字节码技术.但你想,对于你的问题.这样有实际的意义吗

你还不如,把system.out.print重定义成新的外调方法调动来的清晰

用JAVA编程设定5个字符串只打印哪些以字母b开头的串

1、新建java类,TestStr,

2、编写java代码,先定义5个java字符串,

String[] s = new String[5];

s[0] = "book";

s[1] = "Biz";

s[2] = "alen";

s[3] = "jack";

s[4] = "blue";

3、编写以字母b开头的表达式,并进行循环匹配打印,

for (int i = 0; i 5; i++) {

if (s[i].startsWith("b")) {

System.out.println(s[i]);

}

}

4、执行java代码,在console窗口观察输出信息,b开头的,会输出book、blue两个字符串,


名称栏目:java字符型代码 java字符串编码格式
文章地址:http://cdiso.cn/article/dodeeic.html

其他资讯