(425)java变量 八种基本数据类型 类型间的转换

本文介绍了编程中的变量概念,包括变量的声明、初始化和访问,强调了变量命名的规则。文章详细讲解了Java中的八种基本数据类型,如整型(int,long)、浮点型(float,double)、布尔型(boolean)和字符型(char),以及不同类型之间的自动转换和强制转换规则。此外,还讨论了数据类型的大小和范围以及可能的溢出问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、变量

        1.什么是变量?

        变量就是存数的,指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。

       2. 变量的声明

        包含两点:数据类型和变量名(不同的数据有不同的类型)

        int a;(表示声明了一个整型的变量,名为a)

        int b,c,d;(表示声明了三个整型的变量,名为b,c,d)

       3.变量的初始化(使用)

        可以在变量声明时初始化,也可以先声明后初始化

        int a = 5;(声明的时候同时赋值)

        int b;(先声明)

        b = 5;(再赋值)

        int g = 5,h = 10;(声明两个整型变量g和h,并分别赋值为5和10)

        注意事项:声明过一次不能再次声明

        4.变量的访问

        对变量的访问就是对其所存数据的访问

        int a = 5;

        int b = a + 10;(先进行计算运算,也就是a+10,5+10,取出a中的5,加10后,再赋值给变量j,最后在进行赋值)

        System.out.println(a);输出变量j的值a

        System.out.println("a");输出a,双引号中的原样输出

        变量变成灰色代表是没有被使用

        i = 10;(意味着给变量重新赋值,输出i=10)

        i = i + 10;(取出i的值10,修改i的值为i+10的结果,输出i=20,再i本身的基础之上增加10)

变量访问之前必须初始化

        5.变量的命名

        变量的命名必须符合java标识符的规则:

        1.只能由字母、数字、"-"和"$"符组成,并且不能以数字开头,

        2.严格区分大小写

        3.不能以关键字命名

        int 年龄;允许使用中文命名,但不建议

        int nianling;杜绝拼音

        int age;建议使用英文

        int score,myScore,myJavaScore;小驼峰命名法

二、八种基本数据类型

1.整数类型:

byte(最大值一百多),short(最大值三万多),int(正负二十一个多亿),long(特别大的一个数九百万万亿还多)

变量到底占用多大的内容是,是由它的数据类型来决定的

int类型

int a = 5;(a会占用四个字节)

int b = 10000000;(b会占用四个字节)

int:整型,占4个字节,范围-2^31到2^31-1

1G=1024M(兆)

1M=1024KB(千字节)

1KM=1024B(字节)

整数直接量默认为int类型,但不能超出范围,若超出范围则发生编译错误。

两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)

可以在除数或者被除数后面加个.0即可

运算时若超出范围,则发生溢出,溢出不是错误,但是需要避免

long类型

长整型,占8个字节,范围-2^63到2^63-1(长整型后面要加L,最好要大写)

若运算中有可能出现溢出,建议将第一个数后面加L

long a = 25L(25L为长整型直接量)

long b = 10000000000;编译错误,100亿默认int类型,但超出了int范围

long c = 100000000000L;100亿长整型直接量

long d = 3.14L; 编译错误,只能为整数。

类型大的和类型小的计算,自动转换为大的类型。

2.浮点类型

单精度浮点类型float(小数点后七位),双精度浮点类型double(小数点后15位)

区别:精度值

double类型:双精度浮点数,占用八个字节

小数直接默认量认为是double型,若想表示float类型,在后面加f

double不能表示精确数据,运算时有可能发生舍入误差,精确场合不能使用。(BigDecimal类型可以精确)

double a = 3.14;(3.14为小数直接量,默认为double型)

float b = 3.14f;(3.14f为float类型的小数)

double c=3.0,d=2.9;

System.out.println(c-d)9;(输出的结果为0.10000000000000009)

3.boolean类型:

布尔型,占用一个字节,输出true(真)和false(假)

boolean a = true;//ture为布尔型直接量

boolean b =false;//false为布尔类型直接量

boolean c = 250;//编译错误,布尔类型变量中只能存储tuse和false

4.char类型

字符类型 占用2个字节

Unicode:通用码、统一码、万国码,是世界级通用的定长字符集

因为符号太多了,所以Unicode又划分了很多个子集

Java中的char采用的是其中最最最通用的那个子集(65536个符号)

采用Unicode编码格式,一个字符对应一个码,记住ascll码:

'a'的码是97,'A'的码是65,'0'的码数48

char c1 =  65;

System.out.println(c1);输出的是A

println()会依据变量的类型来做输出展示,c1位char类型,所以会以字符的形式输出

char c2 = '\'';        特殊符号需要用\转义

字符型直接量需放在单引号中,只能有一个(必须是一个)

三、

类型转换:

自动类型转换:从小类型转到大类型

类型大小:byte<short<(char)int<long<float<double

int a = 5;

long b = a;

强制转换类型:从大类型到小类型

long b = a;

int c = (int)b;

double转为int舍去小数点后面的数,强转可能会丢失精度

小数类型转整数类型舍去小数点后面的数,强转可能会丢失精度

两点规则:

整数直接量(变量不可以)可以直接赋值给byte、short、char,但不能超出范围内

byte、short、char型数据参与运算时,先一律自动转换为int在运算。

byte b1 = 5;

byte b2 = 6;

byte b3 = (byte)(b1+b2);先进行运算b1+b2,然后在进行强制转换

System.out.println(2+2);输出4
System.out.println('2'+'2');字符型做加法,先转为ascll码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值