目标黑马,我的自学之路:第二章 运算符和程序流程控制
2014-10-12 17:24
309 查看
一、运算符
1、算数运算符
无非是我们学习的加减乘除,但在java中多了几个特有的算数运算符:自加 ++,自减 --,取模 %以及用来连接字符串的+;接下来用一段代码详细说明各种情况。
2、赋值和比较运算符
赋值运算符除了我们平时用的“=”之外,java为我们提供了“+=”、“-=”,“/=”,“*=”,“%=”,在学习基本数据类型时,我们知道计算机默认的整数类型为int,如果我们定义一个其他类型的整数型,在对其进行运算赋值时,我们需要对其进行强转,而这些特殊的赋值运算符的出现简化了我们的书写,自动完成转换动作并赋值。
比较运算符为“==”,“!=”,返回值是boolean型的。
3、逻辑运算符
逻辑运算符用于连接boolean型的表达式,分别有"&","|","^",“!”,"&&","||",“&”,"|",“!”的应用结果和我们学物理电路时是一样的,这里重点说的是“^”,"&&","||"。
“^”和“|”相似,但当连接的boolean表达式的结果都是true是运算结果是false,而“&&”“||”一定程度上是对代码的优化,在用其连接的表达式中,当判断到false时,对于“&&”连接的表达式不会在继续判断,直接返回false,相对应的当判断到true时,用“||”连接的表达式也会停止继续判断,返回true。
4、位运算符
位运算符包括"<<",">>",“&”,“|”,“^”,">>>",“~”。
"<<"的结果是乘以2的移动位数次幂,“>>”的结果是除以2的移动位数次幂,在右移之后最高二进制位是什么就补什么,而“>>>”是无符号位移,既不管最高位是什么都补0;“&”,“|”,“^”的运算则是转换成二进制进行取值,令“^”能完成对数据的加密。
5、三元运算符
三元运算符的格式为:(条件表达式)?表达式1:表达式2;它其实是if else语句的简写,简写必有局限性,它的局限性在于必须要有返回结果。
二、程序流程控制
1、判断结构
通过if语句来实现,有三种格式分别为 :(1) if(条件表达式){执行语句;}(2)if(条件表达式){执行语句;}else(条件表达式){执行语句;}
(3)if(条件表达式){执行语句;}elst if(条件表达式){执行语句;}……else(条件表达式){执行语句;}
当需要对同一个变量进行多次判断时,用(1)和(3)都可以完成,但是当我们选择用(1)的时候即使判断到满足的条件,jvm还是会继续执行后面的判断,而(3)的方 法中判断到满足条件时就会停止判断,这是两种方法的区别。
2、选择结构
结构形式为:switch(表达式){case:取值1 执行语句; case:取值2 执行语句; …… default 执行语句; break;}
注意:case与default之间没有顺序,当default没有写在最后而case中也没有break时,因为程序没有执行到break或者},会继续执行没有执行语句直到执行到break或者}为止。
3、循环结构
语句结构有三种:(1)while(条件表达式){执行语句;}(2)do{执行语句;}while(条件表达式)
(3)for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}
(1)是先判断条件在执行语句,(2)是先执行一次循环体,在判断条件。
无限循环的最简单表现形式: (1)for(;;;){} (2) while(true){}
无限循环存在的意义在于不知道具体循环多少次,在循环内定义条件控制循环。
4、语句的选择
(1)if和switch:如果判断的数值不多且数值类型为byte,short,int,char中的一种,则选择switch,它的效率稍高 ,如果是判断区间,或者是对boolean类型的断断, 则使用if语句。
(2)for和while:对于变量,初始化表达式中的变量只作为循环增量存在,控制循环次数,则选择for,控制内存 。
5、其他流程控制语句
break和continue都有应用范围,离开了应用范围没有意义,且在这两个语句下面不可以写语句,因为执行不到。break作用于选择结构和循环结构,用于结束语句,continue作用于循环结构,用于结束本次循环开始下一次循环。
1、算数运算符
无非是我们学习的加减乘除,但在java中多了几个特有的算数运算符:自加 ++,自减 --,取模 %以及用来连接字符串的+;接下来用一段代码详细说明各种情况。
int x=4270; x=x/1000*1000; System.out.println(x);//int为整数型,所以x/1000为4 System.out.println('a'+1);//这是加法运算 System.out.println("haha"+"hahah");//字符串数据与任何数据使用+相连接,最后都会变成字符串数据 System.out.println("ha="+5+5);//输出结果为ha=55,理由同上 System.out.println(5%5);//取余数 System.out.println(-1%5);//取模正负看前面被取模值的正负
int a=3,b,c; b=a++;//a++=a+1,自加后先把a值赋给b,在把a++值赋给a c=++a;//++a=a+1,自加前先把a+1的值赋给a,在把a值赋给c
2、赋值和比较运算符
赋值运算符除了我们平时用的“=”之外,java为我们提供了“+=”、“-=”,“/=”,“*=”,“%=”,在学习基本数据类型时,我们知道计算机默认的整数类型为int,如果我们定义一个其他类型的整数型,在对其进行运算赋值时,我们需要对其进行强转,而这些特殊的赋值运算符的出现简化了我们的书写,自动完成转换动作并赋值。
比较运算符为“==”,“!=”,返回值是boolean型的。
3、逻辑运算符
逻辑运算符用于连接boolean型的表达式,分别有"&","|","^",“!”,"&&","||",“&”,"|",“!”的应用结果和我们学物理电路时是一样的,这里重点说的是“^”,"&&","||"。
“^”和“|”相似,但当连接的boolean表达式的结果都是true是运算结果是false,而“&&”“||”一定程度上是对代码的优化,在用其连接的表达式中,当判断到false时,对于“&&”连接的表达式不会在继续判断,直接返回false,相对应的当判断到true时,用“||”连接的表达式也会停止继续判断,返回true。
4、位运算符
位运算符包括"<<",">>",“&”,“|”,“^”,">>>",“~”。
"<<"的结果是乘以2的移动位数次幂,“>>”的结果是除以2的移动位数次幂,在右移之后最高二进制位是什么就补什么,而“>>>”是无符号位移,既不管最高位是什么都补0;“&”,“|”,“^”的运算则是转换成二进制进行取值,令“^”能完成对数据的加密。
5、三元运算符
三元运算符的格式为:(条件表达式)?表达式1:表达式2;它其实是if else语句的简写,简写必有局限性,它的局限性在于必须要有返回结果。
二、程序流程控制
1、判断结构
通过if语句来实现,有三种格式分别为 :(1) if(条件表达式){执行语句;}(2)if(条件表达式){执行语句;}else(条件表达式){执行语句;}
(3)if(条件表达式){执行语句;}elst if(条件表达式){执行语句;}……else(条件表达式){执行语句;}
当需要对同一个变量进行多次判断时,用(1)和(3)都可以完成,但是当我们选择用(1)的时候即使判断到满足的条件,jvm还是会继续执行后面的判断,而(3)的方 法中判断到满足条件时就会停止判断,这是两种方法的区别。
2、选择结构
结构形式为:switch(表达式){case:取值1 执行语句; case:取值2 执行语句; …… default 执行语句; break;}
注意:case与default之间没有顺序,当default没有写在最后而case中也没有break时,因为程序没有执行到break或者},会继续执行没有执行语句直到执行到break或者}为止。
3、循环结构
语句结构有三种:(1)while(条件表达式){执行语句;}(2)do{执行语句;}while(条件表达式)
(3)for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}
(1)是先判断条件在执行语句,(2)是先执行一次循环体,在判断条件。
无限循环的最简单表现形式: (1)for(;;;){} (2) while(true){}
无限循环存在的意义在于不知道具体循环多少次,在循环内定义条件控制循环。
4、语句的选择
(1)if和switch:如果判断的数值不多且数值类型为byte,short,int,char中的一种,则选择switch,它的效率稍高 ,如果是判断区间,或者是对boolean类型的断断, 则使用if语句。
(2)for和while:对于变量,初始化表达式中的变量只作为循环增量存在,控制循环次数,则选择for,控制内存 。
5、其他流程控制语句
break和continue都有应用范围,离开了应用范围没有意义,且在这两个语句下面不可以写语句,因为执行不到。break作用于选择结构和循环结构,用于结束语句,continue作用于循环结构,用于结束本次循环开始下一次循环。
相关文章推荐
- 目标黑马,我的自学之路:第一章 Java的概述
- 目标黑马,我的自学之路:第七章 字符串和字符串缓冲区
- 2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数
- java学习之路 之 基本语法-程序流程控制-循环结构-while循环练习题
- 目标黑马,我的自学之路:第三章 面向对象(上)
- Java基础——标识符+常量与变量+类型转换+进制转换+运算符+程序流程结构控制
- java学习之路之基本语法-程序流程控制
- 黑马程序员—Java编程基础+常量与变量+类型的转换+进制的转换+运算符+scanner的使用+程序流程结构控制+循环结构
- Java之运算符和程序流程控制
- 目标黑马,我的自学之路:第六章 多线程
- 目标黑马,我的自学之路:第十五章 TCP传输实例
- 目标黑马,我的自学之路:第九章 集合框架之Map以及其他类
- java学习之路 之 基本语法-程序流程控制-(if-else)语句练习题
- PHP自学过程之 运算符与流程控制
- 目标黑马,我的自学之路:第五章 异常
- 目标黑马,我的自学之路:第十三章 设计模式
- 目标黑马,我的自学之路:第十四章 拷贝多级目录实例
- java学习之路 之 基本语法-程序流程控制-循环结构-for 循环练习题
- java学习之路 之 基本语法-程序流程控制-switch语句练习题
- 理解C语言——从小菜到大神的晋级之路(5)——程序流程控制