《Java从入门到精通》第四章学习笔记

第4章 流程控制

一、条件语句

1、if语句

1 if(布尔表达式){
2     语句序列
3 }
4 /*
5 布尔表达式如果为true则执行if代码块中的语句序列;
6 反之则不执行。
7 */

2、if…else语句

 1 if(布尔表达式){
 2     语句序列
 3 }
 4 else{
 5     语句序列
 6 }
 7 /*
 8 布尔表达式如果为true则执行if代码块中的语句序列;
 9 反之则执行else代码块中的语句序列。
10 如果一段代码中有多处if..else,则每一个else总是与它上面最近的一个if相匹配。
11 */
 1 /*
 2 创建GetTerm类,在主方法中定义变量x,从控制台输入接受赋值,并通过if...else if多分支语句判断x的值决定输出结果。
 3 */
 4 import java.util.Scanner;
 5 public class GetTerm {
 6     public static void main(String[] args){
 7         Scanner scan=new Scanner(System.in);
 8         System.out.println("请输入一个整数:");
 9         int x=scan.nextInt();
10         if(x>1000){
11             System.out.println("x的值大于1000");
12         }else if(x>500){
13             System.out.println("x的值大于500,但小于1000");
14         }else if(x>100){
15             System.out.println("x的值大于100,但小于500");
16         }else {
17             System.out.println("x的值小于100");
18         }
19         scan.close();
20     }
21 }

3、switch多分支语句

 1 switch(表达式){   //表达式的值必须是整型或者字符型
 2 case 常量值1:      //这里常量值必须与表达式的值对应,下同
 3     语句序列1
 4     break;   //跳出switch语句块,如没有则会继续执行下一句
 5 case 常量值2:
 6     语句序列2
 7     break;
 8 ...
 9 default:   //当上述各case的常量值没有匹配时候则从此处执行
10      语句序列;
11      break;
12 }   
 1 import java.util.Scanner;
 2 public class Switch_Example {
 3     public static void main(String[] args){
 4         Scanner scan=new Scanner(System.in);
 5         System.out.println("请输入你的姓名:");
 6         String name=scan.nextLine();
 7         System.out.println("请输入你的专业编号(0~9):");
 8         int majorLanguage=scan.nextInt();
 9
10         switch(majorLanguage){
11         case 0:
12         case 1:
13         case 2:
14             System.out.println("恭喜你,"+name+"你被分配到办公室");
15             break;
16         case 3:
17         case 4:
18         case 5:
19         case 6:
20             System.out.println("恭喜你,"+name+"你被分配到总工办");
21             break;
22         case 7:
23         case 8:
24         case 9:
25             System.out.println("恭喜你,"+name+"你被分配到财务处");
26             break;
27         default:
28             System.out.println("抱歉,你未被录用");
29         }
30         scan.close();
31     }
32 }

二、循环语句
1、while语句

while(条件表达式){   //条件表达式必须为布尔类型
  语句序列;          //条件表达式为true则执行该语句序列
}                 //否则退出循环

2、do…while语句

do {
    语句序列;
}while(条件表达式)
/*与while语句的区别可以从顺序上理解出,即便条件表达式为false,也会执行一次do代码块里的指令*/

3、for语句

for(表达式1;表达式2;表达式3){
    语句序列;
}
/*
表达式1:初始化工作
表达式2:为布尔类型,用于判断循环条件
表达式3:改变循环条件判断参数
执行流程:先通过表达式1进行初始化设置工作,再判断表达式2,如果为true则执行语句序列,再通过表达式3改变循环条件判断参数;进入第二次循环时候先判断表达式2,如果为true则执行语句序列,再通过表达式3改变循环条件判断参数;直至某次判断表达式2为false则跳出循环。
*/
 1 //用for循环输出九九乘法表
 2 public class MultiTable {
 3     public static void main(String[] args){
 4         for(int i=1;i<10;i++){
 5             for(int j=1;j<i+1;j++){
 6                 System.out.println(j+"*"+i+"="+j*i+" ");
 7             }
 8             System.out.println();  //换行
 9         }
10     }
11 }

4、foreach语句

for(元素变量x:遍历对象obj){
     语句序列(一般会对x有操作)
}
/*foreach是for语句的特殊简化格式,从上述示例代码可以看出foreach并不是所用的关键字,而是习惯上对这种循环的称谓。*/
 1 //使用foreach语句读取一位整型数组各元素
 2 public class Repetition {
 3     public static void main(String[] args){
 4         int arr[]={1,3,4,7,8,10};
 5         System.out.println("一维数组中各元素分别为:");
 6         for(int x:arr){
 7             System.out.println(x+"\t");
 8         }
 9     }
10 }

三、跳转语句
1、break语句
break只可以用在switch\for\while\do..while循环语句中,用于强行退出整个循环体。
2、continue语句
continue只能用在for\while\do…while循环语句中,用于直接跳出当前循环进入下一次循环。

 1 //计算1~100各偶数之和
 2 public class ContinueDemo {
 3     public static void main(String[] args){
 4         for(int sum=0,i=0;i<101;i++){
 5             if(i%2==0){
 6                 sum+=i;
 7             }else {
 8                 continue;
 9             }
10             if(i==100){
11                 System.out.println("0~100内偶数之和是"+sum);
12             }
13         }
14     }
15 }
 1 public class CatchBird {
 2     public static void main(String[] args){
 3         String[] birdArray=new String[]{"麻雀","鸽子","百灵","布谷","老鹰","鹦鹉","老鹰","翠鸟","斑鸠","老鹰","黄鹂"};
 4         int laoYingNumber=0;
 5         for(String birdString:birdArray){
 6             if(birdString.equals("老鹰")){
 7                 System.out.println("一只老鹰已经被我抓起来了");
 8                 laoYingNumber++;
 9                 continue;
10             }
11             System.out.println("发现了一只"+birdString);     //这里当然也可以用if-else
12         }
13         System.out.println("总共抓住了"+laoYingNumber+"只老鹰");
14     }
15 }
 1 //计算1+1/2!+1/3!+...+1/20!的值
 2 public class x1 {
 3     public static void main(String[] args){
 4         double sum=0;
 5         long a=1L;
 6         for(long i=1L;i<21;i++){
 7             for(long j=1L;j<=i;j++){
 8                 a=a*j;
 9             }
10             sum+=1/(double)a;          //强制浮点运算
11             a=(long)1;                 //重置为长整型数值
12             System.out.println(sum);
13         }
14     }
15 }
时间: 2024-10-11 09:49:35

《Java从入门到精通》第四章学习笔记的相关文章

《Java从入门到精通》第九章学习笔记

第9章 类的高级特性 一.抽象类 抽象类只声明方法的存在,不能被实例化,就是说抽象类不能创建其对象,在定义抽象类时要在class前面加上abstract关键字. 1 /*定义一个抽象类Fruit,并定义其抽象方法 2 *在其子类中实现该抽象方法 3 */ 4 abstract class Fruit { 5 public String color; 6 public Fruit(){ 7 color="green"; 8 } 9 //定义一个抽象方法 10 public abstrac

《Java从入门到精通》第十章学习笔记

第10章 Java集合类 一.概述 Java中的java.util包中提供了一些集合类,也被称为容器,不同于数组,集合的长度是可变的,存放的是对象的引用.常用的集合有List集合.Set集合.Map集合,其中List和Set实现了Collection接口. 二.集合类接口的常用方法 1.List接口的常用方法:因为继承了Collection接口,所以List接口也继承了Collection中的所有方法.List集合以线性有序的方式存储对象.List集合中可以包含重复的对象,的主要方法如下: (1

《Java从入门到精通》第八章学习笔记

第8章 接口.继承与多态 一.接口的使用 1.接口的定义,基本语法格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public][static][final] 变量; [public][abstract] 方法; } /* 1.修饰符是可选参数,指定接口的访问权限,可选值为public或省略默认 2.接口名是比选参数,必须是合法的Java标识符 3.extends 父接口名列表是可选参数,用于说明要定义的接口继承于哪个父接口. 4.方法:接口定义的方法只

《Linux内核设计与实现》第四章学习笔记

第四章 进程调度 [学习时间:1小时45分 撰写博客时间:2小时10分钟] [学习内容:Linux的进程调度实现.抢占和上下文切换.与调度相关的系统调用] 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间.进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统. 最大限度利用处理器时间的原则:只要有可以执行的进程,那么总会有程序正在执行. 一.多任务 1.概念:多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这会产生多个进程在同时运行的幻觉

源码-PL/SQL从入门到精通-第四章-PL/SQL控制语句(基础中的基础)

控制语句对任何一门语言.任何一个程序员而言,都是基础中的基础. 学了PL/SQL,才体会到Java语法的简洁,简直不是一个时代的东西:当然,他们的定位本来就不一样,不能以己之长比之他人之短. --第4章开始 --代码4.1 最简单的IF语句使用示例 DECLARE v_count NUMBER(10) := 0; --定义计数器变量 v_empno NUMBER(4) := 7888; --定义员工编号 BEGIN SELECT COUNT(1) --首先查询指定的员工编号是否存在 INTO v

菜单Menu(AS开发实战第四章学习笔记)

4.5 菜单Menu Android的菜单主要分两种,一种是选项菜单OptionMenu,通过按菜单键或点击事件触发,另一种是上下文菜单ContextMenu,通过长按事件触发.页面的布局文件放在res/layout目录下,菜单的布局文件存放在res/menu目录下. 1.选项菜单OptionMenu 弹出选项菜单的途径有3种: (1)按菜单键 (2)在代码中手动打开选项菜单,即调用openOptionsMenu方法 (3)按工具栏右侧的溢出菜单按钮 实现选项菜单的功能需要重写以下两种方法: o

Java从入门到精通pdf电子版

Java从入门到精通pdf电子版 链接:https://pan.baidu.com/s/1nzy8LV6d2_qAD3oKS-Fj9Q 提取码:at3x 简介: <Java从入门到精通>从初学者小白角度出发,通过通俗易懂的白话语言.丰富多彩的实战实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术和技能,让你在编程开发中越走越远 目录 · · · · · · 第一篇 基础篇 第1章 Java概述 第2章 Java基本语言 第3章 控制流程语句 第4章 数组 第二篇 面向对象 第5章

SpringMVC从入门到精通之第四章

第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模式的思路.我们来看下这个注解的源码: package org.springframework.stereotype; import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java

Java 线程第三版 第四章 Thread Notification 读书笔记

一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(long timeout) throws InterruptedException 等待条件的发生.如果通知没有在timeout指定的时间内发生,它还是会返回. public final void wait(long timeout, int nanos) throws InterruptedException