E:\IT\JAVA\thinkinjava.chm中有一篇对比C++和java的文章,等java了解一定程度之后,学习一下。以致能够明确区别出java和C++的区别。
J2se 为什么开发的时候是下载j2se1.4 而不是jdk?
J2se就是j2Sdk?
安装完之后需要配置classpath类路径和系统path
设置classpath: 环境变量设计 变量名=classpath变量值=…sdk\lib等等
设置path: 选择path,增加j2se的bin目录
Java编译安装配置环境就完成了 可以通过cmd -> java –version可以确定classpath设置成功
cmd -> javac可以确定path设置成功.
Java公开库文档又称为类文档 sun网站上下载j2se_1.4.2_doc.zip
帮助文档要经常用.
用记事本编译java程序文件,保存.java的文件就可以了
编译方法:
Cmd->current dir-> javac welcome.java即可 注意大小写
在java代码的当前目录可以看到一个welcome.class的文件这个文件就是java编译之后的文件
在cmd->java welcome就运行了刚才那个程序
main函数必须是public static类型
注释:
//
/* */
/** */ 这种注释用来产生注释文档
Java大小写敏感
如果文件只有一个类那么文件名必须跟类型一致
一个文件
一个文件中只能有一个public类
如果文件中不止一个类那么文件名必须与声明为public的类的类名保持一致
如果文件中不止一个类并且没有public类,则文件名可以与文件中任何一个类名保持一致
如果类中有main方法那么main一个在文件中public类中
如果类中有main方法没有public 文件名必须与包含main方法的类名保持一致
编译与解释
解释器器是不带java扩展名的如:java welcome 否则报错如java welcome.class
编译器是要带java扩展名的如:javac welcome.java 否则报错如javac welcome
Java 程序流程:
变量的引用
传值引用:主要针对基本类型
传址引用:主要针对对象类型传递的是一个对象句柄的拷贝
变量初始化:全局变量(类似于C++中的成员变量)会自动初始化,局部变量不会初始化,编译时会报错。
常量:java中以关键字final声明一个常量 final double CM_PER = 3.14(C++中用const)
习惯上常量名大写
关系运算符的短路现象:
If(a.test1 &&a.test2 && a.test3)
如果a.test1=true a.test2=false 那么 test3就不会计算结果了,因为整个表达式的结果已经有了。
逗号运算符:唯一使用场所就是在for循环中
转型运算符:(int)25.55
String s = new String(“hello”); s是一个对象句柄
标签语句:唯一用到标签的地方就是循环语句类似于c++中的共同语句。
Java的核心内容: 类 、对象 、包
设置器和访问器:get() set()
一般用来设置和访问私有数据。
Java中java的公开包都是以java或者javax开头的
声明包用package
在文件头加上 package com.chap;
引用其他的包 Import java.swt.clore Import java.swt.*
如果声明包和导入包共同存在一个文件中则声明包要放在最前面
设计类时需要注意以下几点:
1、 永远保持数据私有
2、 永远初始化数据
3、 不要再一个类中使用太多的基本类型(不同意,设计时更多的考虑对象,如果对象需要,再多的基本类型也是必须的)
4、 尽量是类的功能单一化
数组: int[] a; int a[]; 不指定大小的是没有空间的
需要 a = new a[100]; 来分配空间
数组大小 a.length;
数组属于对象类型
在java中有个Arrays类用来操作数组
所以对数组的操作可以用Arrays来操作
Java中system类的概念???
Java中处理文本的类主要有 String和StringBuffer类
String类用来出来数据量比较小的 反之 用StringBuffer类
String创建的事静态的文本StringBuffer创建的是动态的文本,所以后者更适合处理大量文本的情况。
NumberFormat类 用来格式化特定格式的 如 货币 日期 等
toString()方法是java内含的一种方法,每个对象都有,Date date = new Date(); date.toString();
几乎每一个类中都有一个toString方法,我们自己设计的类中最好也要加上这个方法。
Java中继承是用extends来标识 所以 有的时候 继承又称为扩展
调用父类构造函数用super super可以带参数 用来初始化父类的变量
Java所有类都是从object中继承过来的
接口
接口只负责指定规范但不去管规范的实现
接口用interface去定义都是public类型其方法也是public的
实现接口用implements来实现的
实现接口必须实现接口的所有方法
EJB是什么???
Abstract 用来申明抽象类
抽象类可以有方法和数据
抽象类相当于C++的虚类
接口相当于C++的纯虚类