Java数据类型和运算符基本知识点

Java数据类型和运算符基本知识点

数据类型

数据类型

数据类型visio图

基本数据类型

byte:
        ~~~~~~~ ●byte 数据类型是8位(1字节)、有符号的,以二进制补码表示的整数;
        ~~~~~~~ ●最小值是 -128(-2^7);
        ~~~~~~~ ●最大值是 127(2^7-1);
        ~~~~~~~ ●默认值是 0;
        ~~~~~~~ ●包装类为Byte。
short:
        ~~~~~~~ ●short 数据类型是 16 位(2字节)、有符号的,以二进制补码表示的整数;
        ~~~~~~~ ●最小值是 -32768(-2^15);
        ~~~~~~~ ●最大值是 32767(2^15 - 1)
        ~~~~~~~ ●默认值是 0;
        ~~~~~~~ ●包装类为Short。
int:
        ~~~~~~~ ●int 数据类型是32位(4字节)、有符号的,以二进制补码表示的整数;
        ~~~~~~~ ●最小值是 -2,147,483,648(-2^31);
        ~~~~~~~ ●最大值是2,147,483,647(2^31 - 1);
        ~~~~~~~ ●整型变量一般默认为 int 类型;
        ~~~~~~~ ●默认值是 0 ;
        ~~~~~~~ ●包装类为Integer。
long:
        ~~~~~~~ ●long 数据类型是 64 位(8字节)、有符号的,以二进制补码表示的整数;
        ~~~~~~~ ●最小值是 -9,223,372,036,854,775,808(-2^63);
        ~~~~~~~ ●最大值是 9,223,372,036,854,775,807(2^63 -1);
        ~~~~~~~ ●变量定义:long 变量名=数值L;
        ~~~~~~~ ●默认值是 0L;
        ~~~~~~~ ●包装类为Long。
float:
        ~~~~~~~ ●float 数据类型是单精度、32位(4字节)的浮点数;
        ~~~~~~~ ●变量定义:float 变量名 = 初始值f;
        ~~~~~~~ ●默认值是 0.0f;
        ~~~~~~~ ●包装类为Float。
double:
        ~~~~~~~ ●double 数据类型是双精度、64 位(8字节)的浮点数;
        ~~~~~~~ ●浮点数的默认类型为double类型;
        ~~~~~~~ ●对于浮点数来说,尤其是double,是有精度的(例如1.1*1.1=1.210000000002)不能表示精确的值;
        ~~~~~~~ ●包装类为Double。
char:
        ~~~~~~~ ●char类型是一个单一、非负的 16 位 (2字符)Unicode 字符;
        ~~~~~~~ Unicode字符编码集(可以表示中文、希腊文、拉丁文等等,且包含ASCII码表);
        ~~~~~~~ ●最小值是 \u0000(即为0);
        ~~~~~~~ ●最大值是 \uffff(即为65,535);
        ~~~~~~~ ●默认值为 \u0000(即为0);
        ~~~~~~~ ●char 数据类型可以储存任何单个字符;
        ~~~~~~~ ●变量定义:char 变量名 = 单引号+ 字符;
        ~~~~~~~ ●包装类为Character。
boolean:
        ~~~~~~~ ●没有规定大小
        ~~~~~~~ ●只有两个取值:true 和 false;
        ~~~~~~~ ●默认值是 false。

引用数据类型

String:
        ~~~~~~~ ●变量定义:String 变量名 = 双引号+若干字符;
        ~~~~~~~ ●字符串的拼接使用+号;
        ~~~~~~~ ●注:当有字符串和其他的数据类型进行拼接时,整体的结果就是一个字符串的形式进行呈现;字符串前的运算不变,一旦遇到字符串后,所有的+变为拼接,不再做其原来的运算。

常量与变量

变量:
        ~~~~~~~ 程序在运行期间可以改变值的
常量:
        ~~~~~~~ 在程序运行期间,不可以改变值
        ~~~~~~~ ●字面常量(int age =18,其中18为整型字面常量)
        ~~~~~~~ ●被final所修饰的变量(final int age =18,age为最终变量即常量)其中定义最终变量与赋值可分开进行,但只可赋值一次;而 final:用于修饰常量、修饰函数、修饰类。

运算符

基本四则运算符:         ~~~~~~~ +         ~~~~~~~ -         ~~~~~~~ *         ~~~~~~~ /         ~~~~~~~ %
/:除         ~~~~~~~ 注:除数不能为0
%:取模或求余 取余的结果的正负由%前的数正负决定
求余可以对小数进行求余,但C语言是不可以的

增量赋值运算符: += (a += 1等价于 a = a + 1) -= *= /= %=

自增自减运算符: ++ –
前置++和后置++,如果没有进行赋值操作那么二者等价,
如果进行赋值操作,后置++是先使用后++,前置++是先++后使用

关系运算符: == >= <= != > <
所有的关系运算结果是boolean型

逻辑运算符:(运算符两边必须为布尔型)
&&逻辑与:(表达式1&&表达式2,运算遵循真值表)
||逻辑或: (表达式1||表达式2,一真则真,否则假)
!逻辑非: (!表达式,表达式必须为boolean型)
短路与&&: 只要第一个表达式为假,后面的表达式则不执行
短路或||: 只要第一个表达式为真,则后面的表达式不执行

位运算符:
&按位与、|按位或两边若为boolean型相当于逻辑与和逻辑或,但不具备短路性质
按位与&:对应位都为1时,才是1,其他情况均为0
按位或|:只要有1一个位是1,就是1,其他情况为0
按位异或^:不一样的位上进行或操作,对应位一样的就是0
按位取反~:遇0变1,遇1变0

移位运算:
>>右移
        ~~~~~~~ >>1相当于/2^1
        ~~~~~~~ <<2相当于/2^2
<<左移
        ~~~~~~~ <<1相当于2^1
        ~~~~~~~ <<2相当于
2^2
>>>无符号右移:不管符号位是1(负)还是0(正),只补0
        ~~~~~~~ 注:没有无符号左移
补符号位:符号位最高位为1补1,为0补0
补码:负数在内存中存储(负数源码—>符号位不变,其他位取反得到反码—>反码+1得到补码)例如: -1 源码1000 0001 反码1111 1110 补码1111 1111
条件运算符(三目运算符):
表达式1 ?表达式2 :表达式3
表达式1如果为真,那么结果为表达式2,如果为假,结果为表达式3
表达式1的类型一定为boolean型

发布了27 篇原创文章 · 获赞 4 · 访问量 1053

猜你喜欢

转载自blog.csdn.net/Lb_CsdnJava/article/details/103132429