Java learn note(变量系列)

写在之前:

创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象。
给基本类型的变量赋值的方式叫做 字面值

正文:
当以l或者L结尾的时候,一个整数字面值是long类型,否则就是int类型。 建议使用大写的L而非小写的l,因为容易和1混淆。
byte,short,int和long的值都可以通过int类型的字面值来创建。整数的字面值可以用如下四种进制来表示:
十进制: 基 10, 包含从0-9的数字,平常用的就是这种
十六进制: 基 16, 包含从0-9的数字,和从A-F的字母。
八进制: 基 8, 包含从0-7的数字
二进制: 基 2, 包含0和1。(从 JAVA7开始就可以创建 二进制的字面值了)

e2表示10的二次方,即100
1.234e2 = 1.234x100
float类型数字后加F或f;
double可以不用加;

字符的字面值放在单引号中 ’ ’

字符串的字面值放在双引号中 " "

需要注意的是,\表示转义,比如需要表示制表符,回车换行,双引号等就需要用 \t \r \n " 的方式进行

类型转换:
低精度转高精度随便转
高精度转低精度会溢出
强制转换风险自担。

byte<short=char<int<long<float<double
虽然short和char都是16位的,长度是一样的
但是彼此之间,依然需要进行强制转换

直接进行转换,会出现编译错误

以下转换是错误的

public class Hero {
 
    public static void main(String[] args) {
    
       
        //高精度向低精度转换
        byte s1=1;
        byte s3=2;
        byte b3=s1+s3;
     
        System.out.println(b3);
    }
}

因为s1+s3得出的结果默认为int类型,所以要对整体结果(byte)(s1+s3)进行强制转换。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值