*** Java新手学习之流程控制***
1.流程控制:
顺序结构
分支结构:if-else switch-case
循环结构:for while do-while
2.if-else
1)if(条件表达式){
执行表达式
}
2)if(条件表达式1){
执行表达式1
}else{
执行表达式2
}
3)if(条件表达式1){
执行表达式1
}else if( 条件表达式2){
执行表达式2
}else if
…
}else{
执行表达式N
}
}
else
说明:
Else结构是可选的
多个条件表达式是互斥的关系,则执行语句申明没有顺序
是交集的关系,根据实际情况
是包含的关系,小范围的在前
3.Switch-case
Switch(表达式){
case 常量1:
执行语句1;
break;
case 常量2:
执行语句2;
break;
……
default:
执行语句;
}
说明:
根据switch表达式的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应的case,调用执行语句,当调用完执行语句后仍然向下执行其他case中的语句,直到遇到break关键字或者这个switch-case语句末尾为止;
Break跳出这个循环;
Switch中的表达式只能是byte,int,short,char,枚举类型,string;
Case之后只能申明常量,不能申明范围;
Break是可选的;
Default相当与if-else的else,可选,位置灵活;
4.Scanner的使用
import java.util.Scanner;
public class Test8 {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.println(“请输入第一个正整数”);
int m=scan.nextInt();
System.out.println(“请输入第二个正整数”);
int n=scan.nextInt();
5.循环结构的4要素
初始化条件
循环条件:boolean类型
循环体
迭代条件
说明:通常条件下,循环结束都是因为循环条件返回false
6.三种循环结构
6.1 for循环
for(1;2;4){
3;
}
执行过程:1-2-3-4-2-3-4—2
6.2 while 循环结构
1
while(2){
3;
4;
}
执行过程:1-2-3-4-2-3-4—2
说明:迭代条件不能丢
for和while循环
开发中,选择这两个进行循环
for和while可以相互转换
区别:初始化条件的作用范围不同
6.3 do-while循环
1
do{
3;
4;
}while(2);
执行过程:1-3-4-2-3-4-----2
说明:
至少执行一次循环体
无限循环:while(true)或for( ; ; )
7.嵌套循环
嵌套循环:将循环结构A申明在另一个循环体中,构成了嵌套循环
内层循环:循环结构A
外层循环:循环结构B
说明:
内层循环遍历一遍,只相当于外层循环体执行一次
如果外层循环执行m次,内层循环执行N次,此时内层循环体一共执行了m*n次
**练习1:九九乘法表
九九乘法表代码:
public class MitipTable {
public static void main(String[] args){
for(int i= 1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j +"="+ i*j +" ");
}
System.out.println();
}
}
}
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
**练习2:输出100以内的质数
输出100以内质数的代码:
public class Prime {
public static void main(String[] args){
for(int i=2;i<100;i++){
boolean isPrime=true;
for(int j=2;j<i;j++){
if(i%j==0){
isPrime=false;
break;
}
}
if(isPrime==true){
System.out.println(i);
}
}
}
}
输出结果:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
**练习3:输出爱心
由于输出在代码语句时,字符间的距离与行之间的距离不一致,因此逆向设计,对每一行设计输出,仅供娱乐,没有参考价值。
public class Heart {
public static void main(String[] args) {
for (int i = 1; i <= 13; i++) {
if (i == 1) {
for (int j = 1; j <= 8; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 6; j++) {
System.out.print("*");
}
for (int j = 1; j <= 8; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 6; j++) {
System.out.print("*");
}
for (int j = 1; j <= 8; j++) {
System.out.print(" ");
}
} else if (i == 2) {
for (int j = 1; j <= 6; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 10; j++) {
System.out.print("*");
}
for (int j = 1; j <= 4; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 10; j++) {
System.out.print("*");
}
for (int j = 1; j <= 6; j++) {
System.out.print(" ");
}
} else if (i == 3) {
for (int j = 1; j <= 4; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 28; j++) {
System.out.print("*");
}
for (int j = 1; j <= 4; j++) {
System.out.print(" ");
}
} else if (i == 4) {
for (int j = 1; j <= 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 32; j++) {
System.out.print("*");
}
for (int j = 1; j <= 2; j++) {
System.out.print(" ");
}
} else if (i == 5) {
for (int j = 1; j <= 36; j++) {
System.out.print("*");
}
} else if (i == 6) {
for (int j = 1; j <= 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 32; j++) {
System.out.print("*");
}
for (int j = 1; j <= 2; j++) {
System.out.print(" ");
}
} else if (i == 7) {
for (int j = 1; j <= 4; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 28; j++) {
System.out.print("*");
}
for (int j = 1; j <= 4; j++) {
System.out.print(" ");
}
} else if (i == 8) {
for (int j = 1; j <= 6; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 24; j++) {
System.out.print("*");
}
for (int j = 1; j <= 6; j++) {
System.out.print(" ");
}
} else if (i == 9) {
for (int j = 1; j <= 8; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 20; j++) {
System.out.print("*");
}
for (int j = 1; j <= 8; j++) {
System.out.print(" ");
}
} else if (i == 10) {
for (int j = 1; j <= 10; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 16; j++) {
System.out.print("*");
}
for (int j = 1; j <= 10; j++) {
System.out.print(" ");
}
} else if (i == 11) {
for (int j = 1; j <= 12; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 12; j++) {
System.out.print("*");
}
for (int j = 1; j <= 12; j++) {
System.out.print(" ");
}
} else if (i == 12) {
for (int j = 1; j <= 14; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 8; j++) {
System.out.print("*");
}
for (int j = 1; j <= 14; j++) {
System.out.print(" ");
}
} else {
for (int j = 1; j <= 16; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 4; j++) {
System.out.print("*");
}
for (int j = 1; j <= 16; j++) {
System.out.print(" ");
}
}
System.out.println();
}
}
}
输出:爱心(但是小心你的爱心被鄙视,哈哈哈哈哈,有些直男容易破坏浪漫)
****** ******
********** **********
****************************
********************************
************************************
********************************
****************************
************************
********************
****************
************
********
****
今天就到这里了啊,么么哒,希望有高手带我飞!