Java的数据类型和运算符

有不对的地方,欢迎各位指正~没有错误,哪来的进步啊!


数据类型

    Java是一种强类型语言,也就是严格区分不同的数据类型。

    那啥是数据类型呢:数据存储在内存中的时候,需要的存储容量不同,所以就需要不同的数据类型占用的内存空间大小不一样,用来存储不同的数据。


Java的数据类型总的来说分成两种:基本数据类型和引用数据类型

对于新手阶段来说,先要知道基本数据类型,这是非常重要的,必须要记住的!!!

基本数据类型有四类,一共是八种

整型:byte,short,int,long   分别占内存(单位:字节)    1    2   4   8

浮点型:float,double   分别占内存(单位:字节)4   8

字符型:char   占内存(单位:字节) 1

布尔型:boolean   占内存(单位:字节)   1

字符型常量有三种表示形式

1.直接通过单个字符来指定字符常量:例如’A’’9’等。

2.通过转义字符表示特殊字符常量:例如’\t’,’\n’等。

3. 直接使用 Unicode 值来表示字符常量,格式是 ’\ uXXXX ’, 其中 XXXX 代表一个 16 进制的整数


使用变量

第一种声明变量:byte b;  shortnumchar c;  booleanb;

第二 种声明变量并赋值: int  a=10;    boolean b = true/false; double d=3.14;


类型转换

Java的四类八种数据类型中,除了布尔类型(boolean)之外,其余七种数据之间可以相互转换,总共有两种转换方式:自动类型转换和强制类型转换

自动类型转换如果系统支持把某个基本类型的值直接赋给另一种基本类型的变量,则称自动类型转换。当一个表数范围小的数值或者变量直接赋给另一个表数范围大的数时,系统可以自动进行类型转换。好比两瓶水,把小瓶水倒入大瓶水。

举个例子:byte a = 1; byte b = 5;   int a = (int)(a+b)    表示范围long>int>short>byte  根据存储空间比较


强制型转换:当一个表数范围的数值或者变量直接赋给另一个表数范围小的数时,就需要强制类型转换了。好比两瓶水,把大瓶水倒入小瓶水,如果大瓶中的水不多才可以倒入小瓶

          int  a  =  5;因为byte的表示范围在-127~126之间,所以  byte b = (byte)a;

如果a 的值超过126或者小于-127,再转换成byte 的话会报错


运算符

那么什么是运算符呢:种特殊的符号,用以表示数据的运算、赋值和比较等。就跟数学里面的加减乘除符号一样,都是运算符。

运算符分类:

1.算术运算符,2.赋值运算符,3.关系运算符,4.逻辑运算符,5.位运算符,6.其他运算符


1.算术运算符

什么是算术运算符:执行基本的数学运算:加(+),减(-),乘(*),除(/),求余(%)等

“+”加法运算符

doublea = 5.2;

doubleb = 3.1;

doublesum= a + b;

//sum的值为8.3

System. out.println ( sum );

注意:加法除了做数值运算还可以做为字符串的连接运算符,在Java中任何数据一旦与字符串相加就会变成字符串

“- ” 减法运算符

doublea = 5.2;

doubleb = 3.1;

doublesub= a- b;

//sub2.1

System. out.println (sub);

“* ” 减法运算符

doublea = 5.2;

doubleb = 3.1;

doublemultiply= a*b;

// multiply16.2

System. out.println ( multiply );

“/ ” 除法运算符

除法运算符有些特殊,当相除的两个数都是整型时,得到是自然除法的结果截断取整。例如:

正常数学:19/4=4…3

计算机数学:19/4=4

并且除数不可以为 0

当相除的两个数有一个是浮点数或者两个数都是浮点数时,则计算的结果也是浮点数。例如:19.0/4=4.75

允许除数为 0 或者 0.0, 得到结果为正无穷大或负无穷大

“%” 求余运算符

1.两个数都是整数,则除数不能为0,整除后得到结果剩余的值就是余数。

2. 至少有一个是浮点数,则允许除数为 0 或者 0.0, 只是得到的结果为 NaN


/%的区别?

Java中是整除求商 3=10/3

%Java中是整除求余数 1=10%3

++--

++代表一个数自身加一     3++++3 的结果为4= 3+1

-- 代表一个数自身减一      3- - -- 3 的结果为 2   2=3- 1

++“和”--“用于数值变量之前,在赋值操作中,先对被”++“或”--“操作变量值先加1或者先减1,然后在进行其他的操作;

           "++" 和” --“ 用于数值变量之后,在赋值操作中,先用被” ++“ 或” --“ 的操作变量值进行其他的操作,然后在对其值加 1 或者减 1


赋值运算符

什么是赋值运算符?

为变量指定变量值,在Java中使用=来为变量赋值,通常是使用一个赋值运算符讲一个常量赋值给变量

//为变量str赋值

Stringstr= “hello”;

//为变量pi赋值

d oublepi = 3.14;

同时也可以把一个变量赋值给另一个变量。

//把变量str赋值给str2

Stringstr2 = str;

inta;

intb;

//同时为整数型变量a,b赋值7

a= b = 7;

关系运算符又名比较运算符。用于比较两个常量或者变量的大小。比较的运算结果是一个boolean类型的结果truefalse。

Java的数据类型和运算符_第1张图片


关系运算符

关系运算符又名比较运算符。用于比较两个常量或者变量的大小。比较的运算结果是一个boolean类型的结果truefalse。

Java的数据类型和运算符_第2张图片


==  与 =  之间的区别

==用于两边数据的比较     3==5   ---》false

    4==4 ---》true

=用于赋值

int  a = 4;  声明一个变量,并且把它赋值 4


逻辑运算符:判断两个操作数之间的关系

Java的数据类型和运算符_第3张图片

&&&的区别,|||的区别

&&(短路与)个同时为真,才为真,只要一个为假,就为假

&&   只要前面的表达式为false,后面不执行

  &就算前面的表达式为false,后面依然执行,当两边都是数字的时候,是位运算符,对应位都为1的时候才为1,有一个为0,结果为0

当两边都是数字时,对应的位,只要有一个为1结果为1

||(短路或)个只要有一个为真,结果为真,两个都为假,结果为假

&&    ||   !)运算符两边都必须是布尔表达式

|   & )两边不一定是布尔表达式 , 也可以是数字,但表示的意思不一样


位运算符

什么是位运算?

计算机用来计算的。

什么是位运算符?

计算机计算时使用的符号。

分为四类:

&

!

^异或


1.与运算符用符号“&”表示,其使用规律如下

个数都是1,才是1,否则为0,0与任何数相与为0

a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128

   10000001

& 10000000

-------------------------

   10000000

或运算符用符号“|”表示,其运算规律如下

1与任何数相或为1

a的值是129,转换成二进制就是10000001,而b的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129

   10000001

10000000

------------------------

   10000001


非运算符用符号“~”表示,其运算规律如下

如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。

3的二进制为:11

~3  为: 00


异或运算符是用符号“^”表示的,其运算规律是

相同为0不同为1

a的值是15,转换成二进制为1111,而b的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为110113

   1111

0010

------------

   1101

你可能感兴趣的:(JavaSE,Java,变量,类型转换,运算符)