自学Java第三天

类型转换

由于Java是强类型语言,所以进行某些运算时需要类型转换。

低-------------------------------------------------------->高

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

运算中,不同类型的数据先转化为同一类型,然后进行运算

  1. 强制类型转换

格式:(类型)变量名 转换精度为高–>低

注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换;反之,自动转换
4.转换的时候可能存在内存溢出,或者精度问题
  1. 自动类型转换

转换精度为低–>高

代码示范:

public class demo04 {
    public static void main(String[] args) {
        int i=128;
        byte b = (byte)i;  //内存溢出
        double c=i;        //自动转换
        //强制转换  (类型)变量名   高-->低
        //自动转换               低-->高
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量转换到低容量的时候,强制转换;反之,自动转换
        4.转换的时候可能存在内存溢出,或者精度问题
         */
        System.out.println("----------------------------------");
        System.out.println((int)21.7);        //21
        System.out.println((int)-45.79f);     //-45

        System.out.println("----------------------------------");
        char d='a';
        int e=d+1;                         //自动转换,低到高
        System.out.println(e);
        System.out.println((char)e);

        System.out.println("----------------------------------");
        int money =10_0000_0000;
        int year =20;
        int total1=money*year;            //-1474836480,计算时已经溢出了
        long total2=money*(long)year;     //先将一个数转换成long类型
        System.out.println(total1);
        System.out.println(total2);

    }
}

变量、常量、作用域

变量

  1. 变量是什么:可以变化的量

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

  3. Java变量是程序中最基本的存储单元,其要素包括变量名(标识符)、变量类型(基本数据类型)和作用域

    type varName [=value][{,varName[=value]}];

    //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量(为了美观一般不这样做)

  4. 注意事项

    每个变量都有类型,类型可以是基本类型(八种),也可以是引用类型(三种)

    变量名必须是合法的标识符

    变量声明是一条完整的语句,因此每一个声明都必须以分号结束变量作用域

  5. 举例

    public class demo05 {
        public static void main(String[] args) {
            //int a,b,c;
            String name="huge";
            char x='X';
            double pi=3.14;
        }
    }
    

作用域

类变量

使用static声明

static double salary = 2500;

实例变量

  1. 在类里边但是在方法外边,从属于对象(类),不一定需要初始化值,因为不初始化系统会自动为它赋默认值

    0(整数),0.0(小数),u0000(字符型),false(布尔型),null(除了基本类型外)

  2. 必须通过这个类才能找到它

局部变量

局部变量在类中的方法里边被定义,使用前必须进行声明和初始化值,作用域为从方法开始的{到方法结束的}

举例

public class Demo06 {

    //属性:变量
    //类变量  static
    static double salary = 2500;
    //实例变量:从属于对象;不一定需要初始化值,要通过这个类才能去使用它
    //如果不初始化则这个类型的默认值为0(整数)  0.0(小数)  u0000(字符型) false(布尔型)
    //除了基本类型,其余的都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量,必须声明和初始化值
        int i=10;
        System.out.println(i);

        //变量类型(自定义类型) 变量名 = new Demo06()
        Demo06 demo06=new Demo06();
        System.out.println(demo06.age);
        System.out.println(demo06.name);

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

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

    }
}

常量

  1. 常量(constant):初始化以后不能再改变值!不会变动的值,一般用大写字母表示

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

    final 常量名=值;
    final double PI=3.14;
    
  3. 举例

    public class Demo07 {
        //变量类型前面添加的都是修饰符,可以交换顺序
        static final double PI1=3.14159265;
        final double PI2=3.14159;
        public static void main(String[] args) {
            final double PI3=3.14;
            System.out.println(PI1);
            Demo07 demo07=new Demo07();
            System.out.println(demo07.PI2);
            System.out.println(PI3);
        }
    }
    

变量命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary,lastName
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值