【Java基础03】

JAVA基础03


前言:

To自己:每天都给自己一个希望,试着不为明天而烦恼,不为昨天而叹息,只为今天更美好。

类型转换

  1. 由于Java是强类型语言,所以要进行有些运算时,需要用到类型转换。类型转换就是将一个值从一种类型转换为另一种类型的过程。eg:可以将String类型的数据转换为数值类型,也可以将任意类型的数据转换为String。

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

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

  2. 运算中,不同类型的数据先转化为同一类型,然后运算。

    转换的两种方式:

    1. 强制类型转换(又称显式类型转换):

      将高精度的变量值赋值给低精度的变量。语法格式:(类型名)要转换的值/变量名,eg:

      int a=(int)45.23; //此时输出a的值

      当把一个整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则要进行强制转换,并且出现内存溢出现象。eg:

      int i=1(28;
      byte b=(byte)i; //输出结果为-128

      分析:byte占内存空间为1字节,取值范围为-128~27。

    2. 自动类型转换(又称隐式类型转换):

      将低精度的变量值赋值给高精度的变量,系统自动执行,程序员无需操作。eg:

      int x=50; //声明int型变量
      float y=x; //将x赋值给y,输出结果为50.0

      注意点:

      1. 不能对boolean类型进行转换,boolean只能是true或false

      2. 不能把对象类型(定义的变量也是对象)转换为不相干的类型

      3. 在把高精度转为低精度时,强制转换

      4. 转换的时候,可能存在内存溢出或精度问题!

      常见问题:

      1. 在操作比较大的书的时候,注意溢出问题,eg:

        int money=10_0000_0000; //JDK7新特性,数字之间用下划线分割,并且分割线并不会被输出
        int years=20;
        int total=moneyyears;//结果-1474836480,计算的时候溢出了
        long total2=money
        years;//默认是int,转换之前已经存在问题了
        long total3=money*years;//结果20000000000,先把一个数转为long

变量

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

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

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

    声明变量,eg:

    int age;//声明变量

    char a=‘y’;//声明变量并赋值

    编写上述程序会产生什么样的效果呐?

    要了解这个问题就要对变量的内存配置有一定的认识,如图,就是将上述程序代码在内存中的情况表现了出来。

    ​ 变量占用的内存空间

    系统(OS)区
    程序(Program)区int age char a
    数据(Data)区

    此表可知,系统的内存可大略分为3个区,即系统(OS)区、程序(Program)区和数据(Data)区。当程序执行时,程序代码会加载到内存中的程序区,数据暂时存放在数据区中。假设上述两个变量定义在方法体中,则程序加载到程序区中。当执行此行程序代码时,会在数据区配置空间给这两个变量。

    注意事项:

    1. 每个变量都有类型,类型可以时基本类型,也可以时引用类型

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

    3. 变量声明是一条完整的语句,因此每一个声明都必须以英文分号结束

变量作用域

类变量

实例变量

局部变量

public class a{
    static int b=0;//类变量
    string str="Hello Word";//实例变量,从属于a,如果不进行初始化,就是这个类型的默认值
    public void method(){
        int i-0;//局部变量,必须声明和初始化
    }
}

补充:数值类型的初始化

​ int为0,小数0.0,字符为0000,boolean默认值是false,除了基本类型,其余都是null

常量

  1. 初始化后不能再改变值,不会变动的值

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

    final 常量名=值;

    final double PI=3.14;

  3. 常量名一般使用大写字母表示

变量的命名规范

所以变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:monthSalarychu除了第一个简单的词外,后面的单词首字母大写

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线,eg:MAX_VALUE

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

方法名:首字母小写和驼峰原则,run(),runRUN()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值