Java基本数据类型

17 篇文章 0 订阅
本文详细介绍了Java中的基本数据类型(如int、long、float、double等)、引用数据类型(如String和数组),以及变量定义、类型转换规则,包括自动类型转换和强制类型转换,以及字符串操作,如长度计算和拼接。
摘要由CSDN通过智能技术生成

1、分类

(1)基本数据类型(8种)

整型byteshortintlong
1248
小数floatdouble
48
字符char
2
布尔boolean
2

(2)引用数据类型
String 数组 类 接口

2、注意

(1)在32或者64位机器上,int都占4字节,long都占8字节
(2)整型和浮点型都带有符号
(3)整型默认类型是int,浮点型默认类型是double
(4)字符串属于引用类型

3、变量

(1)定义时给出初始值

int a = 10;

定义时没有给出初始值,但使用前必须设置初值

int a;
a = 8;

(2)包装类型
int的包装类型是Integer
long的包装类型是Long
short的包装类是Short
byte的包装类型是Byte
float的包装类型是Float
double的包装类型是Double
char的包装类型是Character
boolean的包装类型是Boolean

System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);

(3)整型类型
初始化long 的时候在数值后加l或者L,推荐加L

long a = 1000L;
//long a = 1000l;

而byte定义时可以直接写不用加后缀

byte b = 1;

(4)浮点类型
整数与整数相除只能得到整数

int a = 1;
int b = 2;
System.out.println(a/b);
//结果打印是0

要想除出来是整数,就应该至少一个数是浮点型

double a = 1.0
double b = 2.0;
System.out.println(a/b);
//方法二

float初始化时必须要写明f,不然直接定义默认为double

float a = 2.3f;

(5)布尔类型
· 只存在true或者false两种
· 没有明确规定boolean占几个字节

boolean flg true;

布尔类型不存在1表示true,0表示false
(5)字符型变量

char a = 'A';
char b = '五';

4、类型转换

(1)自动(隐式)类型转换
表示范围更小的类型能隐式转换成范围大的类型
byte->short->int->long->float->double
char->int

int a = 100;
long b = 100L;

(2)强制类型转换
· 转换前提是同种数据类型或者关联数据类型
· 当范围大的类型转换成范围小的类型时,需强制类型转换,可能会精度丢失

注意:在类型转换提升中:
1、大类型和小类型进行运算时,小类型会自动转换成大类型
2、低于两个字节的变量进行运算时,首先会提升成四个字节的int再进行运算

第一种

long a = 10L;
int b = 24;

//报错写法
int c = a + b;
//第一种写法
long c1 = a + b;
//第二种写法:可能会有精度损失
int c2 = (int)(a+b);

第二种

byte a = 10;
byte b = 20;
//报错写法:低于两个字节的变量进行运算时,首先会提升成四个字节的int再进行运算
byte f = a + b;
//第一种写法
int f1 = a + b;
//第二种写法
byte f2 = (byte)(a + b);

5、字符串类型

(1)C语言中字符串以’\0’结尾,而Java中就只有字符(因为Java中储存字符串的底层就是数组)

String str = 'hello';
System.out.println(str);

(2)求字符串的长度

System.out.println(str.length());

(3)字符串的拼接
当string类型与其他类型用’+’相连时,其他类型自动转换成string类

int a = 10;
int b = 20;

System.out.println("a + b = "+a+b);
//结果是:a + b = 1020;
System.out.println(a+b + "a + b");
//结果是:30a+b
//因为第二个是先运算才与字符串拼接

(4)字符串类型和int类型的转换
字符串转换成整型

String str1 = '123';
int val1 = Integer.valueOf(str1);
//int val1 = Integer.parseInte(str1);
//两种写法皆可,因为valueOf的底层就是调用的parseInt
System.out.println(val1+1);
//打印结果是124

整型转换成字符串

int val2 =100;
String str2 = String.valueOf(val2);
System.out.println(str2);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沙河板混

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

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

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

打赏作者

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

抵扣说明:

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

余额充值