一:顺序结构
从上到下顺序执行,中间没有任何判断和跳转。
二:分支结构:
1、if条件语句
if语句使用布尔表达式或布尔值作为分支结构来进行分支控制。
第一种形式:
if(Logic Expression)
{
statement...
}
//{}里面是代码块,一个代码块通常被当做一个整体来执行
第二种形式:
if(Logic Expression)
{
statement...
}
else
{
statement...
}
第三种形式:
if(Logic Expression)
{
statement...
}
else if(Logic Expression)
{
statement....
}
//可以跟多个else if语句
else
{
statement...
}
//else可以省略
以上三种形式,放在if后面括号里的只能是一个逻辑表达式,这个返回值只能是true或false。不要省略花括号,哪怕只有一条执行语句或者是只有一个分号的空语句。如果省略if后面的花括号,那么if条件只控制到紧跟该条件语句的第一个分号处。在使用if...else语句时,一条基本规则:优先把包含范围小的条件放在前面处理。例子:
public class Test
{
public static void main(String[] args)
{
int age=45;
if(age>60)
{
System.out.println("老年人")//age大于60岁,判断为“老年人”
}
if(age>40 && (age<60))
{
System.out.println("中年人")//age大于40且小于60,判断为“青年人”
}
if(age>20 && !(age>60) && !(age>40 && !(age>60)))
{
System.out.println("青年人")//age大于20且小于40,判断为“青年人”
}
}
}
三:switch分支语句
switch语句由一个控制表达式和多个case标签组成,switch后面控制表达式的数据类型只能是byte,short,char,int型。
语法格式:
switch(Expression)
{
case condition1:
{
statement...
break;
}
case condition2:
{
statement...
break;
}
case condition3:
{
statement...
break;
}
......
case conditionN:
{
statement...
break;
}
default:
{
statement
}
}
先对expression求值,依次匹配condition,遇到break结束,如果没有与之相匹配的,则执行default。
四:while循环语句
语法格式:
while(test_expression)
{
statement
}
使用while循环时,一定要保证循环条件有变成false的时候,不然变成死循环。
五:do while循环语句
语法:
do
{
statement;
}while(test_expression);
先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环。do whlie循环的循环条件后必须有一个分号,这个分号表明循环结束。
六:for循环
语法格式:
for([init_statement];[test_expression];[iteration_statement])
{
statement
}
对于for循环,循环条件总比循环体要多执行一次,因为最后一次执行循环条件返回false,就不再执行循环体。for循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到continue语句结束本次循环,循环迭代语句也会执行。for循环允许同时指定多个初始化语句,循环条件也可以是一个包含逻辑运算符的表达式。
最好不要在循环体内修改循环变量(也叫循环计数器)的值,否则会增加程序出错的可能性。万一程序真的需要访问、修改循环变量的值,建议重新定义一个临时变量,先将循环变量的值赋给临时变量,然后将临时变量的值进行修改。
嵌套循环:如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是内层循环需要反复执行自己的循环体而已。
七:控制循环结构:
break:完全结束一个循环,跳出循环体。
continue:只忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环。
return:结束一个方法,不管这个return处于多少层循环之内。
八:数组类型
数组元素具有相同的数据类型,一个数组里只能存储一种数据类型。数组的长度不可改变,可以存储基本数据类型,也可以存储引用数据类型。数组也是一种数据类型,本身是一种引用类型(指针)。只有对数组初始化后才能使用。静态初始化:显示指定每个数组元素的初始值,由系统决定数组长度;动态初始化:只指定数组长度,由系统为数组元素分配初始值。不要同时使用静态初始化和动态初始化。
foreach循环:用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素。
数组引用变量只是一个引用,希望在程序中访问数组对象本身,只能通过这个数组的引用变量来访问。实际的数组放在堆中,引用变量是一个局部变量,放在栈内存。
来源:oschina
链接:https://my.oschina.net/u/2622200/blog/654816