一、if条件语句
if(布尔表达式){
语句序列
}
if(条件表达式1){
语句序列1
}
else if (条件表达式2){
语句序列2
}
二、switch多分支语句
if(表达式)
{
case 常量值1:
语句块1
break;
case 常量值2:
语句块2
break;
。。。
case 常量值n:
语句块n
break;
default:
语句块n+1;
break;
}
default语句是以上条件均不是时执行
case 后的常量可以是整型,字符型和字符串类型
必须各不相同,而且只能是整数,不能是实数,例如case1.1是不可以的
三、循环语句
1、while
while(条件表达式){
执行语句
}
切记while(条件表达式)后不可以加;,否则程序会认为要执行一条空的语句从而陷入无限循环,而编译又不会报错
2、do...while
do{
执行语句
}
while(条件表达式);
3、for
for(表达式1;表达式2;表达式3){
语句序列
}
表达式1:初始化表达式,负责完成变量的初始化
表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件
表达式3:循环后操作表达式,负责休整变量,改变循环条件
在编程中,有时会使用for循环的特殊语法格式来实现无限循环
for(;;){
...
}
对于这种无限循环可以通过break语句来跳出循环
for(;;){
if(x < 20){
x++;
break;
}
}
foreach语句
是for的特殊简化版本
for(元素变量:遍历对象obj){
引用了x的java语句;
}
三、循环控制
1、break
使用break可以跳出switch结构。同样可以使用在循环中
while(。。。){
。。。
break;
。。。
}
do{
。。。
break;
。。。
}while(。。。);
for
{
。。。
break;
。。。
}
如果遇到循环嵌套的情况,break语句只会使程序流程跳出包含它的最内层的循环结构,只跳出一层循环
另外,java提供了“标签”的功能,用以跳出外层循环
例如
Loop:for(int i = 0;i < 3;i++){ //在for循环前用标签标记
for(int j =0;j < 6;j++){
if (j = 4){
break Loop; //跳出Loop标签标记的循环体
}
}
}
2、continue
continue是break的补充。continue不是立刻跳出循环体,而是跳过本次循环,重新开始循环,用法和break一样,用一个例子即可理解
输出1~20之间的奇数
public class ContinueTest{
public static void main(String args[]){
for(int i = 0;i < 20;i++){
if(i % 2 == 0){
continue;
}
System.out.println(i);
}
输出结果为:
1
3
。。。
19
同样与break一样,continue也可以使用标签Loop跳出外循环
四、练习
1.编写Java程序,实现判断变量x是奇数还是偶数
public class No1 {
static int a;
public static void main(String[] args) {
int x = 45;
if(x % 2 == 0){
System.out.println("偶数");
}
if(x % 2 == 1){
System.out.println("奇数");
}
}
}
2.编写Java程序,应用for打印菱形
public class No2 {
static int lineNum = 7;//赋值菱形行数,必须为奇数
public static void main(String args[]) {
int Maxline = (lineNum+ 1)/ 2;//以7行菱形为例,则有四行是逐渐增多
for(int i = 1;i <= Maxline;i++){
for(int space = 1;space <= Maxline - i;space++){
System.out.print(" ");
}
for(int star = 1;star <= (2*i)-1;star++ ){
System.out.print("*");
}
System.out.println();
}
int Minline = lineNum - Maxline;//有三行逐渐减少
for(int i = 1;i <= Minline;i++){
for(int space = 1;space <= i;space++){
System.out.print(" ");
}
for(int star = 1;star <= lineNum -(2*i);star++){
System.out.print("*");
}
System.out.println();
}
}
}
3.编写Java程序,使用while循环语句计算1+1/2!+1/3!+...1/20!之和
public class No3 {
public static void main(String[] args) {
double sum = 0,a = 1;
int i =1;
while(i < 20){
sum = sum + a;
i++;
a = a*(1.0/i);
}
System.out.println(sum);
}
}