黑马程序员--------java基础知识 程序流程控制
2014-11-24 10:49
495 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
程序流程控制
*判断结构
if语句
三种格式:
1. if(条件表达式)
{
执行语句
}
2. if(条件表达式)
{
执行语句
}
else
{
执行语句
}
3. if(条件表达式)//如果条件满足
{
执行语句
}
else if(条件表达式)
{
执行语句
}
else
{
执行语句
}
if else结构的简写格式: 变量 = (条件表达式)?表达式1:表达式2
三元运算符:
好处:简化了if else代码
弊端:因为是一个运算符,所以运算完必须要有一个结果
*选择结构
switch语句特点
a、switch语句选择的类型只有四种:byte、short、int、char
b、case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
c、结束switch语句的两种情况:遇到break,执行到switch语句结束
d、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行 的语句,直到遇到break或者switch结尾结束。
//需求:根据用于指定月份,打印该月份所属季节
//3、4、5春季 6、7、8夏季 9、10、11、秋季 12、1、2、冬季
<pre name="code" class="java"><span style="font-size:14px;">class If { public static void main(String[] args) { int x=11; /* if(x>12&&x<1)//判断x值是不是在1-12范围之内 System.out.println("所属月份不存在"); else if(x>=3&&x<=5) System.out.println("春季"); else if(x>=6&&x<=8) System.out.println("夏"); else if(x>=9&&x<=11) System.out.println("秋季"); else System.out.println("冬季"); */ switch(x) { case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; case 12: case 13: case 14: System.out.println("冬季"); break; } } }</span>
if和switch语句很像,具体什么场景下,该应用那个语句呢?如果判断的具体数值不多,而是符合byte short int char这四种类型虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if使用范围更广泛。
*循环结构:
代表语句:while,do while,forwhile
语句格式:while(条件表达式) 特点:只有条件满足才执行循环体{执行语句}
do while语句格式: 特点:无论条件是否满足,循环体至少被执行一次
do{执行语句}while(条件表达式)
for 语句格式:for(初始化表达式;循环条件表达式;循环后打操作表达式)(int x=0;x<10;x++){执行语句}
a、for里面的表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体 ,然后在执行循环后的操作表达式,接着继续判断循环条 件,重复这个过程,直到条件不满 足为止。
b、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束后自动释放内存, 而while循环使用的变量在循环结束后还可以继续使用
c、最简单的无限循环格式:while(true);for(;;){},无限循环存在的原因是并不知道 循环多少次,而是根据某些条件,来控制循环for(int x=0;x<3;y++)可以转化为 int x=0 for(;x<3;){x++};for嵌套语句:for(;;){for(;;){ }}
练习:九九乘法表
<span style="font-size:14px;">class ForDemo2 { public static void main(String[] args) { for(int x=1;x<=9;x++) { for(int y=1;y<=x;y++) { System.out.print(x+"*"+y+"="+x*y+"\t");//加上制表符\t,打印是整齐 } System.out.println(); } } } </span>
打印结果
其他流程控制语句:
break(跳出),continue(继续)
break语句:应用范围:选择结构和循环结构
continue语句:应用于循环结构
注:a、这两个语句离开应用范围,存在是没有意义的
b、这两个语句单独存在下面都不可以由语句,因为执行不到
c、continue语句是结束本次循环继续下次循环
d、标号的出现,可以让这两个语句作用于指定的范围。
break如果在循环里面一般跳出当前循环,在哪个循环里面就跳出哪个循环。如果循环体有名称,可以跳出对应循环。
continue:只能用作于循环结构,继续循环。 特点:结束本次循环,继续下次循环
练习:
/*
------*
-----* *
----* * *
---* * * *
--* * * * *
-* * * * * *
* * * * * * *
练习:打印上面*组成的等腰三角形
思路:上图是有两个有规律的图形组合而成,将‘-’变为空格符就是等腰三角形了
使用for-f
4000
or循环,分别打印两个图形
*/
<span style="font-size:14px;">class ForDemoTest { public static void main(String[] args) { for(int x=0;x<7;x++)//控制图形的行数 { for(int z=x;z<6;z++)//先打印左边倒三角的空格符 { System.out.print(" "); } for(int y=1;y<=x+1;y++)//再打印右边等腰三角形 { System.out.print("* "); } System.out.println();//外循环执行完后换行,接着执行下一次 } } } </span>
打印结果
/*
自制小练习
打印有*组成的图形,思路与等腰三角形一致
**********
**** ****
*** ***
** **
* *
* *
** **
*** ***
**** ****
**********
<span style="font-size:14px;">class ForDemoTest1 { public static void main(String[] args) { for(int x=0;x<5;x++) { for(int y=x;y<5;y++) { System.out.print("*"); } for(int z=0;z<x;z++) { System.out.print(" "); } for(int n=0;n<x;n++) { System.out.print(" "); } for(int m=x;m<5;m++) { System.out.print("*"); } System.out.println(); } for(int x=0;x<5;x++) { for(int y=0;y<=x;y++) { System.out.print("*"); } for(int z=x;z<4;z++) { System.out.print(" "); } for(int n=x;n<4;n++) { System.out.print(" "); } for(int m=0;m<=x;m++) { System.out.print("*"); } System.out.println(); } } }</span>打印结果
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
相关文章推荐
- 【黑马程序员】Java基础02:Java中的程序流程控制结构
- 黑马程序员_Java基础Day02(下)_程序流程控制(Done)
- 黑马程序员--Java基础--程序流程控制
- 黑马程序员——Java语言基础:程序流程控制、函数、数组
- 黑马程序员_java的语言基础组成进阶(对第三课程序流程控制的总结)
- 黑马程序员——Java基础——程序流程控制、函数操作
- 黑马程序员——Java语言基础(二)---程序流程控制语句、函数
- 黑马程序员-Java基础知识预备之Java流程控制与数组
- 黑马程序员—Java语言基础(程序流程控制-if、switch、for、while、do while、break、continue)
- 黑马程序员-----java基础(二)-----程序流程控制
- 黑马程序员 JAVA初级-编程基础2 流程控制语句 函数 数组
- JAVA基础知识学习笔记(流程控制、数组)
- Java语言基础(程序流程控制-if、switch、for、while、do while、break、continue)
- 黑马程序员_java基础_语法基础&流程控制
- 黑马程序员_01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- 黑马程序员 Java函数和程序流程控制
- JAVA基础学习篇----《thinking in java》第三章:控制程序流程
- Java基础-->Java中的程序流程控制与函数
- 黑马程序员_java语法基础【2】(流程控制语句)
- 黑马程序员 Java初级<三>---> 程序流程控制与函数