黑马程序员 笔记(三)——语句
来源:互联网 发布:盗墓笔记知乎 编辑:程序博客网 时间:2024/05/29 16:09
程序流程控制:
(1) 顺序结构:程序从上到下一行一行执行,直到程序结束。
(2) 判断结构:
if语句:
流程说明:①通过if...elseif...else决定程序流程。
②如果if中的条件满足则执行其中语句,if未满足则继续判断else if,如果满足则执行,不满足继续判断下一个else if,如果所有都不满足,则执行else.
格式:
格式一:
if(条件表达式) //当满嘴条件判断,则执大括号中的语句,如果不满足则跳过大括号中的语句。
{
执行语句;
}
注:如果if只控制一条语句则可以省略大括号。
格式二:
if(条件表达式)//当满嘴条件判断,则执大括号中的语句,如果不满足则跳过大括号中的语句。
{
执行语句;
}
else
{
执行语句;
}
注:格式二这类语句if else结构简写格式:变量 = (条件表达式)?表达式1:表达式2
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果(if..else..可以没有结果结果)。
格式三:
if(条件表达式)//当满嘴条件判断,则执大括号中的语句,如果不满足则跳过大括号中的语句。
{
执行语句;
}
else if
{
执行语句;
}
----
else
{
执行语句;
}
注:如格式三不管代码有多长都属于一个语句。
代码诠释
class IfDemo1 {public static void main(String[] args) {//需求1:根据用户定义的数值不同。打印对应的星期英文。//需求2:根据用于指定月份,打印该月份所属的季节。//3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季int x = 4;if(x==3 || x==4 || x==5)System.out.println(x+"春季");else if(x==6 || x==7 || x==8)System.out.println(x+"夏季");else if(x==9 || x==10 || x==11)System.out.println(x+"秋季");else if(x==12 || x==1 || x==2)System.out.println(x+"冬季");elseSystem.out.println(x+"月份不存在");}}/*运行结果===============================优秀===============================*/
(3) 选择结构:
switch语句:代码诠释(SwitchDemo)
① 通过switch...case...default语句控制程序流程。
② 根据switch后括号中的值判断运行哪一个case,这个值可以是byte、short、char、int
③ default语句是可选的,如果所有case都不满足,则会执行default。
④ 一旦匹配到一个case,程序就会从这个case向下执行,执行完一个case之后不会跳过其他的case,如需跳过请使用break。
⑤ 结束switch语句的两种情况:遇到break,执行到switch语句结束。
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值 2:
执行语句;
Break;
……
Default:
执行语句;
break;
}
if语句和switch语句的选择:
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
代码诠释(SwitchDemo)
/*需求:switch语句的练习 根据用户输入的字符去执行相应的方法*/class SwitchDemo{public static void main(String[] args) {int a = 8;int b = 2;//被操作的数据char x = '+'; //x的值可以是byte、short、char、intswitch (x)//根据x的值进行相应的操作。先从上到下的进行x的匹配,如果没有才执行default。{case '+':System.out.println("a+b = "+(a+b));break;case '-':System.out.println("a-b = "+(a-b));break;case '*':System.out.println("a*b = "+(a*b));break;case '/':System.out.println("a\b = "+(a/b));break;default:System.out.println("输入非法");}}}/*运行结果==================================a+b = 10==================================*/
(4) 循环结构:代表语句:while, do while, for
① while语句格式:
特点:
先判断while中的表达式结果是否为true,true则执行循环体,执行结束之后再次判断,如果表达式结果为false则跳出循环
格式:
while(条件表达式)
{
执行语句;
}
(代码诠释)WhileDemo
/*目的:通过这个程序理解whlie循环的用法需求:运算从1加到100*/class WhileDemo {public static void main(String[] args){int x = 1;int sum = 0;//在循环外要打印sum的值所以,不能把sum定义在while循环里面while(x<=100){sum = sum + x;++x;}System.out.println("sum = :"+sum);/*while:先判断条件,只有条件满足才执行循环体。*/}}/*运行结果====================================sum = :5050====================================*/
② dowhile语句:
特点:
先执行一次循环体,然后判断while中的表达式,如果是true继续执行,如果是false则跳出循环。
格式:
do
{
执行语句;
}while(条件表达式);
特点:dowhile特点是条件无论是否满足,循环体至少被执行一次。
代码诠释(DoWhileDemo)
/*目的:通过这个程序理解dowhlie循环的用法需求:运算从1加到100*/class DoWhileDemo {public static void main(String[] args){int x = 1;int sum = 0;do{sum = sum + x;++x;}while(x<=100);System.out.println("sum = :"+sum);/*do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。*/}}/*运行结果=====================================sum = :5050=====================================*/
③ for循环:for(初始化表达式①;循环条件表达式②;循环后的操作表达式③)
{
循环内容④;
}
特点:
① 语句1:这条语句会在整个循环开始之前执行,且仅运行一次,不参与循环。
② 语句2:必须是一个返回boolean值的表达式,如果写了这个语句那么每次循环开始之前会判断,true则执行循环,false则不执行。没写则直接执行。
③ 语句3:这条语句在每次循环体运行结束之后执行。
④ 在for中定义的局部变量,当for循环结束后,变量消失。
⑤ 当表达式多的时候,用逗号分割开就好了。
⑥ 执行顺序:初始化表达式①(只在循环开始执行一次)——>循环条件表达式②——>执行语句④——>循环后的操作表达式③——>循环条件表达式②——>执行语句④——>循环后的操作表达式③……
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
代码诠释(ForDemo)
/*目的:通过这个程序理解for循环的用法需求:运算从1加到100*/class ForDemo {public static void main(String[] args) {int sum = 0;for (int x=1; x<=100;++x ){sum = sum +x;}System.out.println("sum = "+sum);}}/*1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。for语句执行完毕。该变量在内存中被释放。2,for和while可以进行互换。如果需要定义循环增量。用for更为合适。总结:什么时候使用循环结构?当要对某些语句执行很多次时,就使用循环结构。*//*运行结果=============================================sum = 5050=============================================*/
for语句的嵌套:
在for循环的执行语句上也有一个循环称为内循环。内循环相当于外循环的执行语句。执行和for循环类似,只是当外循环满足条件后,内循环要一直执行到循环结束,才会进行第二次外循环的判断。
代码诠释ForForDemo
/*for嵌套的练习:需求:通过for嵌套打印出以下图形***************步骤:1、先定义一个外循环来定义循环的行数 2、定义一个内循环来实现*的具体打印。*/class ForForDemo {public static void main(String[] args) {for (int x=0; x<5 ;x++ )//x<5:因为外循环控制行数。一共5行。{for (int y=x; y<5 ;y++)//定义内循环的次数{System.out.print("*");}System.out.println();//换行}}}/*运行结果================================================***************================================================*/
(五)、break语句和continue语句
break:跳出
① 应用于选择结构和循环结构,结束循环。
② break和continue单独存在时,下面可以有任何语句。因为都执行不到。
continue:跳过本次循环
① 应用于循环结构
② continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。
主:①,这两个语句离开应用范围,存在是没有意义的。
②这个两个语句单独存在下面都不可以有语句,因为执行不到
③continue语句是结束本次循环继续下次循环。
④标号的出现,可以让这两个语句作用于指定的范围。
- 黑马程序员 笔记(三)——语句
- 黑马程序员——集合学习笔记(三)
- 黑马程序员——IO学习笔记(三)
- 黑马程序员——Java学习笔记(三)
- 黑马程序员——Java基础学习笔记(三)
- 黑马程序员——JAVA学习笔记(三)
- 黑马程序员:iOS基础——个人笔记(三)
- 黑马程序员——Java基础视频笔记(三)
- 黑马程序员 学习笔记——SQL查询语句大全
- 黑马程序员——流程控制语句的总结笔记
- 【黑马程序员】语法、四大语句——Java复习笔记
- 黑马程序员——Java基础(三)之运算符、键盘录入、流程控制语句
- 黑马程序员笔记——Java集合类三
- 黑马程序员——面向对象<三> 笔记第五篇
- 【黑马程序员】SQL笔记(三)
- 黑马程序员——高新技术(三)
- 黑马程序员——多线程(三)
- 黑马程序员——集合(三)
- 修改SecureCRT终端的Home和End功能键
- tomcat启动报错:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
- oracle ORA-00054:资源正忙和ORA-00060:检测到死锁的解决办法
- Hibernate自动建表
- C++ Primer笔记 第2章 变量和基本类型
- 黑马程序员 笔记(三)——语句
- 数据结构实验之栈二:一般算术表达式转换成后缀式
- java串口(转自http://blog.csdn.net/kabini/article/details/1601324)
- Digester原理
- sql注入
- 资源文件的读取
- PHP和MySQL Web开发读书笔记一
- Linux 编程经典书籍推荐(2012年2月)
- FTP commands for batch files