Javase基础4:顺序结构、分支结构和选择结构、循环结构、跳转结构

目录

1. 笔记

1.1 顺序结构

1.2 分支结构和选择结构

1.3 循环结构

1.4 跳转结构

2. 练习

第1题:成绩及格

第2题:三个数排序

第3题:押豹子

第4题:月份季节

第5题:这一天是当年的第几天

第6题:累加和

第7题:猜数

第8题:水仙花数

第9题:完数

第10题:九九乘法表

第11题:打印菱形


1. 笔记

1.1 顺序结构

1. 顺序结构
   程序是按照顺序执行的(从上往下)
   ① 输出
      输出语句,从上往下依次执行
   ② 输入(在实际工作中没有用处)
      用途:为了一些练习使用
      功能:在命令窗口输入一些数据,被程序获取!
      知识点范围:属于面向对象
      关注点:实现步骤
      步骤:
         a. 准备一个输入的工具
            java.util.Scanner input=new java.util.Scanner(System.in);
         b. 准备输入入口
            nextInt()  整型数据输入的入口
            nextDouble()   浮点型数据的输入入口
            next()      字符串数据的输入入口
               只能取空格前面的内容
            nextLine()   字符串数据的输入入口
               读取一行,空格也算
            建议使用next(),输入的数据不要有空格

      注意事项:
         java.util.InputMismatchException   输入的数据和类型不匹配

1.2 分支结构和选择结构

1. 分支结构和选择结构  ★
   分支结构:
      ① 单分支
         举例:手动输入小明的java成绩,如果成绩高于90,奖励假发一顶
         语法:if(条件){代码块}
         原理:如果条件成立,则执行代码块,如果条件不成立则不执行代码块
         特性:
            a. 当if后大括号中只有一行代码的时候,大括号可以省略的
               这行代码不能是变量的声明(做完练习后在解释)
            b. if是可以嵌套的,if的大括号就可以写main方法大括号中的任意代码
         补充:
            变量的作用域:是在当前大括号
      ② 双分支
         举例:手动输入小明的java成绩,如果成绩高于90,奖励假发一顶
            否则在敲2万行代码
         语法:if(条件){代码块1}else{代码块2}
         原理:条件成立执行代码块1,条件不成立执行代码块2
         特性:
            a. if和else后的大括号中只有一行代码的时候,大括号可以省略的
               这行代码不能是变量的声明(做完练习后在解释)
            b. 大括号是可以嵌套的
      ③ 多分支
         举例:手动输入小明的java成绩,如果成绩满分,奖励植发一次
            如果成绩高于90,奖励假发一顶,
            如果成绩高于80,奖励洗头膏一袋,
            如果成绩大于60,奖励洗面奶一瓶,
            否则在敲2万行代码
         语法:if(条件1){代码块1}
               else if(条件2){代码块2}
               else if(条件3){代码块3}
               ...
               【else{代码块n}】
         原理:判断条件1是否成立,如果成立,执行代码块1,多分支结束
               如果条件1不成立,就会判断条件2,如果成立的,执行代码块2,多分支结束
               如果条件2不成立,就会判断条件3,如果成立的,执行代码块3,多分支结束
               ...
               如果所有的条件都不成立,则执行代码块n(存在else的情况下)
   
   选择结构
      语法:switch(变量名){
            case 值1:
               代码块1;
            【break;】
            case 值2:
               代码块2;
            【break;】
            case 值3:
               代码块3;
            【break;】
            ...
            【default:
               代码块n;
            break;】
            }
      原理:判断变量的值和值1是否相等   ,如果相等,则执行代码块1,
            执行完之后,开始寻找break(才是结束switch的标识)
            如果不相等,则判断变量和值2是否相等,如果相等,则执行代码块2,
            执行完之后,开始寻找break(才是结束switch的标识)
           如果不相等,则判断变量和值3是否相等,如果相等,则执行代码块3,
            执行完之后,开始寻找break(才是结束switch的标识)
           变量如果和所有值都不一样,则执行default中的代码块n
      注意:
         a. case后的值不能相同
         b. case的穿透
         c. switch结束,要么执行完毕,要么遇到break
         d. switch都支持什么数据类型
            byte short int char String(JDK1.7新增) 枚举(后面会讲到)

1.3 循环结构

1. 循环结构
   为什么要有循环结构呢?
      打印534次,好好学习天天向上!争取得到富婆练习方式!
   作用:提高复用性,提高扩展性和维护性!
   1.1 while
      语法:while(循环条件){代码块}
      原理:循环条件成立,则执行代码块,执行完代码块,会再次回到循环条件判断的位置
           如果依然成立,则再次执行代码块,直到循环条件不成立为止(循环结构结束)
      控制循环次数:
         ① 循环因子
         ② 循环条件
         ③ 循环因子值的改变
      案例:
         int i=0;//程序员的习惯,0认为是第一个数据
         while(i<5){
            System.out.println("好好学习天天向上!争取得到植发奖励!"+i);
            i++;
         }
      建议常用手段:i++就放在循环的最末尾!
     
   1.2 for
      语法:for(循环因子的声明;循环条件;循环因子值的改变){代码块}
      优势:将while循环的控制循环次数的三个要素,总结到一个地方去了(小括号内)

      确定循环次数的情况下,使用for循环
      不确定循环次数的情况下,使用while循环

   1.3 do-while
      语法:do{代码块}while(循环条件);
      原理:执行代码块,然后判断循环条件,如果条件成立,则继续执行代码块
            如果条件不成立,则循环结束
      特点:do-while至少执行一次
      使用场景:不确定循环次数的情况(登录注册)
      
   1.4 其他循环
      foreach  增强for循环(后期学)
      递归  循环的一种(讲完方法学)

1.4 跳转结构

1. 跳转结构
   1.1 break
      ① switch内
         用于结束当前switch
      ② 用在循环内(while,for,do-while,foreach)
         用于结束当前循环
   1.2 continue
      ① 用在循环内(while,for,do-while,foreach)
         用于结束本次循环,直接进入下一次循环

2. 练习

第1题:成绩及格

需求:从键盘输入一个分数,如果60分(含)以上,就打印合格,如果60分以下,就打印不合格

public class TestExer01{
	public static void main(String[] args){
		java.util.Scanner input = new java.util.Scanner(System.in);
		
		System.out.print("请输入成绩:");
		int score = input.nextInt();
		
        if(score >= 60){
            System.out.println("合格");
        }else{
            System.out.println("不合格");
        }
	}
}
public class TestExer01{
	public static void main(String[] args){
		java.util.Scanner input = new java.util.Scanner(System.in);
		
		System.out.print("请输入成绩:");
		int score = input.nextInt();
		
		System.out.println(score >= 60 ? "合格" : "不合格");
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值