Java学习Day03

数据类型
  1. 强类型语言,变量的使用要求严格符合规定,所有变量都必须先定义后使用(Java,C)

  2. 弱类型语言,变量使用可以不严格符合规定(CB,JS)

基本类型

注意byte也是整数类型;boolean虽然用一位可以表示,但是计算机允许分配内存最小单位是1字节,所以boolean类型占一个字节
在这里插入图片描述

整数类型

整数类型正负转换:~(var-1);正数的原码反码补码相同,负数的原码为正数原码符号位取反,反码为原码除符号位取反,补码为反码加1

整数类型的范围:-2^(n-1) ~ 2^(n-1)-1

Java整型常量(具体值)默认为int,声明long型常量需加L

int n1 = 1;
int n2 = 1L;//编译错误
浮点类型

浮点型存放形式为:符号位+指数位+尾数位;尾数部分可能丢失,造成精度损失;建议不确定精度的情况下使用double

Java浮点型常量(具体值)默认为double,声明float型常量需加F;注意float定义时要加F标记

float number = 50.1F;

浮点数使用陷阱:

double n1 = 2.7;
double n2 = 8.1 / 3;//接近2.7
/*
*注意不要对两个运算过后的小数进行相等比较,而是判断两个值的差值是否再一个精度范围内
*/
字符类型
  • 占两个字节,可以存放汉字;

  • 字符常量用单引号引用’’

  • 也可以直接存放一个数字,表示Unicode码

  • 再Java中char本质上是一个整数,在输出时,将其转换Unicode码对应的字符

  • char也支持运算,相当于一个整数

  • char在内存中是Unicode对应的整数

char c1 = 97;//输出A
char c2 = 'R';//""引用的表示字符串
System.out.println('a' + 10);//输出107
计算机编码方式

在这里插入图片描述
Java 语言内部使用的是 Unicode 字符集,存储一个字符时,支持 UTF-16 和 LATIN1 两种编码方式。但其实,Java 内部还实现了 ASCII、UTF-8 编码,可以很容易实现这些编码之间的相互转换。Unicode兼容ASCII,前127个字符与ASCII一样。
在这里插入图片描述

布尔类型

不可以使用0或非0的整数来代替false和true

boolean bool = 1;/编译错误
基本数据类型转换
  • 自动类型转换:在赋值和运算时自动转换,精度小的自动转换成精度大的;(byte,short)和char之间不会自动转换;byte,short和char之间可以进行计算(混合或单独运算),计算时首先转换为int类型;boolean类型不参与类型的自动转换
    在这里插入图片描述
 byte b1 = 1;
 byte b2 = 1;
 short s1 = 1;
 short s2 = b1 + s1;//错误,byte和short计算得到int类型结果
 byte b3 = b1 + b2;//错误,byte和byte计算也得到int类型结果
  • 强制类型转换:将容量大的类型转换成容量小的类型,要使用强制转换符(),但可能造成精度降低或溢出。
    //强转符号只对最近的操作数有效,往往会使用小括号提升优先级
    int x = (int)10 * 3.5;//只对10有效,编译错误
    int x = (int) (10 * 3.5 + 1.5);//正确
    //char类型可以保存int常量值,但不能保存int变量
    char c1 = 100;//ok
    int m = 100;
    char c2 = m;//错误
    
基本数据类型和String类型的转换

String不是基本类型,而是数组类型

基本类型转String
//基本类型的值+""
int n1 = 1;
String str1 = n1 + "";
String转基本类型

通过基本类型的包装类调用parseXX方法

Integer.parseInt("123");
运算符

是一种特殊符号,用以表示数据的运算、赋值、比较

算数运算符

在这里插入图片描述
在这里插入图片描述
赋值的过程引入了中间变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值