JAVA结构化编程
从完JAVA结构化编程后,我对于java编程语言有了更深的理解,而我学到的知识里面有好多语句结构,真的令我分厂惊奇,数据的结构和条件语句配合在一起组成了这个庞大的代码世界,下面的学习后总结整理的一些知识点和代码:
结构化程序设计原则
自顶向下、逐步求精、模块化
结构化程序设计还有一个重要的规定,那就是只能使用顺序结构、选择结构、循环结构这三种基本结构
(或由它们派生出来的结构)来定义程序的流程
条件分支语句
语法规则1:
if(条件表达式){
代码块; //0条到多条可执行语句,含义是当【条件表达式】返回值为true时执行这里,如果返回
为false这里不执行。如果代码块中只有一条语句,则{}可以省略
}
语法规则2:一定会执行其中的一个分支,不可能出现都不执行或者都执行的情况
if(条件表达式){
代码块1; //0条到多条可执行语句,含义是当【条件表达式】返回值为true时执行这里
}else{
代码块2; //当条件为true时执行[代码块1],否则执行【代码块2】,不可能出现都执行或者都不
执行的情况
}
语法规则3:多个条件多个分支
if(条件表达式1){
代码块1;
}else if(条件表达式2){ //允许多次出现
代码块2;
}else{ //当上面所有条件都不成立时执行
代码块n;
}
if/if…else/if…else if…else允许嵌套
public class Test1 {
public static void main(String[] args) {
int score = 0;// 定义临时变量用户存储学生成绩
System.out.println("请输入学生成绩");
Scanner sc = new Scanner(System.in);
score = sc.nextInt();// 条件中要求学生成绩必须为整数
// 由于sc.nextInt不能消费掉末尾的回车符,所以下一个nextLine则不能接收到数据
if (sc.hasNextLine())
sc.nextLine();
boolean sex = true;// 用于存储性别
System.out.println("请输入学生性别");
String ss = sc.nextLine();// 读取一行数据
sex = "男".equals(ss);
// 验证程序的输入逻辑是否正确
System.out.println("您输入的学生成绩为:" + score + ",性别为:" + sex);
if (sex) {
// 男生 , 如果男生>60显示你是个猪?,如果小于60显示你连猪都不如
if (score > 60)
System.out.println("你是个猪?");
else if (score < 60)
System.out.println("你连猪都不如");
//注意:else不是必须的,else的含义是score<=60
} else {
// 女生,>60显示还可以阿,如果小于60显示继续加油啊
if(score>60)
System.out.println("还可以阿");
else if(score<60)
System.out.println("继续加油啊");
}
}
}
开关分支语言
多个分支的等值判断时,使用switch比if使用方便
switch (表达式) {
case 值1:
操作 1 的语句; break;
case 值2:
操作 2 的语句; break;
….
case 值n :
操作 n 的语句; break;
default:
默认语句;
}
重点的语法规则:switch后面的表达式允许的数据类型?
允许byte\short\int,但是不允许long类型
允许字符类型和字串类型[特殊点,要求JDK1.7+],究其本质是比较字符串的hashcode值
循环结构
循环就是重复做某一件事情。在Java程序中,循环控制即在某一情况下,控制程序重复执行某一条或多
条语句,直到遇到终止条件为止
循环语句也称迭代语句,在Java语言中存在的while、for和do-while循环语句
while循环
while是Java中最基本的循环语句,满足条件才执行循环体,如果不满足条件则不执行。所以有可能循环
体一次都不执行。
语法格式: while (继续循环的条件) { 循环所执行的代码; }
public class Test3 {
public static void main(String[] args) {
int res = 0;// 累加器
int k = 1;// 用于控制循环次数
while (k <= 100) {
res += k++;//这里等价于res=res+k;k++;
}
System.out.println("1+2+3+...+100=" + res);
}
}
do-while循环
public class Test4 {
public static void main(String[] args) {
int res = 0;
int k = 1;
do {
res+=k++;
} while (k <= 100);
System.out.println("1+2+3+...+100="+res);
}
}
for循环
for 循环主要用于按预定的次数执行语句或语句块
语法: for(语句1,一般用于初始化循环控制变量; 语句2,是循环继续执行的条件; 语句3,是每次循
环执行结束后必须执行的语句){ 循环体语句; }
public class Test6 {
public static void main(String[] args) {
int res = 0;
for (int k = 1; k <= 100; k++)
res += k;
// System.out.println(k); 報錯:变量k是在表达式1上声明的,只能在for循环内部有
效
System.out.println("1+2+3+...+100=" + res);
}
}
循环中使用的跳转语句
Java提供了三种跳转语句:break、continue,用来强制转移程序执行的顺序
break
break语句除了与switch结合使用外,还用来强制中断当前的循环,不再执行循环体中break后面的语句
而退出循环。譬如在后续将学到从数据库里循环取出数据,用来验证用户的用户名是否正确。如果当用
户名符合某一条数据时,就需要用到break语句来结束当前的循环验证
continue
continue语句的功能是,在循环语句中,当碰到continue时,将不再执行循环体continue之后的语句,
而重新判断循环控制的条件,继续循环,直到循环条件的值为假时退出循环
好了,这就是我今天所学到的所有知识,在此分享给大家!