流程结构(选择结构,循环结构)
流程结构
选择结构
if结构
if单选择结构
if(判断条件){
若符合,则执行此处
}
if双选择结构
if(判断条件){
若符合,则执行此处
}else{
若不符合判断条件,则执行此处
}
if多选择结构
if(判断条件1){
若符合1,则执行此处
}else if(判断条件2){
若符合判断条件2,则执行此处
}else if(判断条件3){
若符合判断条件3,则执行此处
}else{
若不符合判断条件,则执行此处
}
嵌套的if结构
switch多选择结构
- switch语句中的变量类型可以是:
- byte,short,int或者是char
- 从 Java SE 7 开始支持String 类型
- 同时 case 标签必须为字符串常量或字面量
循环结构
while循环
while(布尔表达式){
循环内容
}
打印1~100的和
public class WhileDemo03 {
public static void main(String[] args) {
int sum=0;
int t=0;
while(t<100){
t++;
sum+=t;
}
System.out.println("1~100的和为:"+sum);
}
}
do..while循环
至少会执行一次
do{
代码语句
}while(布尔表达式);
public class DoWhileDemo04 {
public static void main(String[] args) {
int sum = 0;
int t = 0;
do {
t++;
sum += t;
} while (t < 100);
System.out.println("1~100的和为:" + sum);
}
}
- while和do..while的区别
- while先判断后执行,do..while先执行后判断
- do..while总是保证循环体会被至少执行一次
for循环
- for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
for(初始化;布尔表达式;更新){
代码语句
}
练习1:计算0~100之间奇数和偶数的和
public class ForDemo04 {
public static void main(String[] args) {
int oddSum=0;
int evenSum=0;
for(int i=0;i<=100;i++){
if(i%2!=0){
oddSum+=i;
}else{
evenSum+=i;
}
}
System.out.println("奇数和为:"+oddSum);
System.out.println("偶数和为:"+evenSum);
}
}
练习2:用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
public class ForDemo04 {
public static void main(String[] args) {
int i = 0; //遍历的值
int m = 0; //每行个数
while (i <= 1000) {
if (i % 5 == 0) {
System.out.print(i + "\t");
//每输出一个值,m就+1,当m可以被3整除时,换行
m++;
if (m % 3 == 0) {
System.out.println();
}
}
i++;
}
}
}
练习3:打印九九乘法表
public class ForDemo04 {
public static void main(String[] args) {
//1.先打印第一列
//2.把固定的1再用一个循环包起来
//3.去掉重复项,i<=j
//4.调整样式
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
增强for循环
for(声明语句:表达式){
代码语句
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
练习:打印三角形
public class testDemo05 {
public static void main(String[] args) {
for (int i=1;i<=5;i++) {
//先打印空白的反三角
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
//一半的三角形
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

浙公网安备 33010602011771号