第三章 数据类型和运算符
1.1 Java 注释
用来解释说明某一个类、某一个功能、某一个属性的说明性文字,在日常的工作中,一定要编写注释,方便自己阅读和理解,也方便以后自己的代码供别人接手后查看,在Java 语言中,有三种注释,分别是单行注释、多行注释,和文档注释。
单行注释:使用 // 在后边添加说明性文字
多行注释:使用 /* / 在两之间添加说明性文字
文档注释:使用 /** /在第二个后添加说明性文字
示例如下:
package picc;
/**
- 文档注释
- 一个HelloWorld
/
public class HelloWorld{
private int age; // 单行注释
/
这是一个设值方法
/
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public static void main(String [] args){
System.out.println(“helloWorld”);
}
}
文档注释就可以生成文档API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
1.2 如何生成文档API
在java 工具中有一个 javadoc 工具,可以方便生成文档,使用参数如下
-d 一个目录,生成的文档存放位置。
-windowtitle指定一个字符串,用于设置浏览器titlt的标题 .java
-doctitle指定页面访问标题
-header 指定一个HTML 格式,包含每页的页眉。
F:\test>javadoc -d apidoc -windowtitle 测试 -doctitle javadoc 文档 -header 自定义类 HelloWorld
2 Java 的数据类型
Java 语言支持两种数据类型,一种是基本数据类型、另一种是引用数据数型,Java 是一种强类型语言,任何数据类型都需要先声明、再赋值、后使用。
2.1 基本数据类型包括:
byte 1 个字节 8位
short 2 个字节 16 位
int 3 个字节 32 位
long 4 个字节 64 位
char
float
double
boolean
2.2 引用数据类型:
数组 集合 对象
基本数据类型与引用数据类型的区别:基本数据类型不是对,没有方法,
3 Java 运算符
算数运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、类型相关运算符。
算数运算符:+、-、、/、%、++、-- 等
+、-、、/、% 比较简单就不多说了,而++ 和 – 要注意, 在变量前后的问题 如:a++ 就是先执行 a=a+1 再运算,而++a ,是先运算 再执行a=a+1。–一样的功能,示例:
int a =5;
//int b= a++ + 6; // 先执行 a+6 然后给 a+1 结果:a=6 b=11
int b= ++a + 6; // 先执行 a+1=6 然后给 6+6 结果:a=6 b=12 ++a 就等到 a+1
//int c =5++; // 语法错误,++ 或 – 不能与常量放在一起运算
System.out.println(a +"\t"+ b);
赋值运算符:用于为变量指定变量值。使用=做为赋值运算符。
String str=“abc”;
String stra=str;
int a =1;
JDK1.5后增加的新功能,基本数据类型的自动拆装箱。 可以把一个基本数据类型赋值给包装类。包装类,以后以说。
Integer inta=2;
Integer intb=2;
System.out.println(inta==intb);// 比较两个包装类对象值是否相等,返回的是true
Integer ina = 128;
Integer inb =128;
System.out.println(ina == inb); // false 这个比较就返回的false.
我们看一下源码Integer的实现。在Integer.java 的源码 559 行
static final Integer cache[] = new Integer[-(-128) + 127 + 1];
static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128);
}
}
在系统加载Integer类时,会在缓存中存储256个Integer数据,包括-128到127。也就是说,如果你比较的数在这个范围,就会返回同一个cache数组中的数,而大于这个范围,就会重新创建一个对象,所以第二个示列比较不相等。