一只刚出生的菜鸟学习java基本知识

一只刚出生的菜鸟,只要下定决心去学习,什么时候都不晚。坚持每天打卡,每天记录,每天学习,每天进步一点点~

java中的8种数据类型介绍

* java中的4种整数类型范围*
byte:一字节(八个比特位),即可以表示2^8=256个数,-128——127(中间有一个0);
short:两字节,2^16=65536,即-32768——32767;
int:四字节,约正负21亿;
long:八字节,-2^63——2^63-1;超级大的一个数字;对于长整形数据,后面加l/L;

2种浮点型数据float和double
float
四字节 表示方法:(科学计数法)314E2=314*10^2;314E-2=314*^10(-2)=3.14;对于float类型的数据后面加F/f;
范围是:-3.4E38——3.4E38;
double
大整数:BigIngeter;大小数:BigDecimal;
(float)1.0f≠(double)1.0;因为浮点数有舍入误差,1.0f有可能是0.999999999;

1种字符型char:(2字节)
char采用Unicode字符集,该字符集包括世界上所有的字符(应该是);
char a1=’美’;用单引号来标注一个字符;
char c1=’a’;
char:可以表示0—65535的数字;char中的每一个字符(a/b/c)在Ascll码表中都对应相应的数字;
int i=c1+2;
i=99;(因为a在Ascll中对应的数字是97)
字符可以直接当做数字来用;
整数转为字符需要强制转换:由四字节到两字节;
int i=0;
while(i<26){
int a1=97+i;
char a2=(char)a1;
i++;
}
System.out.println(a2);

String是一个类,用来定义字符串,用双引号标注,eg:String temp=”abcdefg”;
char是一个基本的数据类型,用来定义一个字符,用单引号标注,eg:a=‘A’;

1种布尔型boolean:一位,一个字节有八位,只有true和false这两个值,一般用来作为逻辑判断条件;

小贴士

java 中默认的规则
int a1=10;这里的10默认是整形,short b=15;15也是整形;
byte a2=120;是可以的;
如果没有超过byte、short、char的范围,可以自动转型,即由int到byte、short和char的自动转型;
浮点型常数默认是double数据;

转义字符:反斜杠+
\’:单引号
\”:双引号
\:反斜杠
\t:制表符
\n:回车(换行) println

进制转换
十进制转二进制:Integer.toBinaryString(a);
十进制转八进制:Integer.toOctalString(a);
为什么加入钟硕,只是因为个人爱好

至于为什么加入钟硕,只是个人爱好(羞涩)

类型转换

一、自动类型转换

容量(是指表示范围,不是指字节大小)小的可以自动转换为容量大的;
根据可以表示的字节要求,转换顺序是
这里写图片描述
特例
只要在byte(-128—127)、short和char(0—65535)的范围内,int都可以自动转型;

二、强制转换

强制转换是容量大的向容量小的转换,比如把一桶水装在一小杯里,装不下呀,所以要想装就得强制转换,有很多水都撒了,也就意味着损失精度;
当将一种类型强制转换为另一种类型时,超过了目标范围时,就会被完全截断为一个完全不同的值,这个值没有任何意义;
类型提升
一个int类型的数+一个long类型的数,结果为long;

一个经典的易错问题

int a=2000000000;(20亿)
int b=20;
long c=a*b;
结果是一个负数;这是为什么呢?
a*b是一个整形的数据,结果已经溢出,因此将溢出的结果赋值给长整形的c还是错误的;
那该怎么做呢?
long c=(long)a*b;这是对的;
然后long c=(long)(a*b)对吗?这是错的哦;
这是因为,a*b已经溢出了,所以即使再转为long也是无济于事的;

long c=70*365*24*60*60;结果是负数,溢出,因此要把一个数转为长整形,使得类型提升;
long c=70L*365*34*60*60;
L记得放在首位哦;

2016.8.16 整理之前的成果;可爱的小公举,*fighting!*
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值