本文主要内容:
关键字、标识符、变量、类型转换、进制转换、运算符
一、关键字
二、标识符
比如:类名,变量名,方法名,接口名,包名。。。
小技巧:直接在我的电脑输入cmd,就可以打开命令窗口
Java语言区分大小写
三、变量
类名,接口名:class后面的
常量名:圆周率之类的常量
变量名:int x; 这个x就是变量
如果不遵守以上规则,编译可以通过,但是应该养成这样的习惯
**定义变量的格式:**数据类型 变量名 = 变量值
说明:变量必须先声明,在使用
②变量都定义在其作用域内,在作用域内,它是有效地,换句话说,处了作用域,就失效了
③,同一个作用域内,不能声明两个同名的变量。
变量数据类型的分类
下面这张在第四章面向对象时详细说明
声明long型变量,必须以“l”或“L”结尾
long l1 = 3413233234L
2.浮点型:float(4字节)/double(8字节)
①浮点型,表示带小数点的数值
②float表示数值的范围比long还大
③定义float类型变量时,变量要以“f”或“F”结尾。
④通常,定义浮点型变量时,使用double型
3.字符型:char(1字符=2字节)
①定义char型变量,通常使用一对’ ',内部只能写1个字符
char c1 = ‘a’;
//c1 = ‘AB’; //编译不通过
②表示方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
char c3 = ‘\n’; //换行符
c3 = '\t; // 制表符
使用UTF-8保存,用GBK编译就会出现乱码
4.布尔值:boolean
①只能取两个值之一true、false
②常常在条件判断,循环结构中使用
四、类型转换
基本数据类型之间的运算规则
前提:只讨论7中基本数据类型变量之间的运算,不包含布尔类型
1.自动类型提升
当容量小 的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
说明:此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量。
byte、char、short–>int–>long–>float–>double
也就是说,byte、char、short这三种数据类型不管哪两个做运算,结果都会转成int型
2.强制类型转换
自动类型提升运算的逆运算
输出:12
(1).需要使用强转符:()
(2)注意点:强制类型转换,可能导致精度损失
注意的情况:
(1)long型变量可以不加l(如果数据不长,不超出int的范围,会自动按照int处理),但是float型数据必须加f,否则会报错
(2)整形常量,默认类型为int型,浮点型常量,默认类型为double型
5.字符串类型
String类型变量的使用:
(1)String属于引用数据类型
(2)声明String类型变量时,使用一对“”
String s1 = “ada”;
char型变量单引号’ '里面有且只能放一个变量,空格也可,但String型双引号里面可以不放也可以放一个到多个均可。
(3)String可以和8种基本数据类型变量做运算,且运算只能是连接运算。
输出:学号:1001
(4)运算的结果仍然是一个String类型。
练习2:
五、进制转换
关于进制
呈现出来的是十进制:
二进制到十进制的转换
十进制到二进制的转化:除二取余的逆。
六、运算符
最后等于2.0是因为:num1/num2是一个int型,但是把它赋值给了double,所以只是把2变成了浮点数而已
这个2.4是因为,先进行了类型升级,再运算,有小括号
这个说明,结果的符号与被模数的符号相同
前++:先自增1,后运算
后++:先运算,后自增1
前–:先自减1,后运算
后–:先运算,后自减1
自增1不会改变本身变量的数据类型
赋值符号: =
int num1 = 10;
num1 += 2; //num1=12
s1 += 2 这样写不会改变s1的数据类型,推荐这样写,因为不仅代码量变少,而且不会改变数据类型。
实现加1的操作,推荐 num++; 这个方式
结论:1.比较运算符的结果使Boolean类型
2.区分 == 和 =
1.逻辑运算符操作的都是布尔类型的变量
&和&&的区别:
相同点:&和&&的运算结果相同
相同点2:当符号左边是true时,两者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的计算,&&不再执行符号右边的计算。
| 与 || 的区别:
相同点1: | 和 || 的运算结果相同
相同点2:当符号左边是false时,两者都会执行符号右边的运算
不同点:当符号左边是true时, | 继续执行符号右边的计算,|| 不再执行符号右边的计算。
开发中,推荐使用 && 和 ||