本文章基于b站:BV1fP4y147zf 赵珊珊老师的java课程的学习加以个人理解做出的学习笔记整理。(p32-p49)
目录
变量
变量本质上代表着可操作的存储空间,其在内存中具有确定的位置。然而,变量存储的具体值是不确定的。我们可以通过变量名来访问对应的存储空间,并操作其中存储的值。在Java这样的强类型语言中,每个变量都必须声明其数据类型。变量的数据类型决定了它所占据的存储空间大小。例如,int a = 3; 表示变量a占用4个字节的空间。作为程序中最基本的存储单元,变量由变量名、变量类型和作用域等要素构成。在使用变量之前,必须先声明它们,只有在声明后才能为其分配相应长度的存储空间。
局部变量:定义在方法中;
成员变量:定义在类中,方法外;
数据类型
整数类型
输出结果默认为十进制
浮点类型
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。
float类型的数值有一个后缀F或者f,没有后缀F/f的浮点数值默认为double类型。
也可以在浮点数值后添加后缀D或者d,以明确其为double类型。
PS1:有效数字指的是从左开始第一个不为0的数到最后一个数。
0.003005 有效数字3005 四位;300.005 有效数字 六位
PS2:int和float都是4字节,为什么表数范围不同?
float的存储_ElysiaY的博客-CSDN博客
占用内存大小不同
字符型
本质上是对应的码的运算
乱码问题
布尔类型
boolean类型有两个常量值,true和false,在内存中占一位(即0(false)或1(true),不是一个字节),不可以使用О或非О的整数替代true和false,这点和C语言不同。boolean类型用来判断逻辑条件,一般用于程序流程控制。
类型转换
特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行强转了,直接赋值即可。
不要数据溢出就不需要强转。
final关键字
【1】提取变量:就是为了一劳永逸,以后只要改变变量的值,下面只要用到这个变量的地方,取值也都发生改变。
【2】一个变量被final修饰,这个变量就变成了一个常量,这个常量的值就不可变了
这个常量就是我们所说的字符常量---》pi;字面常量:不用final修饰的:int age=18;
约定俗成的规定:字符常量的名字全部大写
【3】扫描器Scanner:①导入import java.util.Scanner;②Scanner sc = new Scanner(System.in);③int r = sc.nextInt()注:接收char类型:①接受字符串String str = sc.next();②获取字符串(由一个个字符组成)中的第一个字符Char ch = str.charAt(0)
合成一句话:Char ch = sc.next().charAt(0);