近段时间研究下java,感觉java现在越来越向C靠拢,用面向对象的思想来做这些事情。以前没有的东西它慢慢也添加进来了。由于用Java的人越来越多,特别是由于andriod的横空出世,对于智能机手机的剧烈冲击,必将预示着又一个Java大时代的来临,不光J2EE能放光了,J2ME也是不成多让。如今看java的进化趋势会把C中的精华加上自己的元素逐步吸收。扯了这么多就是想说一句话,我打算认真学习Java了。以前虽然接触过,但是没有认真系统的学习过。把自己在学习中发现的东西提出来和大家分享一下,一人智短。(学习所以教材是张孝祥的视频教程)1、枚举类型就是一个例子。枚举也可以成为享元的案例。享元我用自己的话概括就是如果有很多相似的对象,只有一两个内部属性不同,那么就把其定义为一个对象,不同的地方就用外部方法表示。举个例子大家就容易理解了,请看代码:
public class AutoBox { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Integer i1=333; Integer i2=333; System.out.println(i1==i2); Integer i3=3; Integer i4=3; System.out.println(i3==i4); } }
大家猜猜输出结果
先说Integer这个整数对象类吧,JDK1.5以后具有自动装拆箱功能后可以当对象用也可自动拆箱为数值。Integer这个类Java的高人们就是用享元模式写的,导致刚开始接触的人会犯一些低级的错误,我就是其中之下,但相信我也不是最后一个。Integer这个类共享对象的值是-127-128之间也就是一个bite的大小,再这个数值之间他们用的就是同一个对象,否则就是不同对象。
对了结果就是前面一个为true,后面那个为false。
2、对于For循环,Java有个增强用法挺好,很像C#的foreach。具体用法如下:(这个由于第一次接触不懂的地方多,就和大家都分享一下)
先看代码:
public class VariableParameter { public static void main(String[]args) { System.out.println(add(2,3,4,5)); System.out.println(add(2,3)); } public static int add(int x,int ... args) { int sum=x; /* for (int i=0;i<args.length;i++) { sum+=args[i]; }*/ for(int arg : args) { sum+=arg; } return sum; } }
/* 代码中用到了可变参数*/这又是和c学的
a、这里我们用到了这样一段代码:
for(int arg : args)
{
sum+=arg;
}
这个就是foreach的翻版。同样我们也看到了for增强的定义结构:
for(type 变量:变量数组)
b、还有一个知识点就是可变参数java1.5就可以用可变参数了,可变参数和c里面可变参数的语法结构类是“...”表示可变参数,然后还必须是在文件的末尾。
3、大家耳熟能详的一些东西的全称。
java EE--Java Platform,Enterprise Edition (java企业级应用程序版本)
JRE--Java Runtime Environment (java运行环境)
IDE--Integration Development Environment(集成开发环境)
JMX-Java Management Extensions(Java管理扩展)
JMS-Java Message Service (Java消息服务)
路漫漫而修远兮,吾将上下而求所。但凡偶有所得,必记录在案以备日后查询。