网站列表如下:
IBM中国的开发者网站:http://www.ibm.com/developerworks/cn/
IBM中国for java的开发者网站:http://www.ibm.com/developerworks/cn/java/ 中文
IBM中国for java的开发者网站:http://www.ibm.com/developerworks/java 英文
Google代码目录网站:http://code.google.com/intl/zh-CN/more/里面有很多开源项目代码列表。
J道:http://www.jdon.com/ 大陆最牛的关注J2EE开发的网站
onjava:http://onjava.com/
adobe flex开发官方网址:http://www.adobe.com/products/flex/
经典Java网站theserverside:http://www.theserverside.com/
javaworld:http://www.javaworld.com/
java中文世界论坛:http://www.chinajavaworld.com/index.jspa
matrix and java:http://www.matrix.org.cn/main.shtml
版本控制SVN官方网站:http://subversion.apache.org/
Java官方网址:http://java.sun.com/
hibernate官方网址:https://www.hibernate.org/
Oracle官方网址:h ......
(
1
)
+=
:sum += 1;
相当于
sum = sum + 1;
(
2
)
++ --
:i++ i
加
1, i-- i
减
1, ++
或
—
放在数值后,表示执行运算后加(减)
1
,反正数值前表示执行运算前加(减)
1
(
3
)
?
: :
int n = a<10?1:2
表示如果
a
小于
10
则
n
等于
1
否则等于
2
(
4
)关系操作符:
&
表示与,如果前面为假依然判断后面的,
&&
则如果前面为假则不判断后面的,
|
表示或,如前面为真则还判断后面的,
||
如果前面为真则不判断后面的
(5)
按位操作符:
&
按位与,
|
按位或,
^
按位异或,
~
按位求反(按位操作均是将数字转换成二进制时的操作)
(
6
)移位操作符:
>>
向右移
n
为左补符号位,格式如
1356>>5
。
>>>
向右移
n
位左补
0
,格式如
: 1356>>>5
,
<<
向左移
n
位,右补
0
,格式如:
1356<<5
(
7
)转义符:
\
主要用于字符串中,因为有一些字符会表示一些特殊的键,如
t
表示制表键(
tab
),在字符串中为了将
t
与字符
t
区别就将其写成
\t
,如字符串
&rd ......
Java编写一个函数交换两个变量的值
Java函数在传递过程中只能够传值,不能传址。这样,函数的参数在函数内部做任何变化就都不会反映到外部调用者来。所以解决之道就是要找到要交换对象的引用。对于普通的值类型,像int或者double这样的可以改传他们的包装类Integer和Double。而对于本来就是引用类型的对象,则需要对他们再包一层。一个好的方法就是将参数列表改成数组,例如void
swap(Object[]); //数字应当只包含两个元素
下面以整数为例介绍三种交换两个值的算法,假设有这样的声明:
void swap(Integer a, Integer b)
方法一:采用临时变量
int temp = a.value;
a.value = b.value;
b.value = temp;
方法二:使用异或
a.value ^= b.value;
b.value ^= a.value;
a.value ^= b.value;
方法三:使用求和和求差
a.value = a.value + b.value;
b.value = a.value - b.value;
a.value = a.value - b.value;
......
1 import
2 package
3 修饰符
4 抽象类 接口
5 static
6 String相关
7 javadoc
8 异常
9 日期相关
10 输入输出流
11
一 import
import用于导入不同包中的类,不同包中的类名可以相同。
用*号只能导入一个包,不能使用 import java.* 或者 java.*.*类似的导入多个包。
导入的不同的包,含有相同的类名时,会编译错误,此时需要用包名和类名结合的方式唯一指定一个类。在c++中,与包名类似的是
namespace。using namespace std; import ****;
import 和include的区别:
java中可以通过在类名前加包名,避免使用import 而c++中的#include把外部文件加载进来,在编译的时候
二 package
package 用于指定将类放在指定的包中。如 package com.csdn.code 则类在包 com.csdn.code 包下。
若是一个类未指定public 和 private,则类的作用域是包可见。
三 修饰符
pr ......
项目是基于GMT时间的,在系统启动的时候,我们就会调用TimeZone.setDefault(timeZone)将默认时区设为GMT。
后来突然发现,有时用户选择的时间经过后台一圈后回产生8个小时误差。又是间歇性的,要他重现的时候又偏不来。苦心debug,终于发现在部分线程中,时区还是GMT+8,后台某个调用可能把时区变为了GMT,8小时误差就产生了。网上一搜,原来是bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6352812
只在部分电脑上有问题,幸好production上是好的,写了一个程序来测试:
import java.util.Date;
import java.util.TimeZone;
public class Test {
@SuppressWarnings("unused")
public static void main(String[] args) throws InterruptedException {
DateThread thread = new DateThread();
thread.start();
TimeZone gmt = TimeZone.getTimeZone("GMT");
Date now = new Date();
System.out.println("main thread,before set timezone:" + now.to ......
JEditorPane提供三种类型的文本显示,text/plain,text/html,text/rtf.
JEditorPane的简单用法DEMO如下:
package ibees.swing;
import java.awt.Toolkit;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
/**
* JEditorPane支持text/html,text/plain,text/rtf内容显示
* 此Demo主要展示了JEditor的用法和JFrame全屏的方法
* @author hhzxj2008
* */
public class JEditorPaneSample {
/**
* 在JEditor中显示HTML
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
JFrame jf = new JFrame("JEditorPane示例");
//text/html文本类型
final JEditorPane jep = new JEditorPane("http://csdn.net");
JScrollPane jsp = new JScrollPane(jep);//添加滚动支持
jep.addHyperlinkListener(new HyperlinkListener() {//添加链接点击监听者
@Override
public void hyperlinkUpdate(Hyperl ......