Java语言是静态类型的,也就说必须是先定义后再引用,所以变量或表达式在编译时已经确定了基本的类型结构,因此我们也说Java是一门强类型语言。强制类型我们必须给每个变量或每个表达式一个特定的类型,类型限制表达式可以掌管那些值。
我们通常把Java分成两种类型一种为基本类型另外一种为引用类型,基本类型我们通常又把它分为整形、浮点型和布尔型,而整形又可以分为byte、short、int、long、char分别用8、16、32、64、16比特位表示,(8bits=1个字节),而浮点型又分为float、double分别用32、64比特位表示,布尔型为 8 比特位(1 个字节),但只能是 True 或是 False。而引用类型也有类、接口、数组、空类型。
逻辑运算符用于连接布尔型表达式,逻辑运算符 与————&& 或————|| 非 ---! 其结果还是布尔值&& 全为真才是真有一假就是假,&&只要发现有一个假 后面的都不用去判断。||或全为假才是假 ,||只要发现有一个真后面的都不用判断。!只在后面连接布尔值或者布尔值类型的表达式,!布尔值的表达式要用括号包括起来。逻辑运算也遵循从左到右优先级顺序。
运算优先级
优先级 | 运算符 | 结合性 |
1 | () [] . | 从左到右 |
2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
3 | * / % | 从左向右 |
4 | +(加) -(减) | 从左向右 |
5 | << >> >>> | 从左向右 |
6 | < <= > >= instanceof | 从左向右 |
7 | == != | 从左向右 |
8 | &(按位与) | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |
说明:
1、 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。
2、 结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。
3、 注意区分正负号和加减号,以及按位与和逻辑与的区别。
条件语句程序执行的特性顺序(从上到下 从左到右)分支循环 分支具体体现在是if(条件选择语句)if语句结构 if(布尔值或着值为布尔表达式){条件值为true时执行语句}else{ 条件值为false时的语句}可以没有else语句 如果出现两种以上情况 可以使用if(){} else if(){} 。。。else{} else{}是可以省略的 但是必须罗列完整 else{}必须放在最右边 if else 使用原则:把范围小的或者计算简单的放在最前面
switch条件语句程序switch里面的case和default时在编码时是无序的,原则是把default放在最后 switch在执行时 是要先执行完所有的case在执行default。如果某几种case的语句块一样或者要做相同的处理 ,我们可以进行可并处理, 第一步:将下同的case分组,第二步:去除同一组内的最后一个case之前的所有的case语句块和break。
if和switch的比较
相同点:1.都是分支 2.都可以进行多种选择,选择结果这能是一种3.都有默认选择语句if---else,swich---default
不同点:条件表达式不同 if--布尔 switch--整数2.if用于不确定的情形下 switch首先结果是确定的,然后结果数量不多的。