数据类型转换
在Java中,数据类型具有等级之分,由低到高,分别为:
byte、short、char——int——long——float——double
在数据类型相互转换之时,需要注意高低等级之间的转换:
- 高等级转到低等级时,需要使用强制转换,强制转换可能会出现内存溢出和精度值不准确的现象。
例如:前文提及到byte的取值范围小,若使用int定义的值强制转换为byte,就可能出现值太大——不在byte取值的情况——即为内存溢出
在精度方面,当小数值——float、double等值转化为byte、short、int、long等值时,可能会出现小数部分被约分的情况,如0.5被约为0,导致精度出现问题,故当进行高等级到低等级的转换时,应当注意到这两个方面。 - 低等级转到高等级时,自动转换 。
变量
变量,顾名思义,就是可以变化的量,在Java中,每个变量都需要声明其类型,要素包括变量名、变量类型、作用域。
基本用法: 数据类型 变量名 = 值 ; 可以用逗号隔开来声明多个变量。
变量名及变量类型在前面笔记中已经说明。
故在此重点说明作用域:变量分为:类变量、实例变量、局部变量
通过下面的例子对上面三个进行说明:
- 类变量
- 与实例变量相比,多了关键字static
- static+数据类型+变量名 = 初始值;
- ps:在游戏中,一些固定不变的常量可以用类变量来设置,可以减少输入错误,找bug找半天的情况
- 实例变量
- 作用域更大,从属于对象——类;也叫全局变量
- 使用new+类名————加快捷键Ait+Enter
- 当无初始值时,默认值:0,0.0 布尔值的默认值为:false;除去基本变量外,其余的默认值皆为null
- 局部变量
- psvm两个大括号之间的变量;例如 int char
- 必须声明和赋初始化值
- 在大括号外无效果
上面为实例内容概括,具体内容在后面或许会提及 QAQ
下面为记录笔记过程中的一些代码:
package base;
public class Demo07 {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不进行初始化,这个类型的默认值 0 0.0 u0000
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值————只在这个中括号里有用
int i=10;
System.out.println(i);
//变量类型 变量名字 = new base.Demo07();
Demo07 demo07 =new Demo07();
System.out.println(demo07.age);
System.out.println(demo07.name);
System.out.println(salary);
Demo07 demo071 = new Demo07();//Ait+Enter
}
//其他方法
public void add(){};
}
常量
- 与变量相对应,是一种特殊的变量,其值在设定后,在程序运行过程中不允许被改变。
- 常量名一般使用大写字母来命名
- final 数据类型 常量名 = 值(static和final的顺序可以调换,无差别)————修饰符,不存在先后顺序
变量的命名规范(一定养成良好习惯)
- 所有的变量、方法、类名:见名知意
- 类成员变量:首字母小字和驼峰原则:monthSalary;lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则 例如Demo01
- 方法名:首字母小写和驼峰原则
在最后推荐一下秦疆老师的B站Java基础课:入口