分支结构
if 语句(使用布尔类作为分支条件判断)
if (expression)
{
statement;
}
// 类型
if(expression)
{
statement;
}
else
{
statement;
}
//类型
if(expression)
{
statement;
}
else if(expression)
{
statement;
}
else
{
statement;
}
if 语句下的花括号既是代码块,被称为条件执行体。如果省略花括号则if语句只执行条件语句第一个分割语句处。
switch语句:于if不同的是,其表达式不可以是布尔类型
switch (expression)
{
case 1:
{
statement;
break;
}
case 2:
{
statement;
break;
}
default:
{
statement;
break;
}
}
循环结构
反复执行某一段代码
//初始化语句
statement;
//循环条件
while (expression)
{
//循环体
satement;
//迭代语句
statement;
}
do while 循环是执行循环体再判断循环条件
do
{
statement;
//迭代语句
statement;
}while (expression);
for 循环 。 for循环的循环条件可以是一个表达式,初始语句也可以是多个。
for循环不可以省略两个分号;for循环可以将初始语句放在循环体之前,迭代语句放在循环体中。
//for (初始语句;循环条件;迭代语句)
for (int i = 0; i < 6; i ++)
{
System.out.println(i);
}
//新的
int i = 0;
for (; i<2 ; )
{
System.out.println(i);
i++;
}
循环嵌套
外层循环执行到内层循环时,需要将内层循环执行完,才会继续外层循环。
//标签
outer:
//外层循环
for(int i = 0; i<4; i++)
{
System.out.println(i);
//内层循环
for(int j = 0; j<4; j++)
{
System.out.println(j);
//跳出标签识别的循环
break outer;
}
}
java 会用 break控制循环,其作用在于结束其所在的循环(在内层就结束内层)。还有另外一种情况,break后跟一个标签,标签往往放在外层循环之前。
continue 当程序进行到时,会忽略本次循环剩下的语句,直接进行下一次。
数组
java数组的原素都要是相同类型,数组初始化(对其赋初始值并分配内存空间)完成之后,数组即在内存中确定下来,长度不可变。数组本身就是一种引用类型,命名方式为:类型[] 名称,定义一个未初始化的数组时,只是定义了一个引用变量,没有指向任何有效内存空间
静态初始化: 命名:变量名 = new 类型[ ] {原素1,原素2... }
指定的数组元素值的类型必须与new关键字后的 类型相同,或者是其子类
//定义数组
int[] array1;
//初始化
array1 = new int[]{1,2,3};
动态初始化:命名:变量名 = new 类型[ 长度] ,此处的类型与定义时相同或者是其子类
定义动态初始化时,系统自动为原素赋初始值。整数类型为0,浮点数为0.0,布尔类型为false,引用类型为null
int[] a = new int[4];
访问数组:在数据变量后+[ ]作为索引,例如array1[ x],访问出的就是普通变量。
遍历数组和集合更加简洁的方法多采用foreach做法。
//foreach遍历
for(类型 形参名 :数组)
{
System.out.println(形参名);
}
二维数据的原素实则是一维数组,方法执行时会创建栈内存,在这个方法内的变量则将放入栈内存中。堆内存中对象不会随方法结束而销毁,new出来的对象都放在堆内存
水平有限