Java基础语法2:变量与常量
类型转换
- 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
- 运算中,不同类型的数据先转化为同一类型,然后进行运算。
低-------------------------------------------->高
byte,short,char-->int-->long-->float-->double
-
把高类型转换到低类型的时候要采用强制类型转换
- 转换格式:类型(变量名)
- 可能存在内存溢出
-
把低类型转换到高类型的时候采用自动类型转换
-
总结进行类型转换时的注意点:
- 不能对布尔值进行转换
- 不能把对象转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
-
关于以上理论进行一下简单操作
public class Demo08 {
public static void main(String[] args) {
int i=128;
byte e=(byte)i;//-128 强制转换,内存溢出
double f=i;//128 低转高,自动转换
System.out.println(e);
System.out.println(f);
//强制转换 高-->低 (类型)变量名
//自动转换 低-->高 不需要加任何东西
/*
* 注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出,或者出现精度问题(比如小数转换的时候)*/
System.out.println("===================================");
//========================================================
System.out.println((int)23.7);//23 精度问题
System.out.println((int)-45.6);//-45 精度问题
System.out.println("===================================");
//========================================================
char v='a';
int c=v+1;
System.out.println(c);
System.out.println((char)c);
System.out.println("===================================");
//========================================================
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int year=20;
int total=money*year;//-1474836480,计算的时候溢出了
long total2=money*year;//默认是int,转换之前已出现问题,处理方法如下
long total3=money*((long)year);//先把一个数转换成Long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
- 运行后显示——–>
变量
- 变量定义:可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
type varName [=value][{,varName}];
//数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
- 下面那些均为变量的格式
public class Demo09 {
public static void main(String[] args) {
//int a,b,c;
int a=1,b=1,c=1;
//可以用逗号隔开来声明多个同类型变量,但并不推荐
String name="sunyusong";
char x='x';
double pi=3.14;
}
}
变量的作用域
- 类变量:加一个关键词static,可以直接输出
- 实例变量:在类里面,方法的外面,从属于对象
- 如果不自行初始化的话:
- 所有数值类的基本类型的默认值都是0(0 0.0 U0000)
- 布尔值的默认值为false;
- 除了基本类型,其余的默认值都是null;
- 局部变量:在方法里面,必须声明和初始化值
- 如下示意图
- 关于以上理论进行一下简单操作
public class Demo10 {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值为0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量,在方法里面,必须声明和初始化值
int i=10;
System.out.println(i);
//变量类型 变量名字=new Demo10();
Demo10 demo10 = new Demo10();
System.out.println(demo10.age);//0
System.out.println(demo10.name);//null
//类变量
System.out.println(salary);
}
//其他方法
public void add(){}
}
- 运行后显示——–>
变量的命名规范:重点
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则
-
驼峰原则:除了第一个单词外,后面的单词首字母大写
-
举例:monthSalary,lastName等;
-
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
常量
- 常量(Constant):初始化(initianlize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成一个特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI=3.14;
- 常量名一般使用大写字符。
- 常量的简单操作: 常量关键词 final;
public class Demo11 {
//变量类型前面均为修饰符,不存在先后顺序
static final double PI=3.14;
final static double HI=3.14;
public static void main(String[] args) {
System.out.println(PI);
System.out.println(HI);
}
}
- 运行后显示——–>
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/275082.html