1.有关CLASSPATH的问题:
11.sun的官方解释:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html
12. 一定要设置CLASSPATH=.;xxxx;xxxx(注意前面的.)
13.CLASSPATH的路径中可以有重复的类,调用是按照顺序匹配,因为ClassLoader
一找到类就返回
14.CLASSPATH=d:/java/myproject/*.jar 错
不能用*.jar,必须指明jar的名称且其先后排列是有意义的
15.到底如何知道自己在哪个目录呢?
写个测试程序:
System.getProperties().get("user.dir");//得到当前程序运行的根目录
getClass().getResource(".");//得到当前对象所在目录
16.linux下怎么设置CLASSPATH 呢?
step1. 更改当前目录的.bashrc
在最后加上 export CLASSPATH=.:xxxx:xxxx
step2. 保存后在terminal输入 source .bashrc
17.出现:Exception in thread "main" java.lang.NoClassDefFoundError:
Graph 怎么办 ?
step1.检查CLASSPATH又没写"."
step2.检查源程序有没有写package
step3.如果上面都正确的话在当前目录写Helloworld测试
18.使用到别的包,如:"org.gjt.mm.mysql.Driver"找不到包怎么办?
学会用google
2.乱码相关的问题:
21.示例:
import java.io.*;
public class BUG {
public static void main(String args[]) {
FileInputStream fi;
DataInputStream di;
char c;
try {
fi = new FileInputStream("data.txt");
di = new DataInputStream(fi);
while (true) {
c = di.readChar();
System.out.print(c);
System.out.flush();
if (c == '/n') break;
}
fi.close();
} catch (Exception e) { }
System.exit(0);
}
}
输出的是乱码,原因是readChar()读入的是16位的unicode字符,
而System.out.print()总是将其当8位的ISO-8859-1
最好使用BufferedReader中的readLine()方法
22.页面中的乱码:
在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,
比如一大堆乱码或问号,这是因为JAVA中默认的编码方式是
UNICODE,而中国人通常使用的文件和DB都是GB2312或者BIG5
等编码,故会出现此问题。
1、在网页中输出中文
JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化
String str="中文";
str=new String(str.getBytes("GB2312"),"8859_1");
但如果在编译程序时,使用的编码是“GB2312”,
且在中文平台上运行此程序,不会出现此问题,一定要注意。
2、从参数中读取中文
这正好与在网页中输出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文问题
一个较简单的方法是:在“控制面扳”中,把“区域”设置为
“英语(美国)还会出现乱码,还可进行如下设置:
取中文时:str=new String(str.getBytes("GB2312"));
向DB中输入中文:str=new String(str.getBytes("ISO-8859-1"));
3.String类的一点说明:
String a = "test";
String b = "test";
则a==b,a.euqals(b)都输出ture
String a="test";
String b=new String("test");
则a==b输出false,a.equals(b) 输出true;
因为String a="test";建立了两个对象,相当于:
String temp=new String("test");
String a=temp;
而String b=new String("test")
只建立了一个对象.
4.数据转换相关问题:
41. 字符串转换成整数:
String MyNumber ="1234";
int MyInt = Integer.parseInt(MyNumber);
42. 整数转换成字符串:
int MyInt = 1234;
String MyString = "" + MyInt;
43. 十进制整数转换成二进制整数,返回结果是一个字符串:
Integer.toBinaryString(int i);
44.其它进制到十进制的转换
五进制字符串14414转换成十进制整数,结果是1234:
System.out.println(Integer.valueOf("14414", 5);
Integer和Long提供的valueOf(String source, int radix)方法,可以
将任意进制的字符串转换成十进制数据。
5.IDE相关:
(以下是个人观点):
众所周知,javaIDE满街都是,如果你想成为一个优秀的javaer,
而不是仅仅把java当做一个工具来使用,那么刚开始的时候一定
不要用集成的IDE,一定要从jdk的基础命令中理解java编译运行的过程
推荐: linux: vim+jdk5+ant
windows: editplus+jdk5+ant
当你已经基本掌握java.util中的基本数据结构与算法,需要进行gui和web设计时:
推荐:eclipse(btw.一定要明白IDE为你做了什么)
p.s.相信我,我可是深受IDE之苦阿!
Q:jdk中bin下面的命令是干什么的?
A:javac 编译用的
appletviewer 是看applet用的
jdb 是调试用的
jar 是打包用的
javaw 是没有console窗口跑java的
javah 是帮助
Q:如何显示源程序中使用的所有类?
A:javac -verbose source.java
Q:如何编译多个.java?
A:1.javac -d . a.java b.java c.java(.是当前目录)
2.有个工具叫ant
Q:如何实现动态数组?
A:Vector,ArrayList
Q:如何实现多维向量(动态多维数组,广义表)?
A:1.Vector v1=new Vector();
Vector v2=new Vector();
HashTable ht=new HashTable();
ht.put("guahu1",v1);
ht.put("guahu2",v2);
2.Vector v1 = new Vector();
Vector v2 = new Vector();
v1.add(v2);
Q:如何在程序中调用系统命令?
A:String cmd="ls";
Runtime.getRuntime().exec(cmd);
Q:如何反编译.class文件?
A:有个程序叫jad
jad -a source.class后生成source.jad
然后把source.jad重命名为source.java
Q:如何把.class 或 .jar转换为.exe
A:请住手!你违背了java的原则
如果你真的要这样,那就...
用Excelsior JET制作exe文件,
http://www.excelsior-usa.com/jet.html下载
Q:java里有什么简单易用的输入对话框?
A:JOptionPane.showInputDialog("Say Hello");
import java.swing.*;
Q:eclipse中如何导入javadoc:
A:下载jdk_docs.jar解包 $JDK_HOME/lib
设置 eclipse 的 window -> preferences -> install JRE ->
把这个设置成使用jdk目录下的,按‘编辑’按钮,
里面有jdkdoc的目录选择栏
光标转移到类的方法上,使用shift-F2,查看--
11.sun的官方解释:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html
12. 一定要设置CLASSPATH=.;xxxx;xxxx(注意前面的.)
13.CLASSPATH的路径中可以有重复的类,调用是按照顺序匹配,因为ClassLoader
一找到类就返回
14.CLASSPATH=d:/java/myproject/*.jar 错
不能用*.jar,必须指明jar的名称且其先后排列是有意义的
15.到底如何知道自己在哪个目录呢?
写个测试程序:
System.getProperties().get("user.dir");//得到当前程序运行的根目录
getClass().getResource(".");//得到当前对象所在目录
16.linux下怎么设置CLASSPATH 呢?
step1. 更改当前目录的.bashrc
在最后加上 export CLASSPATH=.:xxxx:xxxx
step2. 保存后在terminal输入 source .bashrc
17.出现:Exception in thread "main" java.lang.NoClassDefFoundError:
Graph 怎么办 ?
step1.检查CLASSPATH又没写"."
step2.检查源程序有没有写package
step3.如果上面都正确的话在当前目录写Helloworld测试
18.使用到别的包,如:"org.gjt.mm.mysql.Driver"找不到包怎么办?
学会用google
2.乱码相关的问题:
21.示例:
import java.io.*;
public class BUG {
public static void main(String args[]) {
FileInputStream fi;
DataInputStream di;
char c;
try {
fi = new FileInputStream("data.txt");
di = new DataInputStream(fi);
while (true) {
c = di.readChar();
System.out.print(c);
System.out.flush();
if (c == '/n') break;
}
fi.close();
} catch (Exception e) { }
System.exit(0);
}
}
输出的是乱码,原因是readChar()读入的是16位的unicode字符,
而System.out.print()总是将其当8位的ISO-8859-1
最好使用BufferedReader中的readLine()方法
22.页面中的乱码:
在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,
比如一大堆乱码或问号,这是因为JAVA中默认的编码方式是
UNICODE,而中国人通常使用的文件和DB都是GB2312或者BIG5
等编码,故会出现此问题。
1、在网页中输出中文
JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化
String str="中文";
str=new String(str.getBytes("GB2312"),"8859_1");
但如果在编译程序时,使用的编码是“GB2312”,
且在中文平台上运行此程序,不会出现此问题,一定要注意。
2、从参数中读取中文
这正好与在网页中输出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文问题
一个较简单的方法是:在“控制面扳”中,把“区域”设置为
“英语(美国)还会出现乱码,还可进行如下设置:
取中文时:str=new String(str.getBytes("GB2312"));
向DB中输入中文:str=new String(str.getBytes("ISO-8859-1"));
3.String类的一点说明:
String a = "test";
String b = "test";
则a==b,a.euqals(b)都输出ture
String a="test";
String b=new String("test");
则a==b输出false,a.equals(b) 输出true;
因为String a="test";建立了两个对象,相当于:
String temp=new String("test");
String a=temp;
而String b=new String("test")
只建立了一个对象.
4.数据转换相关问题:
41. 字符串转换成整数:
String MyNumber ="1234";
int MyInt = Integer.parseInt(MyNumber);
42. 整数转换成字符串:
int MyInt = 1234;
String MyString = "" + MyInt;
43. 十进制整数转换成二进制整数,返回结果是一个字符串:
Integer.toBinaryString(int i);
44.其它进制到十进制的转换
五进制字符串14414转换成十进制整数,结果是1234:
System.out.println(Integer.valueOf("14414", 5);
Integer和Long提供的valueOf(String source, int radix)方法,可以
将任意进制的字符串转换成十进制数据。
5.IDE相关:
(以下是个人观点):
众所周知,javaIDE满街都是,如果你想成为一个优秀的javaer,
而不是仅仅把java当做一个工具来使用,那么刚开始的时候一定
不要用集成的IDE,一定要从jdk的基础命令中理解java编译运行的过程
推荐: linux: vim+jdk5+ant
windows: editplus+jdk5+ant
当你已经基本掌握java.util中的基本数据结构与算法,需要进行gui和web设计时:
推荐:eclipse(btw.一定要明白IDE为你做了什么)
p.s.相信我,我可是深受IDE之苦阿!
Q:jdk中bin下面的命令是干什么的?
A:javac 编译用的
appletviewer 是看applet用的
jdb 是调试用的
jar 是打包用的
javaw 是没有console窗口跑java的
javah 是帮助
Q:如何显示源程序中使用的所有类?
A:javac -verbose source.java
Q:如何编译多个.java?
A:1.javac -d . a.java b.java c.java(.是当前目录)
2.有个工具叫ant
Q:如何实现动态数组?
A:Vector,ArrayList
Q:如何实现多维向量(动态多维数组,广义表)?
A:1.Vector v1=new Vector();
Vector v2=new Vector();
HashTable ht=new HashTable();
ht.put("guahu1",v1);
ht.put("guahu2",v2);
2.Vector v1 = new Vector();
Vector v2 = new Vector();
v1.add(v2);
Q:如何在程序中调用系统命令?
A:String cmd="ls";
Runtime.getRuntime().exec(cmd);
Q:如何反编译.class文件?
A:有个程序叫jad
jad -a source.class后生成source.jad
然后把source.jad重命名为source.java
Q:如何把.class 或 .jar转换为.exe
A:请住手!你违背了java的原则
如果你真的要这样,那就...
用Excelsior JET制作exe文件,
http://www.excelsior-usa.com/jet.html下载
Q:java里有什么简单易用的输入对话框?
A:JOptionPane.showInputDialog("Say Hello");
import java.swing.*;
Q:eclipse中如何导入javadoc:
A:下载jdk_docs.jar解包 $JDK_HOME/lib
设置 eclipse 的 window -> preferences -> install JRE ->
把这个设置成使用jdk目录下的,按‘编辑’按钮,
里面有jdkdoc的目录选择栏
光标转移到类的方法上,使用shift-F2,查看--