05类型转换变量常量

Java基础02

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换image-20211120210112841

    • 从左到右容量(字节大小)依次增加
    • 小数优先级高于整数(long 64 <float 32)
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

    public class Demo05 {
        public static void main(String[] args) {
            int i =128;
            byte b=(byte)i;//内存溢出
    
            //强制转换 (类型)变量名
            System.out.println(i);
            System.out.println(b);
        }
    }
    
    • Byte的范围

    image-20211120210727779

  • 强制转换:(类型)变量名 高--->低

  • 自动转换:)变量名 低--->高

  • 注意点:

  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';//Ascii码
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
  • 操作较大时,注意溢出的问题
//Jdk7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total =money*years;
        long total2 =money*years;
        System.out.println(total);//-1474836480,计算时候溢出了
        System.out.println(total2);//默认是int,转换之前就已经出问题了!

        long total3 =money*((long)years);//先把一个数传换成long
        System.out.println(total3);

变量

  • 可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value][{,varName[=value]}];
//数据类型 变量名 =值 ;可以使用逗号隔开来声明多个同类型变量
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
public class Demo07 {
    public static void main(String[] args) {
        //int a,b,c;
        //int a=1,b=2,c=3; //程序可读性
        String name ="nulixuelidexiaohao";
        char x='X';
        double pi =3.14;

    }
}

变量作用域

  • 类变量
public class Demo08 {

    //类变量 static
    static double salary =2500;
    //main方法
    public static void main(String[] args) {
        //类变量 static
        System.out.println(salary);
    }
}
  • 实例变量
public class Demo08 {
    //实例变量:从属于对象(在类中使用);如果不自行初始化,这个类型的默认值 0 0.0 u0000
    //布尔值:默认值未false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;
    //main方法
    public static void main(String[] args) {
       //变量类型 变量名字=new Demo08()
        Demo08 demo08 = new Demo08();//alt+enter
        System.out.println(demo08.age);//未初始化,输出默认值0
        System.out.println(demo08.name);//未初始化,输出默认值0 
        }
    }
}
  • 局部变量
public class Demo08 {
	public static void main(String[] args) {

        //局部变量;必须声明和初始化值
        int i=10;//int i未初始化不能够使用
        System.out.println(i);
        }
    //其他方法
    public void add(){
        System.out.println();
    }
}

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词,后面的单词首字母大写 lastname lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run().runRun()

常量

  • 常量(constant):初始化(initialize)后不能再改变值!不会变动的值。

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

    final 常量名=值;
    final double PI=3.14;
    
  • 常量一般使用大写字符

public class Demo09 {
    // 变量类型前面都是修饰符,修饰符不存在先后顺序
    static  final double PI=3.14;
    //final static double PI=3.14;也OK!
    public static void main(String[] args) {
        System.out.println(PI);

    }
posted @ 2023-08-18 15:58  努力学技术的小豪  阅读(12)  评论(0)    收藏  举报