Java基础(3)

结构化编程

指导思想:自顶向下、逐步求精、模块化

编程过程

流程图:使用画图的方式来说明某个过程,常见的离线绘图工具:Visio或者PowerDesigner等;目前还有在线的绘图工具ProcessOn等

(1) 圆角矩形表示一个流程的开始或者结束点

(2) 矩形用于表示行动方案或者普通工作环节

(3) 菱形用于问题的分支判断或者审核、审批之类的判断环节

(4) 平行四边形来表示处理流程中输入输出

(5) 箭头线用于表示工作流的方向

结构化编程的推论

任何复杂的问题都可以使用三中基本算法结构来描述:顺序、选择循环

条件分支语句

Java提供了两种判断语句ifswitch,这两种语句用于实现条件判断,当复合某些条件时执行某段代码,否则不执行

if结构

语法:

当条件成立时执行代码段,如果条件不成立则不执行,而是直接执行if后面的下一句

if(判断条件){
	代码段
}

当条件成立时执行代码段1,如果条件不成立则执行代码段2

if(判断条件){
	代码段1;
}else{
	代码段2;
}

允许if/else结构进行嵌套

if(判断条件1){
	代码段1;
}else if(条件2){//条件1不成立且条件2成立
	代码段2;
}else if(条件n){
	代码段n;
}else{
	代码段n+1;
}

例题1:要求输入学生性别,如果false则显示女

Scanner sc= new Scanner(System.in);
boolean bb = sc.nextBoolean();//接受boolean类型的数
if(bb == false){//简化写法if(!=bb){}
    System.out.println("性别为女.");//输入值不是false是没有输出
}

例题2:
(1) 输入学生成绩,假设成绩都是整数,如果>=60显示及格,否则不及格

Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=60){
	System.out.println("及格");
}else{
    System.out.println("不及格");
}

(2) 输入学生成绩,假设成绩都是整数,如果>85显示优秀,>=70显示良好,>=60显示及格否则不及格

Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=85){
	System.out.println("优秀");
}else if(score>=70){
    System.out.println("良好");
}else if(score>=60){
    System.out.println("及格");
}else{
    System.out.println("不及格");
}
//思考:这里的判断顺序能不能进行调整,例如先判断>=70再判断>=85?
//不能调整顺序,如果条件1成立则不会执行条件2的判定
开关分支语句

格式:

switch(表达式){
    case 值1:计算表达式的值是否等于1,如果相等则执行代码块1.
            代码块1;break;执行完毕后,如果没有break则继续向下执行,但是不做判断。如果有break语句则立即终止switch的执行,跳转到switch结构后的下句话开始执行。
    case 值2:
        	代码块2;break;
        ......
    default:
        	代码块n; break;
}

语法点:【考核点】

(1) 表达式的计算结果可以是整数(不允许long类型),可以是char,同时还允许是字符串类型(hashcode)

(2) default的位置实际上没有什么特殊要求,但是一定是所有的case值都不相等时才会执行。再具体开发中为了增强代码的可读性,一般建议写在所有case语句之后。

例题3:输入月份、显示对应的本月天数

System.out.println("请输入月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch(month){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        System.out.println("本月31天");
        break;
    case 2:
        System.out.println("请输入年份:");
        int year = sc.nextInt();
        if(year%4==0 && year%100 !=0){
            System.out.println("本月29天");
        }else{
            System.out.println("本月28天");
        }
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        System.out.println("本月30天");
        break;
    default:
        System.out.println("月份输入错误");
        break;
}

循环结构

循环就是重复做某一件事情,在Java程序中间,循环控制就是在某一条件下,控制程序重复执行某一个代码段直到遇到循环终止条件为止

循环语句也称为迭代语句,在Java与语句中间存在while、for和do…while三中循环语句

while循环

while循环是Java中最基本的循环语句,满足循环条件才执行循环体,如果不满足则不执行,所以有可能循环体执行多次,也有可能一次也不执行

例题4:计算1+2+3+4+…+100=5050

int res=0;//累加器用于存放每次循环体的执行结果
int k=1;//控制循环次序
while(k<=100){
   
	res+=k++;//res=res+k; k++;
}
Syste.out.println("1+2+3+...+100="+res);

写法1:

int res=0;
int k=0;
while(k++<100)//由0开始比较
	res+=k;//从1开始累加
System.out.println(res);

写法2:

int res=0;
int k=0;
while(++k<=100)
    res+=k;
System.out.println(res);

写法3:

int res=0;
int k=1;
while(true){
   
	res+=k;
	if(++k>100){
   
	break;
	}
}
System.out.println(res);
break和continue的用法

例题5:计算100以内的奇数和

最直接思路:奇数相加,偶数跳过

int res=0;
int k=0<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值