Java基础程序设计
一.程序的结构
1.顺序结构
程序自上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的
结束。顺序结构是在程序设计中最常用的结构,在程序中扮演了非常重要的角色,因为大部分的程序基本上是依照由上而下的流程来设计的。
2.选择结构
选择结构是依据条件成立与否决定要执行哪些语句的一种结构,其流程如下:
【例】
public class IfDemo{
public static void main(String args[]){
int x = 3 ; // 定义整型变量3
int y = 10 ; // 定义整型变量10
System.out.println("===== 比较开始=====") ;
if(x>y){
System.out.println("x比y大!");
}
if(x System.out.println("x比y小!") ; } System.out.println("===== 比较完成=======") ; } }; 运行结果: 3.循环结构 循环结构是根据判断条件的成立与否决定程序段落的执行次数,而这个程序段落就 称为循环体。循环结构的流程图如下: 接下来详细讲解选择结构与循环结构 二.选择结构 选择结构包括if、if…else及switch语句,程序中加上了选择结构之后,就像是增加了“十字路口”一样,根据不同的选择,程序的运行会有不同的结果。 1.if语句 if语句的格式: if(判断条件){ 语句1; ……… 语句2; } If结构的流程图: 2.if…else 在程序中存在分支的判断语句时,就可以用if….else语句处理。当判断条件成立时,执行if语句主体,判断语句不成立时,则会执行else后面的的语句主体。格式如下:If(判断条件){ 语句主体1; }else{ 语句主体2; } 流程图如下: 【例】 public class IfElseDemo{ public static void main(String args[]){ int x = 3; // 定义整型变量x if(x%2==1){ // 判断于是是否为1 System.out.println("x是奇数!") ; // 如果余数为1表示奇数}else{ System.out.println("x是偶数!") ; // 如果余数为0表示是偶数} } }; 运行结果为: 3.三目运算符 三目运算符可以等价于if..else语句使用 三目运算符:(?:)意义;根据成立条件与否决定结果为‘:’前或者“:”后得表达式 【例】 public class MaxDemo{ public static void main(String args[]){ int max = 0 ; // 保存最大值 int x = 3; // 定义整型变量x int y = 10 ; max = x>y?x:y ; // 通过三目运算符求出最大值 System.out.println("最大值为:" + max) ; } }; 运行结果为: 4.If…else if…else语句 If,,,elseif,,,,else语句格式: If(条件1){ 语句主体1; }else{ 语句主体2; } ,,,,//多个else if()语句 else{ 语句主体3; } 这种方法用在含有多个判断条件的程序中,【例】 public class MoreIfElseDemo{ public static void main(String args[]){ int x = 5; // 定义整型变量x if(x==1){ System.out.println("x的值是1!") ; } else if(x==2){ System.out.println("x的值是2!") ; }else if(x==3){ System.out.println("x的值是3!") ; }else{ System.out.println("x的值不是1、2、3中的一个!") ; } } }; 运行结果: 5.Switch语句 Switch语句可以将多选的情况简化,是程序简洁易懂。Switch语句与break相结合使用. Switch语句: switch(表达式){ case 选择值1: 语句主体1; break; case 选择值2: 语句主体2; brek; ….. case 选择值N; 语句主体n; break; default: 语句主体; } 要注意的是,在switch语句中选择值只可能是字符或常量。 switch语句执行的流程如下: (1)switch语句先计算括号中表达式的结果,结果为数字、字符、或者是枚举;(2)根据表达式的值检测是否符合case后面的选择值,若是所有的case选择值皆不符合,则执行default所包含的语句,执行完毕即离开switch语句;(3)如果某个case的选择值符合表达式的结果,就会执行该case所包含的语句,直到遇到break语句后才离开switch语句; (4)若是没有在case语句结尾加上break语句,则会一直执行switch语句的末尾才离开switch语句。break语句在下面会介绍到,先记住break语句是跳 离的意思即可; (5)若是没有定义default执行语句,则什么也不执行,直接退出switch语句。【例】 public class SwitchDemo01{ // 完成一个四则运算的功能 public static void main(String args[]){ int x = 3 ; int y = 6 ; charoper = '+' ; switch(oper){ case '+':{ // 执行加法操作 System.out.println("x + y = " + (x + y )) ; break ; } case '-':{ // 执行减法操作 System.out.println("x - y = " + (x - y )) ; break ; } case '*':{ // 执行乘法操作 System.out.println("x * y = " + (x * y )) ; break ; } case '/':{ // 执行除法操作 System.out.println("x / y = " + (x / y )) ; break ; } default:{ System.out.println("未知的操作!") ; break ; } } } }; 运行结果: 三.循环结构 1.while循环 while是循环语句,也是条件判断语句。当事先不知道循环该执行多少次时,就要用到while循环,while语句格式如下: while(循环条件判断){ 语句; ,,,,,,, 循环条件更改; } 【例】 public class WhileDemo{ // 完成一个四则运算的功能 public static void main(String args[]){ int x = 1; int sum = 0 ; // 保存累加的结果 while(x<=10){ sum += x ; // 进行累加操作 // x++ ; // 修改循环条件 } System.out.println("1 --> 10 累加的结果为:" + sum) ; } }; 运行结果为: 1 --> 10 累加的结果为:55 如果在代码的开发中不幸出现了死循环的操作,在命令行的方式下,按“Ctrl+C” 快捷键可结束程序的运行。 2.do,,,,while循环 do,,,while循环也是用于未知循环次数的情况,而while循环及do,,,while循环最大的不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do,,,while循环是先执行一次循环主体,再测试判断条件的真假。 所以无论循环成立的条件是什么,使用do,,,while循环时,至少都会执行一次循环主体。 do{ 语句1; 语句2; ,,,, 循环条件改变; }while(循环条件判断); 流程图如下: do,,,whie 【例】 public class DoWhile{ public static void main(String[] args){ int x=1; int sum=0; do{ sum+=x; x++; }while(x<=10); System.out.println(“1—10累加的结果为:”+sum); } }; 运行结果为: 3.for循环 对于while和do,,,while循环来说,操作时不一定要明确知道循环的次数,而如果已经明确知道了循环的次数,那么就可以用for循环。 for循环语句: for(赋值初值;判断条件;赋值增减量){ 语句1; 语句2; ,,,,, } 流程图如下: 【例】 public class ForDemo{ public static void main(String[] args){ int sum=0; for(int x=1;x<=10;x++){ sum+=x; } System.out.println(“1—10累加的结果为:”+sum); } }; 运行结果同上。 4.循环的嵌套 多个循环语句是可以嵌套的,这样就可以进行更加复杂的运算。打印一个九九乘法表为例: public class ForNestedDemo{ public static void main(String[] args){ for(inti=1;i<=9;i++){ for(int j=1;j<=i;j++){ Sys tem.out.println(i+”*”+j+”=”+(i*j)+”\t”); } } } } 运行结果为: 四. 循环的中断 在Java语言中,可以使用break和continue等中断语句。在结构化程序设计的角度来说,不鼓励使用中断语句,这会增加代码的调试和阅读的困难。这里介绍break和continue 语句。 1.break语句 break语句可以强迫程序中断循环,当程序执行到break 语句时,即会离开循环,继续执行循环外面的下一个语句,如果break语句出现在嵌套的内层,则break语句只会跳出当前层的循环。 【例】 public class BreakDemo{ // 完成一个四则运算的功能 public static void main(String args[]){ for(inti=0;i<10;i++){ if(i==3){ break ; } System.out.println("i = " + i) ; } } }; 运行结果: 2.continue语句 continue语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,会停止运行剩余的循环主体,而是回到循环的开始处继续运行。在下面的for循环中,在循环主体中有continue语句,当程序执行到continue时,就会回到循环的起点,继续执行循环主体的部分语句。 【例】 public class ContinueDemo{ // 完成一个四则运算的功能 public static void main(String args[]){ for(inti=0;i<10;i++){ if(i==3){ continue ; } System.out.println("i = " + i) ; } } }; 运行结果: