一.类型转换
byte,short,char—>int—>long—>float—>double
低————————————————————>高
- 由于java是强类型语言,运算中需要把不同的数据类型转换为同一类型,再进行运算。
- 类型转换由低到高自动转换,由高到低强制转换。
//类型转换
int i1 = 128;
byte i2 = (byte) i1;//强制转换
double i3 = i1;//自动转换
System.out.println(i2);//输出-128,byte类型表示范围-128-127,超出范围的数字转换存在内存泄漏的问题
System.out.println(i3);
//强制转换:高转低 (类型名)变量名
//自动转换:低转高
/*注意点:
不能对布尔类型进行转换
不能对不相干的类型进行转换
高容量转低容量需要强制转换
转换时超出表示范围的需要考虑内存溢出和精度问题
*/
//精度丢失
System.out.println((int)12.4);//输出12
System.out.println((int)-12.4);//输出-12
//向0舍
//JDK7新特性,大数字之间可以用下划线隔开
int money=10_0000_0000;
int years=20;
long total1=money*years;//输出-1474836480,total1默认为int类型
long total2=(long)money*years;//正确输出,计算前先进行转换
System.out.println(total1);
System.out.println(total2);
二.变量
1.变量
-
变量即内存里的一小块空间,是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域,每个变量都需要声明其类型
type varname [=value]; //类型 名字 = 值;
-
每个变量都要有类型,可以是基本数据类型,也可以是引用数据类型
-
变量名都必须是合法的标识符
-
变量声明必须是一条完整的语句,以分号结束
2.变量作用域
-
类变量(从属于类)
-
实例变量(从属于对象,必须创建对象才可以使用)
-
局部变量
/*类变量(静态变量),由static修饰,定义在类中,方法体外 随着类的消亡而消亡,存储在内存的方法区,方法(函数)内部可以直接调用,也可以创建对象后调用 */ static double salary=3000; //属性:变量 //实例变量:属于对象,在方法内需要创建对象才可以调用 //可以不进行初始化,数据类型默认为0/0.0,布尔类型默认为false,其他非基本数据类型都是null String name; int age; public static void main(String[] args) {//main方法,程序的起点 //局部变量:定义在方法体内,必须进行声明和初始化值,作用域仅在方法的花括号内 int i=10; System.out.println(i); //实例变量,先定义对象后使用 //定义对象:类型(自定义类demo1) 变量名=new demo1; demo1 d=new demo1(); System.out.println(d.age);//调用age System.out.println(d.name);//调用name //类变量 System.out.println(salary);//可以直接调用类变量 } //其他方法 public void add(){ // System.out.println(i); i无法输出 }
三.常量(constant)
-
常量初始化后不能再改变值,不会变动的值。
-
常量可以理解为特殊的变量,被设定值后,在程序运行过程中不允许被改变。
final 常量名 =值; final double A=1.134;
-
常量名一般使用大写字符
四.命名规范化
- 见名知意
- 类成员变量(变量名和方法名):首字母小写和驼峰原则(monthSalary,第一个单词小写,后面单词首字母均大写)
- 常量:大写字母和下划线(MAX_VALUE)
- 类名:首字母大写和驼峰原则(GoodMan)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具