1、 java代码中的注释
作用:使部分内容只为程序员可见,不为编译器所编译、虚拟机所执行
位置:类声明前后、方法声明前后、属性声明前后、方法体中。(几乎可以在一个源文件任意位置,但不能在一个关键字字符中插入注释。)
类型:
1) 单行注释:
//text ——从 // 到本行结束的所有字符均作为注释而被编译器忽略
2) 多行注释:
/text/ ——从 /* 到 */ 间的所有字符会被编译器忽略
3) 文档注释:
/**test*/
——从”/**
“到”*/
“间的所有字符会被编译器忽略。
当这类注释出现在任何声明(如类的声明、类的成员变量的声明或者类的成员方法的声明)之前时,会作为JavaDoc文档的内容;
@author 类的作者
@version 类的版本
@param 方法的参数
@return 方法的返回类型
@exception 方法抛出的异常
@see 另外参照…
@since 从什么时候开始使用的
使用javadoc进行编译:
javadoc -d doc src/CommentTest.java
如果想显示出author和version
javadoc -d doc -author -version src/CommentTest.java
或者:
javadoc -d doc -author -version src/*.java
2、分号、代码块和空格
1) 每个语句短语以;结束 ;
类的声明最后不需要加;
public class Hello{ .... }
方法的声明最后不需要加;
public class Hello{
public void go(){....}
}
属性的声明最后一定要加;
public class Hello{
int id;
private String name;
public int age;
public void go(){....}
}
2) 代码段以{}结束;
常见的有:
类的声明后加{}
方法的声明后加{}
注意: 代码的{}后面都不加;
3) 空白处(空格、tab键、新行和回车(几个语句短语连接在一起))是无关紧要的。
3、标识符
类、方法和变量的名字
1) java标识符以字母、_和$开头,不能以数字开头,后跟字母、数字、“
_
”和“$
”的组合;
2) 大小写敏感
3) 没有长度限制
4) 不能是java中的关键字
4、关键字
Java语言的关键字是程序代码中的特殊字符。包括:
. 类和接口的声明——class, extends, interface, implements
. 包引入和包声明——import, package
. 数据类型——boolean(true or false 1 B 8 bit), byte(8), char(16), double(64), float(32), int(32), long(64), short(16)
. 某些数据类型的可选值——false, true, null
. 流程控制——break, continue, default, for, if, else, return, switch, case, do, while
. 异常处理——try, catch, finally, throw, throws
. 修饰符——abstract, final, native, private, protected, public, static, synchronized, transient, volatile
. 操作符——instanceof
. 创建对象——new
. 引用——this, super
. 方法返回类型——void
Java语言的保留字是指预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
. 所有关键字都是小写;
. friendly, sizeof不是Java语言的关键字,这有别于C++;
. 程序中标识符不能以关键字命名;
5、基本类型
Java语言把数据类型分为基本类型和引用类型
基本类型: float double byte short int long char boolean
引用类型: 类类型 接口类型 数组类型
整数
byte 8位
short 16位
int 32位 -2^31 ~ 2^31-1
long 64位
浮点型数据
float 32位
double 64位
boolean 8位
char 16位
(java中采用unicode编码, 所以是两个字节表示一个字符, 那也就是说在其他字符编码中可能不是使用两个字节表示一个字符)
6、boolean类型
true => 1
false => 0
7、char类型
和String比较:
char是基本数据类型,字符串String是类
字符串是由一个一个的char组成的
1) 字符编码
Java语言对文本字符采用Unicode字符编码。由于计算机内存只能存取二进制数据,因此必须为各个字符进行编码。
所谓字符编码,是指用一串二进制数据来表示特定的字符。常见的字符编码包括:a. ASCII字符编码
ASCII–Amecian Standard Code for Information Interchange(美国信息交换标准代码). 主用于表达现代英语
和其他西欧语言中的字符。它是现今最通用的单字节编码系统,它只用一个字节的7位,一共表示128个字符。b. ISO-8859-1字符编码
又称为Latin-1, 是国际标准化组织(ISO)为西欧语言中的字符制定的编码,用一个字节(8位)来为字符编码,与
ASCII字符编码兼容。所谓兼容,是指对于相同的字符,它的ASCII字符编码和ISO-8859-1字符编码相同。c. GB2312字符编码
它包括对简体中文字符的编码,一共收录了7445个字符(6763个汉字+682个其他字符. 它与ASCII字符编码兼容。d. GBK字符编码
对GB2312字符编码的扩展,收录了21886个字符(21003个字符+其它字符), 它与GB2312字符编码兼容。e. Unicode字符编码:
由国际Unicode协会编制,收录了全世界所有语言文字中的字符,是一种跨平台的字符编码。
UCS(Universal Character Set)是指采用Unicode字符编码的通用字符集。
Unicode具有两种编码方案:
. 用2个字节(16位)编码,被称为UCS-2, Java语言采用;
. 用4个字节(32位)编码,被称为UCS-4;f. UTF字符编码
有些操作系统不完全支持16位或32位的Unicode字符编码,UTF(UCS Transformation Format)字符编码能够把
Unicode字符编码转换为操作系统支持的编码,常见的UTF字符编码包括UTF-8, UTF-7和UTF-16.
2) char的几种可能取值
Java语言采用Unicode字符编码,字符占2个字节。
以下5种赋值方式是等价的:
字符用单引号引着
字符串用双引号引着
char c = 'a';
char c = '\u0061'; //设定"a"的十六进制数据的Unicode字符编码
char c = 0x0061; //设定"a"的十六进制数据的Unicode字符编码 0x开头的数字位16进制
char c = 97; //设定"a"的十进制数据的Unicode字符编码
char c = 0141; //设定"a"的八进制数据的Unicode字符编码0开头的数字位16进制
其他一些例子:
char a1 = 'a'; //一个字母
char a2 = '中'; //一个中文字符
char a3 = '\u0060' //unicode编码
3) 转义字符
Java编程人员在给字符变量赋值时,通常直接从键盘输入特定的字符,而不会使用Unicode字符编码,因为很难记住各种字符的Unicode字符编码值。
对于有些特殊字符,比如单引号,如不知道它的Unicode字符编码,直接从键盘输入编译错误:
char c = '''; //编码出错
为了解决这个问题,可采用转义字符来表示单引号和其他特殊字符:
char c = '\'';
char c = '\\';
转义字符以反斜杠开头,常用转义字符:
\n 换行符,将光标定位到下一行的开头;
\t 垂直制表符,将光标移到下一个制表符的位置;
\\ 反斜杠字符
\' 单引号字符
\" 双引号字符
8、整数类型
byte, short, int和long都是整数类型,并且都是 有符号整数 。与有符号整数对应的是 无符号整数 ,两者的区别在于把二进制数转换为十进制整数的方式不一样。
. 有符号整数把二进制数的首位作为符号数,当首位是0时,对应十进制的正整数,当首位是1时,对应十进制的负整数。对于一个字节的二进制数, 它对应的十进制数的取值范围是-128 - 127。
. 无符号整数把二进制数的所有位转换为正整数。对于一个字节的二进制数, 它对应的十进制数的取值范围是0 - 255。
在Java语言中,为了区分不同进制的数据,八进制数以“0”开头,十六制以“0x”开头
例如:
一个字节的二进制数 八进制数 十六进制数 有符号十进制数 无符号十进制数
---------------------------------------------------------------------------------------------------------------------------------
0000 0000 0000 0x00 0 0
1111 1111 0377 0xFF -1 255
0111 1111 0177 0x7F 127 127
1000 0000 0200 0x80 -128 128
9、浮点类型
java中表示小数的数据类型
浮点型: 默认数据类型是double
float (32位)
float a = 10.3f;
double (64位)
double a = 10.8d;
10、 变量的声明和赋值
程序的基本功能是处理数据
程序用变量来接收并表示数据;
程序中必须先定义变量才能使用;
定义变量是指设定变量的数据类型和变量的名字,定义变量的基本语法为:
数据类型 变量名;
Java语言要求变量遵循先定义,再初始化,然后使用的规则。变量的初始化是指自从变量定义以后,首次给它赋初始值的过程。例:
11、基本类型间的转换:
隐式转换: (不需要我们做什么,JVM自动转换)
byte a = 10;
int b = a;
显示转换: (需要我们手动写上转换的类型)
int a1 = 10;
byte b1 =(byte)a1;
byte a = 1;
byte b = 2;
int c = a+b;
float a = 8.9f;
double b = a;
float a = 8.9f;
double b = 10 - a;
double a = 8.9;
double b = 10 - a;
报错:
double a = 8.9;
float b = 10 - a;
12、推荐命名规则
1) 类名以大写字母开头;
2) 接口名以大写字母开头;
3) 方法名以小写字母开头;
4) 变量名以小写字母开头;
5) 常量名全部大写,多个单词以”_”连接;
13、理解对象
面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。面向对象的开发方法将软件系统看成各种对象的集合,接近人的自然思维方式。
对象是对问题领域中事件的抽象。对象具有以下特性:
1) 万物皆为对象。问题领域中的实体和概念都可以抽象为对象。
2) 每个对象都是惟一的。
3) 对象具有属性和行为。
4) 对象具有状态。状态是指某个瞬间对象的各个属性的取值。对象的某些行为会改变对象自身的状态,即属性的取值。
5) 每个对象都是某个类的实例。类是具有相同属性和行为的对象的集合。
同一个类的所有实例都有相同属性,但属性取值不一定相同。事实上,是它们的状态不一定相同。
同一个类的所有实例都有相同行为,意味着它们具有一些相同的功能。
14、创建类
类是一组具有相同属性和行为对象的模板。面向对象编程的主要任务就是定义对象模型中的各个类。
1) package sample;
包声明语句,将Java类放到特定的包中,便于类的组织、权限访问和区分名字相同的类。
2) public class Teacher {…}
类的声明语句,类名为Teacher, public修饰符意味着这个类可以被公开访问;
声明类的格式:
class 类名 {
类内容
}
3) private String name;
类的属性(也称为成员变量)的声明语句
4) public String getName( ) { return name; }
方法的声明语句和方法体
声明方法的格式:
返回值类型 方法名 (参数列表) {
方法体
}
返回值类型是方法的返回数据的类型, 如果返回值类型为void, 表示没有返回值。
方法名是任意合法的标识符;
参数列表可包含零个或多个参数,参数之间以逗号","分开。
方法体每个语句用";"结束;
方法体中使用return语句返回数据或结束本方法的执行;
15、创建实例
main()方法是Java应用程序的入口点,每个Java应用程序都是从main()方法开始运行的。作为程序入口的main()方法必须同时符合以下几个条件:
. 用public static修饰;
. 返回类型为void;
. 方法名为main;
. 参数类型为String[];
包含main方法的类又叫主程序类。
类创建好之后,通过new关键字创建具体对象。它有以下作用:
. 为对象分配内存空间,将对象的实例变量自动初始化为其变量类型的默认值;
. 如实例变量显式初始化,将初始化值赋给实例变量;
. 调用构造方法;
. 返回对象的引用;