Java编程基础(一)
1. java基本语法
1.1 Java基本格式
修饰符 class 类名 {
程序代码
}
- Java严格区分大小写,例如不能将class关键字写成Class, java编译器将不能识别。
- Java程序中连续的字符串不能分行写;如果想分行写,可以写成两个字符串,中间用+号连接即可。
- 每一语句以分号结尾。
1.2 java注释
1.2.1 功能:
增加代码可读性,方便阅读,它只在源文件中有效,编译时编译器会忽略这些信息,不会将其编译到class文件中。
1.2.2 分类
注释分为三种类型:
- 单行注释
通常用于对某一行代码进行解释说明,用符号//表示,后面跟注释内容,具体事例如下:
int c = 10 //定义一个整数
- 多行注释,
顾名思义,多行注释就是注释中的内容可以有多行,它以符号“/*”开头,以“*/”结尾,多行注释不可嵌套。
例如:
/*
int c=10; 既不想删除代码,又不想使用,可以使用多行注释
int x=5;
*/
- 文档注释
文档注释是一段代码的注释说明,可以使用javadoc将文档注释提取出来生成帮助文档,文档注释不可嵌套。
格式: Javadoc –d 文档的存储路径 [–version –author] 目标文件
-version 和 –author可选,表示要不要在帮助文档中添加版本号和作者。
要想使用javadoc生成帮助文档,类必须要用public修饰
1.2.3 注释的使用细节:
1. 给那条语句进行说明,注释应该写在该语句的旁边。
2. 单行注释一般写在语句的后面多行注释和文档注释一般写在语句的上面
注意:文档注释只能出现在类、属性、方法的上面。
1.3 关键字
关键字是编程语言事先定义好并赋予特殊含义的单词,表示一种数据类型,或程序的结构,也称作保留字。Java中保留了许多的关键字,例如class,public等。
不必花费时间去记忆,用的多了,自然就记住了。
1.4 标识符
在编程过程中,经常需要在程序中定义一些名称,如包名,类名,接口名等。这些符号称为标识符。
注意事项:
- 标识符只能由任意顺序的大小写字母,数字,下划线(_),和美元符号($)组成
- 标识符不能以数字开头
- 标识符不能是java中的关键字
编程习惯:
- 包名所有字母一律小写,如cn.itcast.test.
- 类名和接口名的每个单词的首字母要大写,如ArrayList, Iterator.
- 常量名的所有字母一律大写,单词之间用下划线来连接,如DAY_OF_MONTH
- 变量名和方法名的第一个单词的首字母小写,其他单词首字母大写,如lineNumber,
- 在程序中,应尽量使用有意义的英文单词来定义标识符,使程序便于阅读。如使用userName来标识用户名,passWord来表示密码。
1.5 Java中的常量
常量是指在程序运行过程中其值不能改变的量。
常量的分类:
|
- 整型常量
有三种形式,分为十进制,二进制,八进制,十六进制
十进制: 都是以0-9这九个数字组成,不能以0开头。
二进制: 由0和1两个数字组成。
八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以ox开始。
进制:一种记数方式,用有限的位数来表示所有的数
在生活中,我们最常接触到的是十进制,因为人类在计算时自然而然使用十个手指计数
但是在计算机中使用二进制来存储数据,因为这样实现起来最简单,硬件实施方便,由于二进制数据书写和记忆十分不放便,于是产生了八进制和十六进制,3位二进制相当 于一位8进制,4位二进制表示一位十六进制。
人使用的十进制 、 计算机底层处理的数据是二进制、八进制、十六进制,
2.浮点数常量
浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数,单精度浮点数用f或F结尾,双精度用D或d结尾,若不加后缀默认为double型.
浮点数常量还可以通过指数形式来表示例如:
2e3f 3.6d 0f 3.84d 5.022e+23f
3.字符常量
字符常量表示一个字符,由一对英文半角格式的单引号引起来,他可以是英文字母,数字,标点符号,以及由转义序列来表示的特殊字符。例如
‘a’ ‘1’ ‘&’ ‘ ’
转义字符():用于转义后一个字符,来表示特殊的含义。常见的由转义序列表示的特殊字符有:
: 表示回车符,将光标定位到当前行的开头,不会跳到下一行。
:表示换行符,跳到下一行的开头。
: 表示制表符:将光标移到下一个制表位,就像Tab键的功能一样。
: 表示退格符,就像键盘上的Backspace键的功能一样。
’: 在字符串中表示一个单引号,去除单引号表示字符的开始结束的功能,若不转义java编译器会认为前面两个是一对,而报错。
”: 在字符串中表示一个双引号,去除双引号表示字符串的开始结束的功能,若不转义java编译器会认为前面两个是一对,而报错。
\: 去除转义字符的功能,表示字面上的.
4.字符串
用来表示一串连续的字符,用” “表示字符串的开始与结束。
5.布尔常量
布尔常量只有两个值true和false,该常量用于区分一个事物的真和假。
6.Null
Null常量只有一个值null,表示对象的引用为空。
1.6 Java中的变量
在程序运行期间会产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元用标识符来表示,标识符的值就是变量名,内存单元的值就是变量的值。可以说变量就是一个存储数据的容器,里面的值可以时常更新。
定义变量的数据类型,其实就是定义内存单元里大小,不同的数据存储所需的内存单元也不同。
8种基本数据类型:Java语言中内嵌的,具有相同大小和属性。
整数类型变量(byte,short,int,long) 浮点数类型变量(float, double) 字符类型变量(char) 布尔类型变量(boolean) |
1.整数类型变量
整数类型变量用来存储整数类型的值,因为定义一个变量就要调用不同大小的内存空间,为了能合理的分配存储空间,整数类型分为4种不同的类型,其存储空间和表示范围如下:
byte 1个字节 -27 ~ 27-1
short 2个字节 -215 ~ 215-1
int 4个字节 -231 ~ 231-1
long 8个字节 -263 ~ 263-1
如一个int类型的变量要占有4个字节的内存空间,表示的数值可以从-27 ~ 27-1。
赋值时如果一个值超过了int类型所表示的范围,后面必须加上l或L因为常量默认为int类型,超过了可以表示的范围,使用会报错。
2.浮点数类型变量
在Java中浮点数类型有单精度(float)和双精度(double)之分,double型所表示的浮点数比float更为精确。
当给float类型变量赋值时,小数后面必须加上f或者F,因为浮点型常量默认为double类型变量,大范围赋给小范围,会报错。
3.字符类型变量
用于存储一个单一字符,在java中用char表示,每个char类型变量占有两个字节。
也可以将char类型的变量赋值为0~65535范围内的整数,计算机会自动将整数所对应的字符,如:
char c = ‘a’;
char ch 97;
4.布尔类型
用于存储布尔值true和false,在内存中占有一个字节。具体事例如下:
boolean flag = false;
flag = true;
1.7 变量的类型转换
当把一种数据类型的变量的值赋给另一种数据类型的变量时,需要进行数据类型转换,因为这两种数据类型在内存空间存储的格式不同,必须予以转换。
一.自动类型转换(隐式转换)
自动类型转换必须满足两个条件
- 两种数据类型彼此兼容,
- 目标类型的取值范围大于源类型的存储范围。
例如:
Byte b = 3;
Int x = b;
由于int类型的取值范围大于byte类型,编译器在赋值过程中不会造成数据丢失,所有编译器自动完成了转换,在编译时不报告任何错误。
二.强制类型转换
强制类型转换也叫显式转换,指的是当两种数据类型彼此不兼容,或者目标类型的取值小于源类型时,就需要进行显式的声明,进行强制类型转换。
如: int num = 4;
Byte b = num;
出现了可能损失精度的报告,在这种情况下需要进行强制类型转换。具体格式如下
Byte b =(byte)num;之后,就不会报错了。
但强制转换后,极有可能损失精度,因为byte只能一个字节,int有4个字节,转换后,int前三个字节存储的数据都丢失了,只留下最后一个字节的数据。
注意:byte型的变量在运算期间会自动提升为int型,如果还要赋给一个int类型的数据,要进行强制转换,如:
Byte b1 = 3;
Byte b2 = 4;
Byte b3 = b1 + b2;
会报损失精度的错,所以要将最后一句改为 byte b3 = (byte) (b1+b2);
1.8 变量的作用域
变量需要先定义后使用,它在哪个大括号内被定义,它就只能在这个大括号范围内使用,不能超出范围。