2.数据类型转换、运算符、方法入门

范围小的类型向范围大的类型提升, byteshortchar 运算时直接提升为int

思考:为什么有的数据在转换过程中,后面的数据L、F忘写了,也可以运行?

答:默认的类型,自动转换

当数据类型不一样的时候,需要发生类型转换。

1.  自动类型转换(隐式

特点:代码自动完成

原则:范围小的转为范围大的类型;(从小到大)

2.  强制类型转换(显式)(从大到小)

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

注意事项:1.强制类型转换使用必须谨慎,因为有可能出现数据溢出,精度损失

2Byte/short/char三种类型,只要有运算,就都自动转换为int类型,然后再进行加减法运算

3.boolean类型不能发生类型转换

4.关系表:ASCII表:0-127

48=0;A=65;a=97(只需要记住这三个就行)

万国码:Unicode表,包含上面那个表

Char和int之间的转换

算术运算符:对数据进行操作的符号;

表达式:用运算符连起来的常量或变量,叫做表达式:a+b;1+2*3

符号:+、-、*、/、%(模);

用法:数据运算、char类型、字符串连接(任何数据与字符串连接都是字符串)

用法:数据运算、char类型、字符串连接(任何数据与字符串连接都是字符串)


注意事项:

1.对于除法,只看商不看余数:/

2.只看余数则是:%

3.如果当中有余数参与,那么结果直接就是小数

4.取模运用:判断奇偶

 

重点:变量和常量的运算

注意事项:1.只有变量才能使用自增自减

2.这种运算符只需要一个变量就行,不需要两个

3.赋值运算的左边智能是一个变量;

4复合复制运算符,其中隐含了一个强制类型转换

5.该加一定会加的,只不过是时间问题,


与:&  或:|  异或:^(两个相同就是false) 非:!

注意:如果写成以上双形式的逻辑运算符,只要左边的结果已经决定结果,右边根本不执行从而提高一丢丢性能

      任何情况下都非常推荐使用双写的&&和||。

三元运算格式:数据类型 变量名称 = 条件判断?表达式A:表达式B(如上图)

一元运算:++   ---

二元运算:+   - *   /

注意事项:三元运算表达式,结果必须被使用,不能不用判断的运算结果

打印输出语句可以支持所有类型,但是若果左侧是变量,必须同时保证表达式A和表达式B符合类要求。

例如:3>4?10.0:20   错误


方法的概念引入:程序结构化

Return:就是立即结束并返回值,而因为上述方法体类型是void类型,所以这个方法体可以不写void,省略。

掌握jdk.9的一个JShell窗口

了解编译器的常量优化,如果有变量那么编译器不会有优化的。

思维启发:1.注意拆解思想:例如,三个输出大值时,分解成两两比较。



猜你喜欢

转载自blog.csdn.net/qq_40406929/article/details/80984062