Java day03

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

低 ————————————————————————高

         byte, short, char-> int-> long-> float-> double

    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i; //内存溢出

        //强制转换      (类型)变量名     高到低
        //自动转换      低到高

        double b1 = i;

        System.out.println(i); // output : 128
        System.out.println(b); // output : -128

        /*
        注意点:
        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';
        int d = c+1;
        System.out.println((int)c); //97
        System.out.println(d); //98
        System.out.println(((char)d)); //b
    }
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //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);//-1474836480 , 因为money和years都是int,所以默认为int,转换之前就已经出问题了
        //下面是解决方法
        long total3 = money*((long)years);
        System.out.println(total3);//20000000000

        // 尽量用大写的L来表示long,比如10_0000_0000L,规范性

    }
}

变量

Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域。

    public static void main(String[] args) {
        //数据类型  变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。
        // int = a,b,c;  不建议这样写
        // int = a=1,b=2,c=3; 也不建议这样写 //程序可读性要顺畅
        int a = 1;
        int b =2;
        int c = 3;

    }

变量作用域

public class Demo07 {
    //类变量   static;现阶段用static,每个前面加static就可以用,实例变量(new Demo07();)之后再看
    static double salary = 2500;

    //属性:变量

    //实例变量;从属于对象;如果不自行初始化,这个类型的默认值是 0   0.0
    //布尔值:默认是false
    //除了基本类型其他都是null;
    String name;
    int age;


    //main方法
    public static void main(String[] args) {

        //局部变量;必须声明和初始化值
        int i = 10;//局部的变量只能在这个方法里用,例如这个i只用于这个方法
        System.out.println(i);//10

        //变量类型 变量名字 = new Demo07();
        //new Demo07();
        Demo07 demo07 = new Demo07();
        System.out.println(demo07.age);//0
        System.out.println(demo07.name);//null

        //类变量   static
        System.out.println(salary);

    }

    //其他方法
    public void add(){
    }
}

常量(Constant)

初始化(initialize)后不能再改变值!不会变动的值。

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

final 常量名 = 值;

final double PI = 3.14;

public class Demo08 {

    static final double PI = 3.14;
    // final static double PI = 3.14;也可以用,修饰符不存在先后顺序

    public static void main(String[] args) {
        System.out.println(PI);//3.14

    }
}

变量的命名规范

除了第一个单词以外,后面的单词首字母大写  lastName  monthSalary

类名

首字母大写和驼峰原则:Man,GoodMan

常量

大写字母和下划线:MAX_VALUE

方法名

首字母小写和驼峰原则:run(),runRun()

 

posted @ 2020-11-25 15:36  爱java的luluxiu  阅读(73)  评论(0)    收藏  举报