仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 850|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA编程:java中静态实行一段代码

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:46:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难静态|实行静态的实行一段复杂代码,接纳天生java文件,挪用javac编译,反射实行的体例。

只是一个复杂测试,有些中央有待完美。

代码以下



--------------------------------------------------------------------------------


importjava.io.*;

/**
*静态实行一段代码(天生文件->编译->实行)
*@authorkingfish
*@version1.0
*/
publicclassTestRun{
privateStringfileName="Test.java";
privateStringclassName="Test.class";
publicTestRun(){
Filef=newFile(fileName);
if(f.exists())f.delete();

f=newFile(className);
if(f.exists())f.delete();
}

/**
*创立java文件
*/
publicvoidcreateJavaFile(Stringbody){
Stringhead="publicclassTest{
publicstaticvoidrunCode(){";

Stringend="
}
}";
try{
DataOutputStreamdos=newDataOutputStream(newFileOutputStream(
fileName));
dos.writeBytes(head);
dos.writeBytes(body);
dos.writeBytes(end);
dos.close();
}
catch(Exceptione){
e.printStackTrace();
}
}

/**
*编译
*/
publicintmakeJavaFile(){
intret=0;
try{
Runtimert=Runtime.getRuntime();
Processps=rt.exec("cmd/cjavac"+fileName);
ps.waitFor();
byte[]out=newbyte[1024];
DataInputStreamdos=newDataInputStream(ps.getInputStream());
dos.read(out);
Strings=newString(out);
if(s.indexOf("Exception")>0){
ret=-1;
}
}
catch(Exceptione){
ret=-1;
e.printStackTrace();
}
returnret;
}

/**
*反射实行
*/
publicvoidrun(){
try{
Class.forName("Test").getMethod("runCode",newClass[]{}).invoke(null,newObject[]{});
}
catch(Exceptione){
e.printStackTrace();
}
}

/**
*测试
*/
publicstaticvoidmain(String[]args){

Stringcmd="System.out.println("usage:javaTestRuninti=1;System.out.println(i+100);");";
if(args.length>=1){
cmd=args[0];
}
TestRunt=newTestRun();
t.createJavaFile(cmd);
if(t.makeJavaFile()==0){
t.run();
}
}
}




--------------------------------------------------------------------------------


测试:

javaTestRunSystem.out.println("Hello,World!");

javaTestRun"inti=1;intj=2;System.out.println(i+j);"



--------------------------------------------------------------------------------


若有任何成绩,请斧正!

kingfish


J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-21 13:59:11 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
莫相离 该用户已被删除
板凳
发表于 2015-1-30 19:45:09 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
爱飞 该用户已被删除
地板
发表于 2015-1-30 21:49:29 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
老尸 该用户已被删除
5#
发表于 2015-2-6 16:09:03 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
6#
发表于 2015-2-7 03:37:03 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
因胸联盟 该用户已被删除
7#
发表于 2015-2-7 21:49:12 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
深爱那片海 该用户已被删除
8#
发表于 2015-2-13 00:02:44 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
若天明 该用户已被删除
9#
发表于 2015-3-3 11:21:34 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
小女巫 该用户已被删除
10#
发表于 2015-3-5 19:19:38 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
海妖 该用户已被删除
11#
发表于 2015-3-7 13:21:19 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
乐观 该用户已被删除
12#
发表于 2015-3-12 11:57:11 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
小妖女 该用户已被删除
13#
发表于 2015-3-19 21:51:15 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
admin 该用户已被删除
14#
发表于 2015-3-22 01:07:59 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
小魔女 该用户已被删除
15#
发表于 2015-3-24 10:27:38 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
简单生活 该用户已被删除
16#
发表于 2015-4-1 12:10:16 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
精灵巫婆 该用户已被删除
17#
发表于 2015-4-10 13:07:59 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
谁可相欹 该用户已被删除
18#
发表于 2015-4-16 13:08:04 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
柔情似水 该用户已被删除
19#
 楼主| 发表于 2015-4-17 22:01:36 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
金色的骷髅 该用户已被删除
20#
发表于 2015-5-1 15:09:20 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 23:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表