Java的基本数据类型和运算方法(必看篇)
编码
ASCII--0~12765-A97-a
西欧码表---ISO-8859-1---0-255---1个字节
gb2312----0-65535---gbk---2个字节
Unicode编码体系---utf-8---3个字节
中f
bit位Byte字节1Byte=8bit1KB=1024BMBGBTBPB---计算机中存储单位
常量
整数常量---所有的整数3,99,107
小数常量---所有的小数3.5100.9
字符常量---用单引号将一个字母、数字、符号标识起来‘a'‘='‘'
字符串常量---用双引号将一个或者多个字符标识起来“abc”“234”“q2”“”
布尔常量---用于表示逻辑值---true/false
空常量---null
5-整数,5.0-小数‘5'-字符“5”-字符串‘5.0'-写法错误“5.0”-字符串
进制
二进制:满二进一,0~11+1=100b100110b0011,从JDK1.7开始,允许以0b作为开头来标识一个数字是一个二进制数字
八进制:满八进一,0~7,7+1=10要求必须以0作为开头06015
十进制:满十进一,0~9
十六进制:满十六进一,0~9,,A~F,9+1=Af+1=10要求以0x作为开头0x50xad
进制的转换
十进制转换成二进制:不断除以2取余,然后将余数倒排
二进制转换成十进制:从低位次起,按位次乘以2的位次次幂,然后求和
二进制转换成八进制:从低位次起,每三位划分为一组,不足三位补0,产生一位八进制数字,将这些数字按序排列即可
八进制转换成二进制:一变三---一位八进制数字产生三位二进制数字
二进制转换成十六进制:四变一的过程
变量
System.out.println(i);
inti=5;---不行---变量必须先声明在使用
inti;
System.out.println(i);---不行----变量在使用之前必须先初始化
数据类型
基本数据类型
数值型
整数型
byte---字节型---1个字节----2^7~2^7-1----128~127
byteb=5;byteb2=-128;
short---短整型---2个字节----2^15~2^15-1----32768~32767
shorts=54;shorts=-900;
int---整型---4个字节----2^31~2^31-1
inti=100000;
intj=100_000_000;--从JDK1.7开始是允许的。在编译的时候会自动忽略这些_->intj=100000000;
inti=00001111;---八进制
Java中整数默认类型就是int
long---长整型---8个字节----2^63~2^63-1---以L作为结尾标识这个数字是一个long类型的数字
longl=3L;
浮点型
float---单精度---4个字节---必须以f作为结尾
floatf=3.2f;
double---双精度---8个字节
Java中小数默认是double类型
doubled=3.5;
doubled=4.6D;---可以
doubled=3.9e4;//是十进制的科学计数法
doubled=0x3p2;//是十六进制的科学计数法->12
字符型
char---2个字节---0~65535
charc=‘a';
charc=‘中';
布尔型
boolean---true/false
booleanb=false;
引用数据类型
类---class接口---interface数组---[]
数据类型的转换
隐式转换/自动类型转换
byteb=100;
inti=b;
longl=63;---可以---当整数的值在int类型的范围内的时候,可以不用添加L这个结尾
规律一:小的类型可以转化为大的类型---byte->short->int->longfloat->double
inti=5;
floatf=i;
longl=6;
floatf=l;
规律二:整数可以转化为小数,但是可能产生精度损失
charc=‘a';
inti=c;
规律三:字符型可以转化为整型
shorts=‘a';---可以
charc=100;---可以
charc=‘a';
shorts=c;---不可以
定义了char类型的变量c,存储的数据是一个字符,不需要检查具体的字符编码,当赋值给short类型的时候,short需要检查这个字符对应的编码是否在short类型的取值范围内,这个时候无法确定这个字符对应的具体编码,由于short类型的取值范围和char类型没有完全重合,为了防止出现超过范围的情况,不允许赋值。
shorts=97;
charc=s;--不可以
显式转换/强制类型转换
longl=54;
inti=(int)l;
doubled=3.5;
inti=(int)d;---小数强转成整数的时候,小数部分直接舍弃
double类型不能精确存储小数
Hexadecimal--十六进制
Decimal--十进制
Octal---八进制
Binary--二进制
运算符
算术运算符
+加-减*乘/除%取模++自增--自减+字符串拼接
inti=5210/1000*1000;--->i=5000;
注意:
1.整数运算完成之后结果一定是整数
2.整数除以0的时候,编译通过,运行报错---ArimeticException---算术异常
3.小数除以0的结果是Infinity
4.0/0.0的结果是NaN---NotaNumber---非数字
5.byte/short类型在运算的时候会自动提升为int类型
%取余运算
-5%3=-2-4%3=-1-3%7=-3
5%-3=27%-2=12%-8=2
-5%-3=-2-9%-3=0
对于负数的取余,先按照正数的取余运算,看取余符号左边的数字的符号,如果左边是负数,那么结果就是负数
5%1.2=0.26%1.3=0.8
4.3%1.4=0.1
++/--
对于++在原来的基础上自增1
inti=5;
intj=++i;--->i自增1,然后将i的值赋值给j---先自增,再运算
intj=i++;--->先获取i的值5,i自增变成6,然后将获取的值5赋值给j---先运算,再自增
inti=3;
intj=++i*2;->j=8;
intj=i++*2;->j=6
inti=6;
intj=i+++++i;->i=8;j=14;
intj=++i+i++;->i=8;j=14
byteb=5;
b++;---JVM在底层会对结果进行强制类型转换,将结果再转换为byte类型
charc=‘a';
System.out.println(c+4);--可以
charc2=‘d';
System.out.println(c+c2);---提升为int类型之后再进行运算
+字符串拼接运算
“a”+“b”--->“ab”
“a”+3--->“a3”
“a”+true->“atrue”
2+4+“f”->“6f”
“f”+2+4->“f24”
赋值运算符
=+=-=*=/=%=&=|=^=<<=>>=>>>=~=
inti=5;
i+=3;->i=i+3;->i=8;
i-=2;->i=i-2;->i=3;
intj;
j+=4;---不行
inti=5;
i+=i-=i*=5;-->i=-15;
i=5+(5-(5*5));
i+=i-=i*=++i;--->i=-20;
i+=i*=i-=(i+++--i);--->i=-20;
i=5+(5*(5-(5+5)));
byteb=5;
b+=3;---可以
byteb=125;
b+=3;---可以----128
比较/关系运算符
==相等!=不等><>=<=instanceof
3==4;->false
instanceof---判断对象与类的关系的--只能用于引用数据类型
Strings=“abd”;
System.out.println(sinstanceofString);---true
System.out.println(“def”instanceofString);---true
逻辑运算符
用于运算逻辑值
&与|或!非^异或&&短路与||短路或
true&true=truetrue&false=falsefalse&true=falsefalse&false=false
true|true=truetrue|false=truefalse|true=truefalse|false=false
!true=false!false=true
true^true=falsetrue^false=truefalse^true=truefalse^false=false
对于&&,如果前一个表达式的值为false,那么就能确定整个表达式的值为false,&&后边的运算就不再进行了
三元/三目/条件运算符
逻辑值?表达式1:表达式2
如果逻辑值为true,执行表达式1;反之执行表达式2
inti=5,j=7;
i>j?System.out.println(i):System.out.println(j);---不行!三元运算符运算完成之后必须有结果!
doubled=i>j?i*2.5:j;---两个表达式的返回值类型要么一致,要么相容
从控制台获取数据
importjava.util.Scanner;//写在package之下,class之上
Scanners=newScanner(System.in);
inti=s.nextInt();
doubled=s.nextDouble();
Stringstr=s.nextLine();
Stringstr2=s.next();
以上这篇Java的基本数据类型和运算方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。