JAVA基础语法02
类型转换
- 由于java是强类型语言,所以在进行有些运算的时候需要用到类型转换
- 运算中,不同类型的数据先转化为同一类型,再进行运算
低------------------------------------------->高(容量)
byte,short,char-->int-->long-->float-->double
- 小数的优先级大于整数
- 转换两种类型
- 强制类型转换 :(类型)变量名,高--->低
- 自动类型转换:不用写,自动,低--->高
int i = 128;
byte b = (byte)i; //内存溢出,byte最大127 (类型)变量名-->表示强制转换
System.out.println(i);
System.out.println(b);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.高容量转换为低容量的时候,强制转换,反之不用
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println("================================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45 精度丢失
System.out.println("================================");
char c = 'a'; //定义字符c为'a'
int f = c+1; //定义数字f为c+1
System.out.println(f);
System.out.println((char)f); //强制转换回去
System.out.println("================================");
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years; //结果为负数,溢出了
long total2 = money*years; //默认是int转long类型,但是int转换之前已经溢出错误了
long total3 = money*((long)years);
long total4 = ((long)money)*years; //在转换之前把int的一个数转成long即可正确输出
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
System.out.println(total4);
变量
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量(但不推荐,太乱)
- 注意事项
- 每个变量都有类型,类型可以是基本,也可以是引用
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每个变量都必须以分号结束
//int a,b,c
int a=1,b=2,c=3;//尽量写成三行的,这里为了注释先写一行,要考虑程序可读性
String name = "zhiyuan";
char x = 'X';
double pi = 3.14;
变量作用域
public class Variable{
static int allClicks=0; //类变量
String str="Hello World"; //实例变量
public void method(){
int i =0; //局部变量
}
}
public class Demo05 {
//属性:变量
//类变量 static
static double salary = 2500;
//实例变量:从属于对象;从属于这个类,如果不自行初始化,这个类型则是默认值 0,0.0
//布尔值默认是false
//除了基本类型其余的默认值都是null
String name;
static int age;//这里需要在int age;前面加上static来把age定义成静态变量
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值,有效只在于这个中括号里
int i = 10;
System.out.println(i);
//变量类型 变量类型 = new Demo05();
Demo05 demo05 = new Demo05(); //new 类 加.var或crtl+回车可以生成
System.out.println(Demo05.age);
System.out.println(demo05.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
//final 常量=值;
final double PI=3.14
//常量名一般使用大写字符
public class Demo06 {
//final定义常量
static final double PI = 3.14; //static和final互换位置是可以的
//修饰符不存在先后顺序
//static修饰的就是静态的 静态的 都是类的 这么记就对了
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所以的变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则,例如:lastName
- 局部变量命名:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名,首字母小写和驼峰原则:run(),runRun()