1.本章内容

控制代码如何执行、是否执行、执行多少次。

2.程序结构

顺序结构

分支结构

循环结构

2.1分支结构

1.if(){}

2.if(){}else{}

3.if(){}else if(){}else if(){} else{}

分支结构主要控制代码是否执行。

案例:输入你的java成绩,如果在90以上,输出 秀儿! 在 70--90之间输出,有点秀儿! 60-70 之间输出 一般般!60以下输出 垃圾!

switch case

switch:用于固定值的分支判断,后面可以跟char,byte,short,int,String

不能跟 float,double,long

break可以省略,省略之后,代码会贯穿执行

switch(参数){
case value1:
代码块1;
break;
case value2:
代码块2;
break;
case value3:
代码块3;
break;
case value4:
代码块4;
break;
default:
代码块:
break;
}

首先用switch后边括号中的参数跟下边的value依次比较,如果第一个不满足就比较第二个,如果满足执行后边对应的代码块。(如果前边的条件都不满足)到 default为止。

案例:输入年和月,输出该年的该月有多少天?

/输入年和月,输出该年的该月有多少天?

  /*** 分析:*      1,3,5,7,8,10,12  31天*      4,6,9,11,         30天*      2 闰年 29天   普通28天*/public static void main(String[] args) {System.out.println("请输入年");Scanner sc1 = new Scanner(System.in);int year = sc1.nextInt();System.out.println("请输入月");int month = sc1.nextInt();//逻辑switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:System.out.println("该月有31天");break;case 4:case 6:case 9:case 11:System.out.println("该月有30天");break;case 2://闰年的条件  能被400整除   或者  能被4整除并且不能被100整除if (year%400==0 || year%4==0 && year%100!=0){System.out.println("该月有29天");}else{System.out.println("该月有28天");}break;default:System.out.println("输入数据不合法");break;}

2.2循坏结构

2.2.1while循坏

循环四要素: ①初始化变量,②循环条件,③循环体,④循环变量的自增。

注意避免:

​ while(true) 如果这样,循环永远出不来。

​ while(false) 循环进不去。

案例:求1-100的和

public class Test1 {public static void main(String[] args) {int i=1;int sum=0;while(i<=10){sum=sum+i;if (sum>20){System.out.println(i);return;}i++;}System.out.println("1-10的和为:"+sum);}
}

2.2.2do while 循坏

while 先判断再执行

do while 先执行一次再判断

do while至少会执行一次。

2.2.3for循环

for( 初始化变量①;判断条件②;步进表达式④){

​ 循环体③;

}

① 初始化变量

②判断条件

③循环体

④循环变量的自增

①-》②-》③-》④-》②-》③-》④-》②-》③-》④。。。-》②如果条件不满足直接结束循环。

案例:九九乘法表

//99乘法表(1)for (int i = 1; i < 10; i++) {for (int j = 1; j <= i; j++) {System.out.print(j+"*"+i+"="+i*j+" ");}System.out.println();}System.out.println("---------------------------------");(2)for (int i = 9; i >=1; i--) {for (int j = 1; j <=i; j++) {System.out.print(j+"*"+i+"="+i*j+" ");}System.out.println();}System.out.println("---------------------------------");(3)for (int i = 1; i < 10; i++) {for (int j = 9; j >=i; j--) {System.out.print(j+"*"+i+"="+i*j+" ");}System.out.println();}​System.out.println("---------------------------------");(4)for (int i = 9; i >=1; i--) {for (int j = 9; j >= i; j--) {System.out.print(j+"*"+i+"="+i*j+" ");}System.out.println();}

输出时,这些符号有特殊意义

2.2.4break和continue

循环案例

1.循环输入五次成绩,求和 求平均值 求最大值 求最小值

//循环录入数据,求和 求平均值 求最大值 求最小值。double sum = 0;double max = 0;double min = 0;for (int i = 1; i <= 5; i++) {System.out.println("请输入第"+i+"次成绩");Scanner sc = new Scanner(System.in);double score = sc.nextDouble();sum+=score;//假设:默认第一个输入的数既是最大值 也是最小值   比武招亲打擂台if(i==1){max = score;min = score;}if(max < score){max = score;}if(min > score){min = score;}}System.out.println("和是"+sum+",平均值是"+sum/5+",最大值:"+max+";最小值:"+min);

2.有一个等式 12()34()56()78()9 = 59,括号中只能放加和减,如果要使等式成立,那么每个括号中应该放哪些符号。

分析:数学问题括号中放+ 相当于 12 + 34 ===》 12 + 1*34括号中放- 相当于 12 - 34 ===》 12 + (-1)*34每一个括号中的值都有两种可能 1或者-1有一个等式   12()34()56()78()9 = 59,括号中只能放加和减,如果要使等式成立,那么每个括号中应该放哪些符号。先转化成数学问题12 + 34 - 56 + 78 - 9 = 59 ---》12+(+1*)34+(-1*)56+(+1*)78+(-1*)9=59-->12+(a*)34+(b*)56+(c*)78+(d*)9 = 59括号中只有两种情况要么+1 要么 -1*/for(int a=-1;a<2;a+=2){for(int b=-1;b<2;b+=2){for(int c=-1;c<2;c+=2){for(int d=-1;d<2;d+=2){if(12+a*34+b*56+c*78+d*9==59){System.out.println(a+","+b+","+c+","+d);}}}}}

3.计算sum=1-1/2+1/3-1/4+1/5-……+1/99的值。

//计算sum=1/1-1/2+1/3-1/4+1/5-……+1/99-1/100的值。//sum = 1 - (1/2+...+1/100) + (1/3+...+1/99);//方法一double sum=0;for (double i = 1; i < 101 ; i++) {if(i%2==0){sum-=1/i;}else{sum+=1/i;}}System.out.println(sum);​//方法二double i,j,sumi=0,sumj=0,sum=0;for(i=2;i<=100;i+=2){sumi += 1/i;}for(j=3;j<=99;j+=2){sumj += 1/j;}sum = 1-sumi+sumj;System.out.println(sum);​//方法三double a = 0;double b = -1;for (double i = 1; i <=100; i++) {b = b*(-1);a += b*(1/i);}System.out.println(a);

java的学习--第二章 java流程控制相关推荐

  1. 尚硅谷Java入门视频教程第二章——Java基本语法

    尚硅谷Java入门视频教程第二章 第一章复习 课后习题 Java语言概述 第2章:Java基本语法 2.1 关键字和保留字 2.2 标识符(Identifier) 2.3 变量 2.3.1 变量基本概 ...

  2. 【JAVA SE】第二章 Java语法基础、数据类型、基本类型的字面值、基本类型的类型转换和运算规则

    第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符命名风格 文章目录 第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符 ...

  3. Python编程高手之路——第二章:流程控制

    二.流程控制 2.1 运算方式 计算机的核心部件是CPU,CPU有两个功能,控制和运算: 2.1.1 数学运算 print(a ** b) # 幂 print(a // b) // 取整数 2.1.2 ...

  4. think in java i o_《Thinking in Java》学习——18章Java I/O系统(三)

    ppe#标准I/O 一.从标准输入中读取 1.按照标准I/O模型,Java提供了System.in.System.out.System.err.其中System.out已经事先被包装成了PrintSt ...

  5. java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础

    第二章 JAVA语言基础 一.关键字 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有的字母都为小写 2.用于定义数据类型的关键字 c;ass  interface ...

  6. (Java零基础学习笔记)第二章 Java中的基本语法

    前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...

  7. 描述java源程序构成_Java第二章Java程序设计

    <Java第二章Java程序设计>由会员分享,可在线阅读,更多相关<Java第二章Java程序设计(140页珍藏版)>请在人人文库网上搜索. 1.第2章 Java基本语法,2. ...

  8. 第二章 java常用开发工具以及程序的编写

    2019独角兽企业重金招聘Python工程师标准>>> 第二章 java常用开发工具以及程序的编写 1. 程序的概念         2. java程序的开发的三个步骤        ...

  9. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

最新文章

  1. c++重载运算符_Chapter13:重载——入门(一)
  2. 为开发可穿戴设备 索尼收购了以色列芯片制造商
  3. 安卓定时启动软件app_便签app排行榜前十名安卓手机哪个高颜值便签软件好用?...
  4. 27个人类基因被重新命名,只因Excel总把它们自动纠正成日期
  5. 深度解析KGDB调试Linux模块和内核
  6. 2019年华南理工大学程序设计竞赛(春季赛)
  7. 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理(转)
  8. 认识控制台-控制台句柄、附着到控制台、关闭控制台
  9. java ee13_一口气了解多线程及其Java实现
  10. 定义整型数组_C++数组的定义与初始化(学习笔记:第6章 01)
  11. Android Gallery组件实现循环显示图像
  12. C# 反射 设置字段值无效的解决办法
  13. 第一期站立会议2(11.16)
  14. 深度解析,AI如何让创新变得更简单
  15. EXCEL选择下拉框实现复选
  16. 股票学习-量柱和k线-第二天
  17. Google zxing实现二维码扫描完美解决方案
  18. 关于JS如何实现图片闪烁
  19. 【EduCoder答案】冯诺伊曼体系结构建模与模拟实训
  20. 编译原理个人作业--第五章——基于 编译原理 国防工业出版社 第三版

热门文章

  1. 八小时之内、八小时之外
  2. 爱墙php,断桥残雪php爱墙(许愿墙)程序源码
  3. 软硬件配置大幅提升!解读戴尔新一代PowerEgde14服务器
  4. 定时指定ftp目录下csv文件入库到mysql数据库
  5. 『前端风云』Vite Webpack 恩怨史
  6. 游戏陪玩系统源码中聊天室内礼物系统的实现
  7. postgres中跨年周别踩坑记
  8. 怀孕在机房学计算机一个月可以吗,怀孕了可以上机房课吗
  9. 23考研零基础跨考南京大学软件工程专硕420分数学满分经验贴
  10. windows7安装minikube