学习笔记day03


常量

常量是指一直不变的量,是一个固定不变的值

常量的分类包括以下几类

整数型常量:默认类型是int

浮点型常量:默认类型是double

布尔型常量:只有固定了两个 true,false

字符型常量:值需要使用''包裹

字符串常量: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.自增自减运算的优先级比其他算术运算符高