带你了解变量与数据类型及类型转换

一、基本数据类型:
  1. 整型
占用字节数比特/位取值范围
byte(字节型)18【-128~127】
short(短整型)216【-32768~32767】
int(整形)432【-2147483648~2147483647】
long(长整形)864【-9223372036854775808~9223372036854775807】

注意:整数数值默认为int类型,如果需要定义一个long类型的变量,当超出int范围时,需要在该值后面加上L或l

int a = 34;
long b = 40L;
long c = 40l;
  1. 浮点型
占用字节数比特/位取值范围
float(单精度)432【-3.402 E+38F~+3.402 E+38F】
double(双精度)864【-1.79 E+308~+1.79 E+308】

注意:float有效位是6~7位,double有效位是15位。浮点数默认为double类型,如果需要定义一个float类型的变量,则数值后需要加f或者F

double a = 4.13;
float b = 4.13f;
float c = 4.13F;
  1. 字符型
占用字节数比特/位取值范围
char(字符型)216【\u0000\uffff】即为065535
//1、字符参与运算(是查找ASCII里面的值)
char a = 'a';
int b = 1;
System.out.println(a + b);//结果为98

//2、字符串参与运算(就是字符串的拼接,字符串在前面就做拼接,数值在前就做相加)

System.out.println("hello" + 'a' + 1);//helloa1

System.out.println('a' + 1 + "hello");//98hello

System.out.println(5 + 5 + "=5+5");//10=5+5

System.out.println("5+5=" + 5 + 5);//5+5=55
  1. 布尔类型
占用字节数比特/位取值范围
Boolean(布尔类型)11true和false
二、转义字符
  1. 常见的转义字符:

    转义序列名称Unicode值
    \b退格\u0008
    \t制表\u0009
    \n换行\u000a
    \r回车\u000d
    \ "双引号\u0022
    \ ’单引号\u0027
    \ \反斜杠\u005c
三、标识符
  1. 定义:就是给类、接口、方法、变量等起名字的字符序列。用来查找、定位、标明、唯一确认内容。

  2. 组成规则:英文大小写字母(字符统称—>中英文皆可,强烈不推荐使用中文); 数字; $和_

  3. 注意事项:不能以数字开头;不能是java中的关键字;区分大小写

  4. 标识符需要遵循的规范:1、所有标识符必须要见名知意;2、变量、函数、语句块的名称满足小驼峰(首字母小写,其后每个单词首字母大写);3、类名满足大驼峰 (每个单词首字母大写),常量所有字母大写,单词之间用_隔开

    //标识符的注意事项
    int $_abc123 = 1;
    int 123$_adad = 2; ----->这是错的!!!
    int _abc$123 = 3;
    int abc$_123 = 4;
    
    
    //标识符遵循小驼峰命名
    int helloWord = 4;
    
    
    //常量的书写格式
    final int HELLO_WORD = 5;
    
四、变量
  1. 定义:在程序的执行过程中,其值在某个范围内可以发生改变的量
  2. 变量的定义格式:

A:数据类型 变量名 = 初始值

B:数据类型 变量名;

变量名 = 变量值;

  1. 变量的三种操作:

    1、存值;

    2、取值;

    3、改值

  2. 变量的关注点:

    1、数据类型;

    2、变量名称;

    3、变量的值;

    4、变量的作用域,根据{}来定。同一个作用域当中,变量不能重名

  3. 变量的使用注意事项:1、变量本身存在;2、变量的值要存在;3、使用时一定要存在于作用域之内,其作用域:从定义开始,到离它最近的左大括号相对的右大括号结束。

    变量一旦使用,那么必须保证它的值已经存在(形式参数除外)

//变量的声明
int a ;
//变量的初始化
a = 1;
//同一作用域中变量重名,错误
int a = 2; ----->变量重名!!!

//变量只声明,没有初始化,会报错
int a;
System.out.println(a); ---->会报错

//不同作用域里面,变量可以重名
for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

for (int i = 0; i < 5; i++) {
    System.out.println(i);
}
五、数据类型转换
  1. 定义:数据在不同类型之间进行转换,boolean类型不参与转换

  2. 默认转换:A、从小到大;B、byte,short,char----->int,long,float,double;

                   C、byte,short,char之间是平级的,不相互转换,直接转成int类型参与运算
    
  3. 强制转换:可能会有精度的损失,一般不建议这样使用。

                   格式:**目标数据类型 变量名 = (目标数据类型)被转换的数据**
    
    byte a =(byte)123;
    long b = (long)45555555;
    

    注意:当byte、short、char在运算时,会自动向上转型为int类型,所以返回的结果是int类型,如果接收的类型不是int类型,则会报错。

    public static void main(String[] args) {
        byte a = 1;
        byte b = 2;
        byte c = a+b;---->这里报错!!!
    
    }
    

  4. 图中有6个实心箭头,表示无信息丢失的转换;有三个虚箭头,表示可能有精度损失的转换

    **小精度转大精度可以自动转换,int值类型的值会自动地转换成double类型 **

    有时候需要将double 转换成int,这就需要进行强制类型转换,但是会丢失一些信息

    double a = 4.0;
    int b = a; ----->这里会丢失精度!!!
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值