学习笔记day03
常量
常量是指一直不变的量,是一个固定不变的值
常量的分类包括以下几类:
l 整数型常量:默认类型是int
l 浮点型常量:默认类型是double
l 布尔型常量:只有固定了两个 true,false
l 字符型常量:值需要使用''包裹
l 字符串常量:String类型 ,值需要使用""包裹
变量
变量是一个容器,内容可变,用于装数据或运算处理,一个变量同时只能装一个数据,Java中每个变量必须先声明,后使用。
语法:
1.数据类型 变量名; 特点:变量没有初始值
ex: int a;
2.数据类型 变量名 = 值; 特点:定义的时候同时赋值
ex: int b=100;
变量的赋值:
变量名=值;
ex: a=119;
b=120;
变量的取值:
一般将变量用于打印,要么用于计算
ex:
System.out.println(a);
int c=b+119;
变量的分类:
成员变量:定义在类里面的,而且在当前类里面都能使用,可以没有初始值,有默认值[具体的默认值和成员变量的数据类型有关]
byte、short、int、long ---默认值是0
float、double---默认值是0.0
boolean---默认值是false
char---默认值是空
String---默认值是null[所有引用数据类型默认值都是null]
局部变量:定义在方法或者代码块里面,只能在当前方法或者代码块里面使用,必须要先赋值再使用。
数据类型转换
这是一个将数据从一种类型转换到另一种类型的过程。
自动类型的提升:
在一个计算的表达式里面,表达式的结果由表达式里面最高类型决定:
byte -> short -> int -> long-> float-> double
char -> int -> long-> float-> double
boolean不能与其余其中基本数据类型转换。
byte与char 不能自动转换
char与short不能自动转换
1 byte e=127; 2 int i =1; 3 //自动类型提升 e提升为int 然后参与运算 4 int sum=e+i; 5 //byte-->short-->int-->long-->float-->double 6 double sum2=e+i; 7 //-----------------为什么char可以提升为int------------------ 8 char c='A'; 9 int n=c;//把字符'A'对应的ASCII码表的值赋值给变量n 10 System.out.println(c); 11 System.out.println(n);//65
整数型的常量 默认类型 int
浮点数的常量 默认类型 double
强制转换:
语法:
小数据类型 变量名 = (小数据类型)大类型值/大类型变量名;
解释:
(小数据类型) 把最终的结果转换为什么类型
注意:
所有的强制转换都有风险,可能会由精度损失
精度损失:转换的结果和我们预期的结果不一致
1 byte b=126; 2 //编译器只看类型 不看值 3 // byte int 4 byte n=(byte)(b + 1);//127 5 System.out.println(n); 6 //装置转换 7 float f=(float)3.14; 8 //强制转换都有风险,可能会由精度损失 9 byte n2 =(byte)(n+1); 10 System.out.println(n2);//-128
表达式
由一系列的常量、变量、运算符、括号()等组成的一个算术式,按照一定的运算规则计算出一个结果值。例如: 1 + 1 + 2*3
表达式的规律:
1.当表达式中所有的变量类型小于 int的时候,运算后的结果都会自动提升为int类型
2.当表达式中有变量类型大于 int的时候,运算后的结果以表达式中精度最高的为主
运算符
数学运算:
+ - * / %(取模--取余数)
10-int 3-int int/int 结果也是int int没有记录小数的能力
取模 本质就是取余数 10÷3=3——1(10%3=1)
加法:
+的常规用法-数学计算
+用于拼接字符串(字符串可以和任意数据类型拼接,只有String参与拼接的时候+才拼接)
拼接和运算一起使用时,表达式里面 String从哪个位置开始就从哪里开始拼接
自增自减
自增自减的符号是++、--
1.每一次变化的步长为1
2.++/--只能针对变量使用
++在前:先自增,再使用,使用的是自增后的值
++在后:先使用,再自增,使用的是自增前的值
3.自增自减运算的优先级比其他算术运算符高