持续更新中……
注释:出现在源程序中,解释说明。
分为:
单行注释
多行注释
javadoc注释:被javadoc.exe工具提取形成帮助文档,比较专业的注释。
类体中不能直接编写java语句,除了声明变量以外。
一个java源文件中可以定义多个class,一个java源文件当中不一定有public class,但public class定义的话,必须只能有一个,且名称得和源文件名称一致。
在java源程序中凡是程序员有权利自己命名的都是标识符。
标识符可以标志的元素:
变量名
方法名
类名
接口名
常量名
……
标识符的命名规则:
一个合法的标识符必须由下划线、字母、数字和美元符号组成。
不能数字开头。
严格区分大小写。
关键字不能作为标识符。
理论上无长度限制,但是最好不要太长。
标识符的命名规范:
只是一种规范,不遵守规范,编译器不会报错。
最好见名知意。
遵守驼峰命名方式:UserService
类名、接口名:首字母大写,后面每个单词首字母大写。
变量名、方法名:首字母小写,后面每个单词首字母大写。
常量名:全部大写。
Java中关键字都是小写的。
字面值:10、100、“abc”、‘a’、true、false
字面值就是数据,是源程序的组成部分之一。
数据在计算机中是有类型的:整型、浮点型、字符串型、字符型、布尔型。
注意:
Java语言当中所有字符串必须使用双引号,字符必须使用单引号。
关于Java语言中的变量:
1、什么是变量?
数据会占用空间,给空间命名一个值,比如a,那么a就是一个变量,本质上是内存中的一块空间,该空间有数据类型、名字、字面值。
变量是内存中存储数据的基本单元。
2、数据类型的作用?
不同的数据有不同的数据类型,分配的底层空间大小不同。
数据类型是指导程序在运行阶段应该分配多大的空间。
3、变量要求:变量中存储具体的数据必须和变量名的数据类型一致,否则会报错。
4、语法格式:
数据类型 变量名;
5、变量声明之后如何赋值?
语法格式:
变量名=字面值;
要求:字面值的数据类型必须和变量的数据类型一致。
等号是一个运算符,叫做赋值运算符,赋值运算符先运算等号右边的表达式。
6、声明和赋值可以放到一起完成。
int i=10;
7、变量赋值之后,可以重新赋值、变量的值可变化。
8、有了变量之后,内存空间得到了重复的使用。
9、通常访问一个变量包括两种形式:
(1)读取变量中保存的具体数据 get/获取
(2)修改变量中保存的具体数据 set/设置
10、变量在一行上可以声明多个。
int a,b,c;
11、变量必须先声明再赋值,才能访问。
在方法体中代码是从上至下执行。在同一个作用域中变量名不能重名,但可以重新赋值。
变量的分类:
(1)局部变量:在方法体中声明
(2)成员变量:在方法体外声明
1、什么是作用域?
变量的作用域就是变量的有效范围。在范围之内可以访问,出了范围就不能访问。
2.一句话:
作用域是出了大括号就不认识了。
1、数据类型的作用?
程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型不同,作用是指导JVM在运行程序时给该数据分配多大的空间。
2、分类
基本数据类型
引用数据类型
3、关于基本数据类型:
(1)整数型
byte,short,int,long
(2)浮点型
float,double
(3)布尔型
boolean
(4)字符型
char
4、字符串不属于基本数据类型,属于引用数据类型
5、占用空间大小(单位:字节)
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
6、计算机在任何情况只认识二进制。
现代的计算机底层采用交流电方式,接通和断开就两种状态。
7、什么是二进制?
满二进一
8、字节:
1 byte = 8 bit
一个比特位表示一个二进制位,1/0
9、整数型当中的byte类型,占用一个字节,所以byte类型的数据占用8个比特位。
最大值:01111111
最小值:11111111
0表示正号,1表示负号。
10、进制转换
11、计算机只认识二进制,那么计算机怎样认识现实世界中的文字?
人为干涉,提前制定好转换关系,即字符编码。
ASCII
乱码的出现是编码和解码没有用同一套字典。
字符编码
ASCII
GB2312/GBK
unicode
Java语言中标识符可以用中文。
12、8种基本数据类型取值范围:
关于Java语言中的char类型
转义字符 \出现在特殊字符前会将特殊字符转换成普通字符
换行字符 \n
制表符 \t
在Java中两个反斜杠代表普通的反斜杠
’ 代表普通的单引号字符
" 普通双引号
JDK中自带的native2ascii.exe命令,可以将文字转换成unicode编码形式。
反斜杠u联合起来后面的一串数字是某个文字的unicode编码。
关于Java中的整数类型
1、Java语言中的”整数型字面值“被默认当作int类型来处理。要让这个整数型字面值被当作long类型来处理的话,需要在整数型字面值后面加l/L.
2、java语言当中的整数型字面值有三种表示方式:
第一种方式:十进制【是一种缺省默认的方式】
第二种方式:八进制【在编写八进制整数型字面值的时候需要以o开始】
第三种方式:十六进制【在编写八进制整数型字面值的时候需要以ox开始】
关于Java中的浮点型
float 单精度【4个字节】
double 双精度【8个字节,精度较高】
相对来说,double精度太低,不适合做财务软件,涉及到钱的问题,要求精度较高,所以SUN公司提供了更高精度的引用数据类型:java.math.BigDecimal。
在Java语言中,所有的浮点型字面值默认被当作double类型处理,想要浮点型,需要在字面值后面添加F/f。
注意:
double和float在计算机中二进制存储的时候存储的都是近似值,在现实世界中有一些数字是无限循环的,在计算机中资源是有限的,用有限的资源存储无限的值所以是近似值。
关于布尔型数据类型
boolean
在Java语言中boolean类型只有两个值:true,false,没有其他值。不像c语言中,0和1可表示假和真。在底层存储的时候boolean类型占用一个字节,因为实际存储的时候false底层是0,true底层是1.
关于基本数据类之间的互相转换
1、八种基本数据类型中除布尔类型之外剩下七种类型之间都可以互相转换。
2、小容量向大容量转换称为自动类型转换,容量从小到大排序:byte
3、大容量向小容量转换为强制类型转换,需要加强制类型转换符,才能编译通过,但是在运行阶段可能损失精度。
4、当整数字面值没有超过byte,char,short的取值范围,可以直接赋值给byte,short,char。
5、byte,char,short做混合运算时,各自先转换成int类型再做运算。
6、多种数据类型混合做运算,先转换成容量最大的那种类型再做运算。
算术运算符
关系运算符
逻辑运算符
& 逻辑与(两边算子都是true,结果才是true)
| 逻辑或(两边算子只要有一个是true,结果就是true)
! 逻辑非(取反,单目运算符)
^ 逻辑异或(两边算子只要不一样就是true)
&& 短路与
|| 短路或
1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。
2、短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。
3、短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。
从某个角度来看,短路与比逻辑与更智能,由于后面表达式可能不执行。
字符串连接运算符
三元运算符