Java基础知识点Day02--数据类型转换与运算符

Day02

1.数据类型转换

1.1自动类型转换(隐式)

1.特点:代码不需要进行特殊处理,自动完成。

2.规则:数据范围从小到大

1.2强制类型转换(显式)

1.特点:代码需要进行特殊的格式处理,不能自动完成。

2.格式:范围小的数据类型 范围小的变量名 = (范围小的类型)原本范围大的数据;

3.注意事项:

(1)强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。

例如:int num = (int) 100L;

(2)byte/short/char这三种类型都可以发生数学运算。

(3)byte/short/char这三种类型在运算的时候都会首先被提升成为int类型,然后再计算。

例如:byte num1 = 20;

byte num 2 = 30;

result = num1 + num2;

// byte + byte —> int + int;

所以result的数据类型是int ,不是byte;

(4)boolean类型不能发生数据类型转换。

1.3ASCII编码表

特殊记忆:ASCII值为48:代表数字0;(0~9依次类推)

​ ASCII值为65:代表大写字母A;(A~Z依次类推)

​ ASCII值为97:代表小写字母a;(a~z依次类推)

2.运算符

1.四则运算符

(1)除法:对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商不看余数。

例如:10/3=3;

(2)四则运算中"+"的三种用法

1)对于数值来说,就是正常的加法。

2)对于字符char类型来说,在计算之前,char会被提升成int,然后再计算。对照ASCII表或者Unicode表。

3)对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串。

2.取模运算%

取余数: 只有对于整数的除法来说,取模运算符才有余数的意义。

注意事项:

一旦运算中有不同类型的数据,那么结果将会是数据类型范围大的那个。

3.自增自减运算符

以自增运算为例:

(1)基本含义:让变量加一

(2)使用格式:++num,也可以num++。

(3)使用方式:

​ 1)单独使用:不和其他任何操作混合,自己独立成为一个步骤。

​ 2)混合使用:和其他操作混合,例如与赋值混合,或者与打印混合等。

(4)使用区别:

​ 1)单独使用的++num和num++结果没有任何区别。

​ 2)混合使用时,前加加(++num)先加后用,后加加(num++)先用后加。

注意:只有变量才能使用自增自减运算,常量不可以。

4.赋值运算符

(1)基本赋值运算符

“=”:把等号右边的数据交给等号左边的变量。例如:int a =9;

(2)复合赋值运算符

​ += a += 3 ------> a = a + 3

​ -= a -= 3 ------> a = a - 3

​ *= a *= 3 ------> a = a * 3

​ /= a /= 3 ------> a = a / 3

​ %= a %= 3 ------> a = a % 3

注意:

(1)只有变量才能使用赋值运算符,常量不能。

(2)复合赋值运算符中隐含了一个强制类型转换。

​ 例如:byte a = 10;

​ a += 5; //a = a + 5 隐含了 byte + int---->int + int的转换

5.比较运算符

大于、小于、大于等于、小于等于、相等(==)、不相等(!=)

注意:

(1)比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false

(2)如果进行多次判断,不能连着写

6.逻辑运算符

与:&&

或:||

非:! (取反)

特殊记忆:与"&&",或"||",具有短路效果,根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。

注意:逻辑运算符只能用于boolean值。

7.三元运算符

一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反(!)、自增(++)、自减(–)。

二元运算符:需要两个数据才可以进行操作的运算符。例如:加法运算、赋值运算。

三元运算符:需要三个数据才可以进行操作的运算符。

(1)格式:数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;

(2)流程:首先判断条件是否成立:

​ 如果成立为true,那么将表达式A的值赋给左侧变量。

​ 如果不成立为false,那么将表达式B的值赋给左侧变量。

​ 二者选其一。

注意事项:

(1)必须同时保证表达式A和表达式B都符合左侧数据类型。

(2)三元运算符的结果必须被使用。(要么赋值给一个新的变量,要么放到打印输出语句里)

你可能感兴趣的:(Java基础知识)