java基础学习日记(8)——数据类型和运算符(注释,标识符,关键字,变量,常量)
一、注释
注释只会存在源码里面。
1、单行注释:以//开头,后面为注释内容。
2、多行注释:以‘/*’开头,以‘*/’结尾,注释内容在中间。不能嵌套使用。可以做行内注释。
3、文档注释:‘/**’开始,以‘**/’结尾。在IDE里面,打出开头,回车即可,生成相应的API文档。
二、标识符:给变量、类、方法以及包进行命名。
1、标识符的使用规范
(1)标识符必须以字母、下划线、美元符号$开头。
(2)标识符的其他部分可以是字母、下划线、美元符号$和数字的任意组合。
(3)java标识符大小写敏感,且长度无限制。
(4)标识符不可以是java关键字。
2、使用规范
(1)表示类型的标识符:每个单词的首字母大写。
(2)表示方法和变量的标识符:第一个单词小写,第二单词开始大写。驼峰原则。
(3)标识符不采用通用语言的ASCII字符,而是采用Unicode这样的标准国际字符。字符的含义不仅仅包括英文,还包括汉字,但是建议仅仅使用英文。
3、java中的关键字/保留字
不用刻意去背,以后经常使用就自然清楚了。
三、变量
1、变量的本质:代表一个可操作的存储空间,空间位置是确定的,但是里面放置的值是不确定的。可通过变量名来访问对应的存储空间,从而操纵这个存在空间里面的值。
(1)变量作为最基本的存储单元,要素包括变量名、变凉类型和作用域。
(2)变量在使用前必须对其声明,声明后才能分配给它相应长度的存储空间。
(3)变量有类型;变量名必须是合法标识符;变量声明是一条完整的语句,以分号结束。
(4)一行可声明多个变量,建议单个建议。
2、变量的分类
(1)局部变量(local variable):方法或语句块内部定义的变量,生命周期从声明位置开始到方法或者语句块结束。
使用前必须初始化。
(2)成员变量(实例变量/member variable):方法外部、类的内部定义的变量。从属对象,生命周期伴随对象的始终。
自动初始化该类型的默认值:
(3)静态变量(类变量/static variable):static定义。从属类,生命周期伴随类的始终,从安装到卸载。
3、常量(constant):值不变。
4、变量和常量命名规范:
(1)所有变量、方法、类名:见名知意。
(2)类成员变量:首字母小写和驼峰原则。
(3)局部变量:首字母小写和驼峰原则。
(4)常量:大写字母和下划线。
(5)类名:首字母大写和驼峰原则。
(6)方法名:首字母小写和驼峰原则。
四、基本数据类型(primitive data type)
1、基本数据类型
(1)数值型:整数类型(byte、short,int,long);浮点类型(float,double)。
(2)布尔型(Boolean):一位,一个bit
(3)字符型(char)
2、引用数据类型
引用变量、对象。空间是四个字节,用来代表对象的地址。
(1)类(class)
(2)接口(interface)
(3)数组
3、整形数据类型/常量
4、java语言整形常量常用的几个进制。
(1)十进制整数
(2)八进制整数:以0开始,如012
(3)十六进制数:以0x或者0X开头:如0x12
(4)二进制数:以0b或者0B开头,如:0b0111011
5、长整型常数的声明:在数据结尾处加上L。
6、浮点型变量/常量(单精度/双精度):不精确的。
float:占用4个字节。
double:占用8个字节。
(1)常见的表现形式:十进制、科学计数法。
(2)浮点型数据默认double类型数据,定义float类型,必须使用在结尾加上F。
(3)精确浮点运算:比较浮点型数据,可以用java.math包下面的两个类:biginteger和demical。
7、字符型变量/常量
(1)char字符:使用Unicode编码。
(2)字符型的十六进制表示方法:char c='\u0061';
(3)转义字符:遇到+,字符自动转化成数字相加。‘\’
(4)string是字符序列。
8、Boolean类型变量/常量
有两个常量值:true和false。在内存中占据一位(不是一个字节),不可以用0或者1来代替。
五、运算符(operator)
1、算术运算符
(1)算数运算符中+-*/%属于二元运算符。
二元运算符指的是需要两个操作数才能完成运算的运算符。
(2)二元运算符的运算规则
整数运算:
①如果两个操作数有一个为long,那么结果也是为long。
②没有long时,结果为int。即使操作符为short,byte,结果也是int。
浮点运算:
①如果两个操作符有一个为double,结果为double。
②只有两个操作符都为float的时候,结果为float。
取模运算
①其操作数可以为浮点数,一般为整数,结果是‘余数’,余数符号和左边操作符相同。
(3)++、--属于一元运算符
b=a++:表示a先赋值再自增。
b=++a:表示a先自增载赋值。
2、赋值及扩展赋值运算符
先算后面,即右边的结果。
3、关系运算符
(1)=是赋值运算符;判断两个操作数是否相等的运算符是==。
(2)关系运算符的结果是布尔值,true或者false。
(3)==、!=是所有(基本和引用)数据类型都可以使用。
(4)<、<=、>、>=仅针对数值类型(byte、short、int、long,float、double以及char)。
4、逻辑运算符
逻辑运算符的操作值和运算结果都是布尔值。
5、位运算符:按位进行操作
6、字符串连接符
+左右两边任意一个是字符串,系统自动转换成连接符。
7、条件运算符
语法格式:x?y:z
x为Boolean类型表达式,先计算x的值,若为true,则整个的运算结果为表达式y的值;若为false,则整个运算结果为表达式z的值。
8、运算符的优先级
(1)表达优先级,优先使用小括号。
(2)逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)
9、自动转换类型:容量小的数据类型可以自动转换成容量大的数据类型。
(1)整形常量可以直接赋给byte、short、char等类型变量,不需要强转。只要不超过表数范围。
10、强制类型转换:高精度转化低精度会损失容量。
11、操作比较大的数时,要留意是否溢出。
(1)不要命名名字为l的变量,l和1容易混淆。
(2)Long类型使用大写的L,不要使用小写。
12、简单的键盘输入和输出
(1)使用scanner获取键盘输入。(system.in一个io流对象)