做任何事情都需要遵循一定的原则,程序设计也是如此,需要有流程控制语言实现与用户的交流,并且根据用户的输入决定程序要“做什么”,“怎么做”等。
java中的程序结构
顺序结构,选择结构,循环结构是结构化程序设计的3中基本结构,是各种复杂程序的基本构造单元。
顺序结构
我们之前编写都是顺序结构,即按照输入顺序依次执行代码即为顺序结构,自上而下依次执行;
选择结构(分支结构)
选择结构是由条件语句构成的,有选择性的执行某一部分代码;
选择结构包括if和switch语句
if条件语句
- 单分支结构
- 双分支结构
- 多分支结构
1.单分支结构语法:
if(布尔表达式){
语句块
};
package three;
import java.util.Scanner;//导包
public class ForExample1 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);//创建Scanner对象,用于进行输入电话号码;
System.out.println("请输入要拨打的电话:");
int phoneNumber=s.nextInt();//创建变量,用于保存输入的电话号码;
if (phoneNumber != 8219222 ) { //判断此电话号码是否是8219222
System.out.println("对不起,您拨打的电话号码不存在");
}
}
}
2.双分支结构语法:
if(布尔表达式){
语句块一
}else{
语句块二
};
//判读是否为闰年;
import java.util.Scanner;
public class ForExample3 {
public static void main(String[] args) {
int inyear;
Scanner s= new Scanner(System.in);
System.out.println("please input a number:");
inyear=s.nextInt();
if(inyear % 4 ==0 && inyear % 100 !=0 ||inyear % 400 ==0) {
System.out.println("It is a leap year.");
}else {
System.out.println("It is not a leap year.");
}
}
}
3.多分支语句语法:
if(布尔表达式){
语句块一
}elseif{
语句块二
}elseif{
…
}else{
…
}
import java.util.Scanner;
public class ForExample4 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个数字:");
int number =s.nextInt();
if(number>30) {
System.out.println("a的值大于30");
}else if (number>10){
System.out.println("a的值大于10,且小于30");
}else if(number>0) {
System.out.println("a的值大于0,且小于10");
}else {
System.out.println("a的值小于0");
}
}
}
switch语句语法:
switch(用于判断的参数){
case 常量表达式1 : 语句块一 ;break;
case 常量表达式2 : 语句块二 ;break;
case 常量表达式3 : 语句块三 ;break;
…
default : 语句块n+1 ; break;
}
//使用switch语句判断星期,并且输出对应的英文;
public class ForExample2 {
public static void main(String[] args) {
int week = 2;
switch (week) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default :
System.out.println("sorry,I don't know!!!");
}
}
}
switch语句中参数必须是整数,字符型,枚举类型或者字符串类型;
循环结构
循环结构是重复的执行多次相同的代码;
循环语句有四种语句:
- while语句;
- do … while 语句;
- for循环;
- foreach语句;
1.while语句语法:
while(条件表达式){
循环体执行语句;
};
//用while语句实现累加求和;
public class ForExample5 {
public static void main(String[] args) {
int x=1;
int sum=0;
while(x<=10) {
sum=sum+x;
x++;
}
System.out.println("sum="+sum);
}
}
2.do …while 语句语法:
do{
循环体执行语句;
}
while(条件表达式);
//用do..while语句实现累加求和
public class ForExample6 {
public static void main(String[] args) {
int x=1,sum=0;
do {
sum=sum+x;
x++;
}while(x<=10);
System.out.println("sum= "+sum);
}
}
3.for循环语法:
for(表达式1;表达式2;表达式3){
循环体执行语句;
};
//用for循环来实现1-100的累加求和;
package three;
public class ForExample7 {
public static void main(String[] args) {
int i=1,sum=0;
for (i=1;i<=100;i++) {
sum=sum+i;
}
System.out.println("sum= "+sum);
}
}
4.foreach语句语法:
for(循环变量x : 遍历对象 obj){
循环体,引用x的java语句;
}
public class ForExample8 {
public static void main(String[] args) {
int array[] = {1,2,3,4,5,6,7,8,9,10};
int sum=0;
for( int x:array){
sum=sum+x;
}
System.out.println("sum= "+sum);
}
}
跳转语句
跳转语句有break语句和continue语句;
break语句:
break语句可以出现在循环体中,作用是退出当前整个循环(即循环呗终止)
public class ForExample9 {
public static void main(String[] args) {
for(int i = 1;i<20;i++) {
if(i%2==0) {
System.out.println(i);
break;
}
}
System.out.println("-----end-----");
}
}
continue语句:
continue也可以出现在循环体中,作用是结束当前循环,回到循环条件测试部分,重新开始执行循环,判断是否进入下一个循环;
public class example10 {
public static void main(String[] args) {
for(int i=1;i<=20;i++) {
if(i%2!=0) {
continue;
}
System.out.println(i);
}
System.out.println("-----end------");
}
}