[Java] 数据类型

本文详细介绍了Java中的强类型特性,包括整数、浮点数、字符串和布尔值的使用。强调了浮点数的舍入误差问题及其解决方案——使用BigDecimal。此外,还探讨了字符串对象的内存分析和比较,以及字符的Unicode编码和转义字符。最后提到了布尔值的使用。
摘要由CSDN通过智能技术生成

Java是强类型语言

整数:long类型要在数字后面加个L

long num1 = 30L;
int num2 = 30;
byte num3 = 30;
short num4 = 30;

拓展

int i = 10;
int i2 = 010;//八进制o
int i3 = 0x11;//十六进制0x

System.out.println(i); //输出10
System.out.println(i2); //输出8
System.out.println(i3); //输出17

浮点数:float类型要在数字后面加F

float num5 = 50.1F;
double num6 = 3.14159;

拓展

float f = 0.1f;
double d = 1.0 / 10;
System.out.println(f == d);   //输出 false  f:0.1 d:0.1

float d1 = 23131312312312313f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //输出 true

原因:

float(浮点数):有限、离散、存在舍入误差、近似数,因此最好不用浮点数进行比较

解决方案:用BigDecimal——数学工具类


字符串:string不是关键字,是一个类

char name='A';
char namea='中';
String nameb="中国";

拓展

1.所有的字符本质还是数字

char c1 = 'a';
char c2 = '中';
System.out.println(c1); //输出 a
System.out.println((int) c1); //输出 97  强制转换
System.out.println(c2);  //输出 中
System.out.println((int) c2); //输出 20013 强制转换

unicode编码表:(97=a 65=A) U0000-UFFFF占2个字节 可表示 65536 个字符

**2.转义字符:\t \n \u **

char c3 = '\u0061'; //十六进制 61H=97D 
System.out.println(c3); //输出a

3.对象 从内存分析

String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb); //输出false

String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd); //输出true

布尔值:是非

boolean flag1=true;
boolean flag2=false;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值