Java基础学习之路-笔记day2

变量

概念: 变量就是内存中的空间, 空间有自己的名字, 空间内部所记录的数据是经常发生改变的.

		int a = 10;
		a = 20;
		a = 30;
		
变量的定义格式:

		数据类型 变量名 = 数据值;

变量的注意事项:

		1. 变量名不允许重复定义
		2. 变量在使用之前, 一定要完成赋值.
		3. 定义float类型的变量, 需要加入F的标识, F可以大写, 也可以小写
		4. 定义long类型的变量, 需要加入L的标识, L可以大写, 也可以小写, 但是建议大写(小写l太像一了)
		
		
字符串变量的定义:

		String 变量名 = "字符串值";

基本数据类型
整数类型:
byte 1个字节 范围 -128~127
short 2个字节
int(默认) 4个字节
long 8个字节
小数类型:float 4个字节
double(默认) 8个字节
字符类型:char 2个字节
布尔类型:loolean 1个字节 true 、false

引用数据类型:。。。。

类型的转换
隐式转换:
byte、short、char、int运算的时候会自动提升为int类型
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020021300140475.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l0emFuZw==,size_16,color_FFFFFF,t_70)

float虽然占用4个字节, 但取值范围, 要比8个的字节的long更大.
小数底层的二进制, 整数的二进制存储方式不一样, 小数会更省空间。

byte a=10;
byte b=20;
byte c=a+b;//报错 不兼容的类型。

注意1:
当小的数据类型与大的数据类型运算的时候,小的会提升为大的,然后在进行运算。

强制转换:
将大的类型赋值给小的数据类型,不能直接赋值,需要加入强制转换符。
double a = 12.33;
int b = (int)a;
注意:java 存在常量优化机制
3+ 4结果为int类型7 为什么这里int 类型复制给byte不报错?
在编译的时候javac的时候将 3 + 4 =7的结果算出 。.class的字节码文件中:byte b = 7; 还会自动判断,7是否在byte的取值范围内;不在就运行不通过。
运算符
算数运算符:
分类:= + - * / %
赋值运算符
分类 = :将符号右边的值赋值给左边。
+= -= *= /= :将符号左右两的数据做运算后赋值给左边的。
自增自减运算符:
++ –
++在前 会先完成变量的自身+1 ,然后在进行运算
++在后 先将变量原本的值,提出来进行运算,随后在进行运算。
int a = 10;
// 会将a变量原本记录的10, 提取出来, 给b变量赋值, 然后a再完整自身+1的操作
int b = a++;
System.out.println(a); // 11
System.out.println(b); // 10

int q=10;
q = q++;
System.out.println(q);//10

注意:++ --只能操作变量不能操作常量

发布了12 篇原创文章 · 获赞 2 · 访问量 1947

猜你喜欢

转载自blog.csdn.net/ytzang/article/details/104282649