一、数据类型
数据类型包括:基本数据类型(8种)和引用数据类型。
基本数据类型:
①数值型:byte(1字节) < short(2字节) < int(4字节) < long(8字节)
②浮点型:float(4字节)< double(8字节)
③字符型:char(2字节)
④布尔型:boolean(8字节)
引用数据类型:String,数据,类,接口
※注意:8大基本类型在应用中均小写,类名称和引用类型的首字母需要大写。
eg:
1.1整型
语法:int 变量名 = 初始值 ; 示例:int a = 10 ;
※注意事项:
①int 定义的是一个整型变量,属于局部变量。
②int 为4字节,表示数据范围是:-2^31 ~ 2^ 31-1 , 默认值为:0
补:何为字节(byte)?
1 字节 = 8 个二进制位 ——》 1 byte = 8 bit 1KB = 1024 byte 1MB = 1024 KB
一个字节表示的数据范围为:-2^8 ~ 2^8 - 1 ——》 -128~127(最高位为符号位,0为正,1 为负)
1.2 长整型
语法:long 变量名 = 初始值 ; 示例: long a = 10L ;
※注意事项:
①初始值 10L 表示一个长整型的数字,不加L的话通常认为10 的类型为int, 其中l大小写都可以。
②long 类型占8个字节,表示数据范围是:-2^63 ~ 2^ 63-1 ,默认值为: 0
1.3 浮点型(单/双精度):
单精度:float
语法: float 变量名 = 初始值 ; 示例:float a = 1.0f ;
※注意事项:
①初始值 1.0f 表示float类型,不加 f 默认为double 类型,其中 f 大小写都可以。
②float 为4字节,表示数据范围是:-2^31 ~ 2^ 31-1 , 默认值为:0.0
双精度:double
语法: double 变量名 = 初始值 ; 示例:double a = 1.0 ;
※注意事项:
①初始值 1.0 不加 f 表示为double 类型,通常多使用double类型,较少使用float类型 。
②double 为8 字节,表示数据范围是:-2^63 ~ 2^ 63-1 , 默认值为:0.0
③执行结果若出现多为小数:只看小数点后6位。
④在除法运算中有小数时需要用double类型,如果用 整型 / 整形 = 整形 不会出现小数。
1.4字符型
语法:char 变量名 = ' 初始值 ' ; 示例:char a = ' A ' ;
※注意事项:
①JAVA中使用单引号 ' ' + 单个字母 的形式表示字符字面值(字面值:程序中直接写出来的值)。
②char 为2字节,因为在JAVA中一个字符占2个字节,所以只要是char类型均为2个字节,表示数据范围是:-2^15 ~ 2^ 15-1 , 默认值为:'\u0000'
1.5字节类型变量
语法:byte 变量名 = 初始值 ; 示例:byte a = 20 ;
※注意事项:
①字节类型表示的也是整数,只占一个字节,表示范围较小(-128~127),默认值为:0
1.6 短整型变量
语法:short 变量名 = 初始值 ; 示例:short value = 20 ;
※注意事项:
①short 占2字节,表示数据范围是:-2^15 ~ 2^ 15-1 (一般不使用) , 默认值为:0
1.7 布尔类型变量
语法:boolean 变量名 = 初始值 ; 示例:boolean value = true ;
※注意事项:
①boolean 类型的变量只有两种取值,true表示真,false表示假;默认值为 false
②boolean 类型与任何类型都不的转换。
③在JAVA中 boolean 在有些JVM中占1字节,有些也占1个比特位,这个没有明确规定。
1.8字符串类型变量
语法:String 变量名 = "初始值" ; 示例:String name = "zhangsan" ;
※注意事项:
①JAVA中用 双引号 + 若干字符 的方式来表示字符串字面值。
②和上面的基本类型不同,String 为引用类型且首字母要大写。
③字符串中表示一些特定的字符需要转义。
⑤字符串的 + 操作表示 字符串拼接,可以任意类型之间拼接。
1.9变量的作用域
变量分为: 成员变量和局部变量
成员变量:定义在类的内部,方法的外部。包括 普通变量和静态变量。
局部变量:定义在方法内部的变量,在方法的{ }内有效,局部变量出了方法的{ }后就销毁了。
作用范围:一般是变量定义所在的代码块(大括号)
1.10变量的命名规则
硬性指标:
①一个变量名只能包括:字母,数字,下划线 eg:int a_2 =10 ;
②数字不能开头 eg: int 2a = 10 ; //这种命名不正确
③变量名的大小写需要注意,即 Num 和 num 是两个不同的变量
④不能使用JAVA的关键字来作为变量名,eg:int ,class等等
软性指标:
①推荐 小驼峰命名法 (当一个变量命名有多个单词构成时,出第一个单词外,其他单词 的首字母都要大写)
补: 大驼峰命名法 :当一个变量命名有多个单词构成时,每个单词 的首字母都要大写
②变量命名要具有描述性,见名知意,但不宜使用拼音和美元符(合法但不合理)
1.11常量
常量:运行时类型不能发生改变,只能初始化一次,在编译的时候已经确定了值
①字面值常量
②final关键字修饰的常量
1.12类型之间的转换
规则:
小类型转大类型:小类型转大类型时是自动提升
①小类型的值自动赋值给大类型。 eg: long a = 20 ;
②小类型和大类型一起运算时,首先会将小类型提升为大类型再运算。
eg : int a = 10; long b = a + 10L ;(int +long ——》long+long)
大类型转小类型:需要强制转换(括号+小类型名),且容易造成数据精度损失。
eg:long a =10L ;int b = 11; b = a ; //编译错误,因为a为长整型大于整 型,需改为 b = (int)a ;
※注意事项:
①boolean类型不能与任何其他类型转换。
②对于数值型和字符型来说,小于4字节的数据类型,在储存是会转换为4字节储存。byte,char类型在储存时都会转换为4字节储存。
③当把byte类型保存区间(-128~127)之内的整数赋值给byte时,可以直接赋值,若超出范围则需要强制转换。
int 和String 之间的相互转换
int 转 String:int和String无法直接进行转换,需调用String.valueOf方法或者使用String对象+“”(方法一:任意类型和字符串相加,都可将该类型转换为字符串)
String转int:需调用int包装类Integer.parselnt()的方法
补:8种基本类型的包装类除了int——》Integer,char——》Character,其余的均为类型名首字母大写。 eg:double——》Double
二、运算符
2.1算术运算符
基本运算符:+ - * / %
※注意事项:
①int / int 结果还是int,所以需要用double 类型来计算。
② 0不能当作除数
③% 表示 取余,既可以对int求模,也可以对 double 求模。
增量赋值运算符: += -= *= /= %=
自增/自减运算符:++ --
注意 : a++ 表示先取值再加1 ++a 表示先加1 再取值
2.2 关系运算符
主要有六个: == != < > <= >=
注意:关系运算符的返回值都是boolean 类型,true or false
2.3逻辑运算符
主要有三个: &&(与) || (或) !(非)
※注意事项:
① && 和 || 均遵守短路求值的规则。
eg :(表达式1 && 表达式2 )若表达式1不满足将不进行表达式2 。
2.4位运算符
JAVA中对数据最小的操作单位不是字节,而是二进制位。
主要有四个:& | ~(取反) ^(异或)
2.5移位运算符
只有三个:
①左移<<:最左侧位不要了,最右侧补0。
②右移>>:最右侧位不要了,最左侧补符号位,正数补0,负数补1。
③无符号右移>>>:最右侧位不要了,最左侧补0。
注意:没有无符号左移这么一说!!
2.6条件运算符
条件运算符只有一个(三目运算符): 表达式1 ?表达式2 :表达式3
注释:表达式1是布尔表达式,若表达式1为ture,输出表达式2,为false,则输出表达式3。
2.7 运算符的优先级
技巧:想优先计算谁,就给谁加括号!!
三、注释:
主要分三种:
①单行注释: //注释内容
②多行注释: /*注释内容 */
③文档注释: /**注释内容*/
快捷键:ctrl + /