类型转换
低…高
byte,short,char-> int-> long-> float-> double
运算中,不同类型的数据转换为同一类型,然后在进行运算
- 强制转换 由高到低 格式:(类型)变量名
int i=128;
byte b=(byte )i;
System.out.println(i);
System.out.println(b);//输出结果为-128,内存溢出,byte(-128-127)
- 自动转换 低到高
int a=128;
double c=(double )a;
System.out.println(a);//128
System.out.println(c);//128.0
- 注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
System.out.println((int )23.7);//23
System.out.println((int )-45.85f);//-45
char c1='a';
int d=c1+1;
System.out.println(d);//98
System.out.println((char) d);//b
- 操作比较大的数的时候,注意溢出问题
JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
//System.out.println(money);//1000000000
int years=20;
int total =money*years;
// System.out.println(total );//计算结果为-1474736480,计算的时候溢出
long total2=money*years;//默认为int,转换之前已经存在问题,结果为-1474736480
long total3=money*((long )years);//先把一个数转换为long
System.out.println(total3);//20000000000
变量
JAVA是一种强类型语言,每个都必须声明其类型
JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型 变量名必须是合法标识符 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
变量作用域:
类变量,实例变量,局部变量
-
变量的命名规范:
1.所有变量,方法,类名:见名知义
2. 类成员变量:首字母小写和驼峰原则:monthSalary
3. 局部变量:首字母小写和驼峰原则
4. 常量:大写字母和下划线:MAX_VALUM
5. 类名:首字母大写和驼峰原则:Man,GoodMan
6.方法名:首字母小写和驼峰原则:run(),runRun()
驼峰原则:除了第一个单词以外,后面的单词首字母大写(lastName)
类变量:
public class Demo3 {
//类变量 static
static double salary=2500;
public static void main(String[] args) {
System.out.println(salary);////结果为2500
}
实际变量:
//实际变量;从属于对象;如果不自行初始化,则输出这个类型的默认值
//布尔值:默认是false
//除了基本类型,其余的默认值都为null;
String name;
int age;
public static void main(String[] args) {
//变量类型 变量名字=new Demo3();
Demo3 demo3=new Demo3();//实际变量
System.out.println(demo3.age);//结果为默认值0
System.out.println(demo3.name);//结果为默认值null
}
局部变量:
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i=10;
System.out.println(i);//i只作用于static{}中,结果为10
}
变量声明:
public static void main(String[] args) {
/* //变量声明
int a=1;
int b=2;
string name="七安";
char x='X';
double pi=3.14;
常量
常量(constant):初始化(initialize)后不能再改变值,不会变动的值
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
一般形式:
final 常量名=值;
final double PI=3.14;
//修饰符,不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
常量名一般使用大写字符