【Java基础】数据类型与变量

本文详细介绍了Java中的各种常量类型,包括字符串、整型、浮点数、字符、布尔等,并区分了基本数据类型和引用数据类型。此外,还讨论了变量的定义、整型和浮点型的范围、包装类,以及类型转换和类型提升的概念。
摘要由CSDN通过智能技术生成

1.字面常量

常量即程序运行期间,固定不变的量 称为常量。不能改变常量的值,final相当于C语言的const

 常量的值在编译时确定,变量的值在运行时确定,所以变量有时在运行时报错,常量在编译时会有提示。

分类:

1. 字符串常量:由 "" 括起来的,比如 “12345” “hello” 你好
2. 整形常量:程序中直接写的数字 ( 注意没有小数点 ) ,比如: 100 1000
3. 浮点数常量:程序中直接写的小数,比如: 3.14 0.49
4. 字符常量:由 单引号 括起来的当个字符,比如: ‘A’ ‘1’
5. 布尔常量:只有两种  true  和  false
6. 空常量: null( 后面会讲 )
注意:字符串,整型,浮点型,字符型,布尔型在Java中都称为数据类型。

2.数据类型

数据类型分为两类:基本数据类型 和 引用数据类型,这里先介绍基本数据类型

2.1八种基本数据类型

基本数据类型有四类八种:

 

2.2 找范围最大最小

输出int的最大/最小值,Integer 包装类,int的plus版本

2.3 注意:

1.1个字节=8个比特位,int是4个字节,有32个比特位,但是,第一位是符号位,真正意义上,表示数值的只有31个比特位。所以,范围是 -2^31~2^31-1

2.boolean只有true和false两个

3.不管在16位系统还是32位系统,int都占4个字节,long都占8个字节

4.整型和浮点型都是带有 符号 的

5.整型默认 int,浮点型默认 double

6.字符串属于引用数据类型,后续会介绍(本章6.字符串类型)

3.变量

经常改变的就是变量,而数据类型就是用来定义不同种类变量的。数据类型  变量名  =  初始值

3.1整型变量

1.int的包装类是Integer,long包装类是Long,short包装类是Short,byte包装类是Byte

2.. 长整型变量的初始值后加L或者l,推荐加L,eg:long b=10L

3.范围和所占字节见上图

3.2浮点型变量

快速/取消屏蔽 ctr+shift+/  */    ctr+/    //

1.计算1/2 ,要用double类型计算1.0/2.0

2.打印1.1*1.1,和语言一样,尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差。因此浮点数是一个近似值,而不是精确值。

3.float型变量的初始值后加 或者F,推荐加F,eg:long a=1.0F

3.3字符型变量

1.在计算机中,字符本质上是一个整数。C语言中使用ASCII表示字符,而Java使用Unicode表示字符。一个字符占两个字节表示的字符种类更多,包含了中文。

2.char的包装类是Character

3.用cmd执行javac时要加上 -encoding UTF-8 

3.4布尔型变量

1.只有两种取值,true和false

2.Java的boolean类型和int不能相互交换,不存在 1表示true,0表示false

3.Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在 Oracle公司的虚拟机实现中,boolean1个字节。

4.类型转换

在Java中,当参与运算de数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式) 和 强制类型转换(显式)

4.1自动类型转换(隐式)

代码不需要经过任何处理,在编译时,编译器会自动处理

特点:数据范围的转化为数据范围的 会自动进行

4.2强制类型转换(显式)

当进行操作时,代码需要经过一定的格式处理,不能自动完成

特点:数据范围的到数据范围

强制类型转换不一定能成功,不相干的类型不能相互转换(如布尔类型),同时也不建议用强转,要考虑到范围等因素

5.类型提升

5.1int与long之间运算:int会被提升为long

5.2byte与byte

虽然 a b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算 , 得到的结果也是  int并 赋给 c,正确写法: byte c = (byte)(a + b);//强转

5.3总结

1.不同类型的数据混合运算, 范围小的会提升成范围大的

2.由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算

6.字符串类型

在Java中用String类定义字符串类型,与C语言相比,没有/0这样的说法(为了求字符串长度)

1.整数变字符串

方法一
方法二

2.字符串变整数

3.加号相当于拼接

加号相当于拼接

第一个先有字符串,就当成是字符串的拼接,第二个先运算后遇到字符串,就会先运算

这里只是对字符串进行简单的介绍,大家能够正常使用即可,后续会详细介绍给大家。

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值