7.16第二天jave学习

字符串: String类(不是基本数据类型,属于引用数据类型)
值null可以赋值给任何引用类型(类、接口、数组)的变量,用以表示这个引用类型变量中保存的地址为空。

String类是一个典型的不可变类,String对象创建出来就不可能被改变。
创建出的字符串将存放在数据区,保证每个字符串常量只有一个,不会产生多个副本。中数据类型变量做运算
String可以和8种数据类型做运算,其运算只能是连接运算:+,运算结果还是String型

5、基本数据类型转换
5.1、自动类型提升
容量小的类型变量自动转换为容量大数据变量。按容量大小(表示数的范围,不是字节数的多少)排序为:

有多种类型的数据混合运算时,系统首先自动将所转换成容量最大那种数据类型,然后再进行计算。
byte,short,char 之间不会相互转换,他们三者在计算时首先为 int 类型 。
boolean 类型不能与其它数据运算。
当把任何基本数据类型的值和字符串 (String) 进行连接运算时 (+) ,基本数据类型的值将自动转化为字符串 (String) 类型 。

5.2、强制类型转换
自动类型转换的逆过程 ,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 :() ,但可能造成精度降低或溢出 ,格外要注意 。
通常 ,字符串不能直接转换为基本类型 ,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型 。
Ø如: String a = “97”; int i = Integer.parseInt (a);
Øboolean 类型不可以转换为其它的数据类型。

6、变量
按声明位置分类
在方法体外,类内声明的变量称为 成员变量 。
在方法体内部声明的变量称为 局部变量 。

两者在初始化值方面的异同:
异:局部变量除形参外,需显示初始化
同:都有生命周期

7、运算符
算术运算符

取模运算的结果正负号与被模数有关
自增运算不会改变本来的数据类型

赋值运算符
符号: =
Ø当“=”两侧数据类型不一致时, 可以使用自动类型转换或使用强制类型转换原则进行处理 。
Ø支持连续赋值 。
扩展赋值运算符: +=, -=, *=, /=, %=

比较运算符

比较运算符的结果都是 boolea型,也就是要么true,要么是 false 。

逻辑运算符
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或

逻辑运算符用于连接布尔型表达式,在 Java中不可以写成 3<x<6,应该写 成x>3 & x<6。
& 与 && 的结果相同

&和&&的区别
单&时,左边无论真假,右边都参与运算
双&时,左边为真,右边参与运算。左边为假,右边不参与运算

|和||的区别 与上同理

位运算符


位运算符直接对整数(整型)的二进制进行运算
<< : 在一定范围( int 32位)内,每向左移一位,相当于 * 2

: 右移 (如果最高位为1 复数 拿1补,如果最高位为0 正数 拿0补)

三元运算符
格式: (条件表达式)?表达式一:表达式二; //必须返回一个结果(表达式)
条件表达式的结果为Boolean型
凡是可以使用三元运算符的地方都可以改写为if else 语句,反之不成立

运算符优先级

 

posted @ 2021-07-16 21:59  清梦韶华  阅读(31)  评论(0编辑  收藏  举报