Java编程基础-选择和循环语句

一、选择结构语句

选择结构:也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

Java语言提供了两种选择结构语句:if语句和switch语句

1、if语句

if语句有三种语法格式。

(1)、if语句第一种语法格式(适合一种判断)

if(条件表达式){

语句体;

}

执行流程:判断条件表达式的结果,当为为true时,{}中的执行语句体才会执行,否则不执行语句体。

注意

条件表达式的结果必须是布尔类型;if如果控制的语句只有一条,可以不写中括号{},直接跟语句体,但如果跟多条语句,大括号不能省略,建议两种情况下都写。

代码示例演示:

[java] view plain copy

  1. //if语句第一种语法格式
  2. int i=6;
  3. if(i%2==0){
  4. System.out.println("if条件为true");
  5. }
  6. System.out.println("over");

输出结果为:

if条件为true

over

(2)、if语句第二种语法格式(适合两种判断)

if(条件表达式){

语句体1;

}else{

语句体2;

}

执行流程:同样先判断条件表达式的结果,如果为true,则执行语句体1,为false则执行语句体2.

代码示例演示:

[java] view plain copy

  1. //if语句第二种语法格式
  2. int j=-2;
  3. if(j>0){
  4. System.out.println(j+"为正数");
  5. }else{
  6. System.out.println(j+"为负数");
  7. }
  8. System.out.println("over");

输出结果为:

-2为负数

over

(3)、if语句第三种语法格式(适合多种判断)

if(条件表达式1){

语句体1;

}else if(条件表达式2){

语句体2;

}

...

...

else if(条件表达式n){

语句体n;

}else{

语句体n+1;

}

执行流程:首先判断条件表达式1的结果,如果为true,则执行语句体1,为false则继续判断条件表达式2的结果,如果为true,则执行语句体2,为false则继续判断下一个条件表达式的结果,以此类推,如果所有的判断条件都为false,则意味着所有的条件均未得到满足,则执行语句体n+1。

代码示例演示:

[java] view plain copy

  1. // if语句第三种语法格式
  2. int scores = 88;
  3. if (scores >= 90) {
  4. System.out.println("您的成绩被评定为A级");
  5. } else if (scores >= 80) {
  6. System.out.println("您的成绩被评定为B级");
  7. } else if (scores >= 70) {
  8. System.out.println("您的成绩被评定为C级");
  9. } else if (scores >= 60) {
  10. System.out.println("您的成绩被评定为D级");
  11. } else if (scores >= 0) {
  12. System.out.println("您的成绩被评定为E级");
  13. } else {
  14. System.out.println("成绩输入有误!!!");
  15. }

输出结果为:

您的成绩被评定为B级

2、switch语句

switch语句的语法格式:

switch(表达式){

case 目标值1:

执行语句1;

break;

case 目标值2:

执行语句2;

break;

......

......

case 目标值n:

执行语句n;

break;

default:

执行语句n+1;

break;

}

执行流程:switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应的case后的语句,遇到break就会结束。如果没找到任何匹配的值,就会执行default后的语句,然后程序结束。

注意:

(1)、表达式接收的值类型:在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其他类型的值,程序就会报错。(JDK5.0引入enum枚举和JDK7.0接收String类型)。

(2)、case后面跟的是要和表达式进行比较的值,语句体部分可以是一条或多条语句,break表示中断,结束的意思,可以结束switch语句,default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。default可以省略,但一般不建议,default可以放在switch语句的任何位置,一般放在最后位置,放在最后位置时紧跟它的break可以省略。

(3)、switch结束的情况:当程序执行过程中遇到了break;当程序执行到了末尾处。

代码示例演示:

[java] view plain copy

  1. public class Demo {
  2. public static void main(String[] args) {
  3. int month = 12;
  4. switch (month) {
  5. case 1:
  6. case 3:
  7. case 5:
  8. case 7:
  9. case 8:
  10. case 10:
  11. case 12:
  12. System.out.println(month + "月有31天!");
  13. break;
  14. case 2:
  15. System.out.println(month + "月有28天!");//这里暂不考虑闰年情况
  16. break;
  17. case 4:
  18. case 6:
  19. case 9:
  20. case 11:
  21. System.out.println(month + "月有30天!");
  22. break;
  23. default:
  24. System.out.println("不存在该月!");
  25. break;
  26. }
  27. }
  28. }

输出结果为:

12月有31天!

附:if和switch语句很像,那么在具体场景下如何合理选择使用哪种语句呢?

(1)、能用switch语句实现的都可以用if语句替换,并且if语句的条件表达式没有任何限制,但是switch语句条件表达式的类型只能是byte、short、int、char这四种类型,以及后加入的枚举和string,并且要注意break的使用。

(2)、 If语句一般用于分支语句比较少的结构,而switch用于分支较多的结构。

(3)、如果判断具体数值不多,而且符合byte、short、int、char这四种类型虽然两个语句都可以使用,但建议使用switch语句,因为效率稍高。其他情况,对区间判断,对结果为boolean型的判断,使用if,if的使用范围更广。

二、循环结构语句

循环结构:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

1、for循环语句

for循环语句的基本语法格式:

for(初始化表达式;循环条件;操作表达式){

执行语句(循环体)

......

}

执行流程:

for(①;②;③){

}

第一步,执行①

第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步。

第三步,执行④

第四步,执行③,然后重复执行第二步。

第五步,退出循环。

代码示例演示:

[java] view plain copy

  1. public class Demo {
  2. public static void main(String[] args) {
  3. // 求1到100的和
  4. int sum = 0;
  5. for (int i = 1; i <= 100; i++) {
  6. sum += i;
  7. }
  8. System.out.println(sum);
  9. }
  10. }

运行结果为:

5050

简单分析:要求1到100的和,首先要对1到100之间进行遍历,还要定义一个变量记住相加的结果。所以,初始化int类型变量i等于1,从1开始遍历,i满足小于等于100,就执行循环体,即和sum相加,并把结果赋值给sum,然后i自增1,直到i大于100不满足条件,就跳出循环,打印结果。

2、while循环语句

while循环语句的基本语法格式:

while(循环条件){

执行语句

}

while语句会反复的进行条件判断,只要条件成立,{}内的执行语句就会被执行,直到条件不成立,while循环结束。

流程图和for循环流程图一样。

代码示例演示:

[java] view plain copy

  1. public class Demo {
  2. public static void main(String[] args) {
  3. // 求1到100的和
  4. int i = 1, sum = 0;
  5. while (i <= 100) {
  6. sum += i;
  7. i++;
  8. }
  9. System.out.println(sum);
  10. }
  11. }

运行结果为:

5050

注意:要注意控制循环条件,避免陷入死循环。

无限循环的最简单表达形式:while(true){}

3、do...while循环语句

do...while循环语句的基本语法格式:

do{

执行语句

}

while(循环条件);

关键字do后面{}中的执行语句是循环体。do while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件决定是否继续执行。

代码示例演示:

[java] view plain copy

  1. public class Demo {
  2. public static void main(String[] args) {
  3. // 求1到100的和
  4. int i = 1, sum = 0;
  5. do {
  6. sum += i;
  7. i++;
  8. } while (i <= 100);
  9. System.out.println(sum);
  10. }
  11. }

运行结果为:

5050

for循环、while循环和do...while循环的区别?

(1)、while和for首先要判断循环条件,满足条件才执行循环体,否则不执行循环体。do..while先执行循环体,无论条件是否满足,都至少执行一次循环体。(do...while实际中用的较少)

(2)、for循环一般用于循环次数确定的,while,do..while用于循环次数不确定的。

(3)、for循环和while循环再多数情况下可以等价转换,但还是有一点小区别的for循环结束,控制循环的变量会在内存中消失,提高内存的使用效率,而while循环结束,该变量则继续存在,不会被回收。如果循环后面的代码涉及到了该变量的使用,可以考虑使用while循环。

4、循环嵌套

循环嵌套是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do..while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环。语法格式如下:

for(初始化表达式;循环条件;操作表达式){

……

for(初始化表达式;循环条件;操作表达式){

执行语句

……

}

……

}

代码示例演示:

[java] view plain copy

  1. public class Demo {
  2. public static void main(String[] args) {
  3. // 打印如下图形
  4. // 使用嵌套循环,通俗的讲就是大圈套小圈。
  5. // *
  6. // **
  7. // ***
  8. // ****
  9. // *****
  10. // 尖朝上,可以改变条件,让条件随着外循环变化。
  11. for (int i = 1; i <= 5; i++) {//外循环控制行
  12. for (int j = 1; j <= i; j++) {//内循环控制每一行的列(个)数
  13. System.out.print("*");
  14. }
  15. System.out.println();// 只有一个功能就是换行。
  16. }
  17. // *****
  18. // ****
  19. // ***
  20. // **
  21. // *
  22. // 尖朝下,可以初始化值,让初始化值随着外循环变化。
  23. for (int i = 0; i < 5; i++) {
  24. for (int j = i; j < 5; j++) {
  25. System.out.print("*");
  26. }
  27. System.out.println();// 只有一个功能就是换行。
  28. }
  29. }
  30. }

5、跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转,在java中的跳转语句有break语句和continue语句。

(1)、break语句

在switch条件语句和循环语句中都可以使用break语句。

当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

(2)、continue语句

continue语句只能用在循环语句中,它的作用是终止本次循环,执行下一次循环。在while 和 do while语句中continue语句跳转到循环条件处开始继续执行,而在for语句中continue语句跳转到迭代语句处开始继续执行。

注意:

break和continue单独存在时,下面不可以有任何语句,因为执行不到。

这两个语句离开应用范围,存在是没有意义的。

break和continue都只对它所在的那层循环作用。

标签的出现,可以让这两个语句作用于指定范围。

代码示例演示:

[java] view plain copy

    1. public class Demo {
    2. public static void main(String[] args) {
    3. // 普通跳出循环
    4. for (int i = 1; i <= 10; i++) {
    5. if (i == 5) {// 当i=5就跳出循环
    6. break;
    7. }
    8. System.out.println("i=" + i);
    9. }
    10. // 输出结果为
    11. // i=1
    12. // i=2
    13. // i=3
    14. // i=4
    15. // 如果要跳出指定的循环,可以使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环。
    16. w: for (int x = 0; x < 3; x++)// w表示外层循环标记
    17. {
    18. for (int y = 0; y < 4; y++) {
    19. System.out.println("x=" + x);
    20. break w;// break跳出当前循环,加w标记表明跳出外循环
    21. }
    22. }
    23. // 输出结果为
    24. // x=0
    25. // continue演示
    26. // 求1到10之间的偶数
    27. for (int x = 1; x <= 10; x++) {
    28. if (x % 2 == 1) {// 不是偶数
    29. continue;// 结束本次循环,继续下一次循环
    30. }
    31. System.out.println("x=" + x);// 满足偶数的数该句代码不会执行,直接进入下一次循环
    32. }
    33. // 输出结果为
    34. // x=2
    35. // x=4
    36. // x=6
    37. // x=8
    38. // x=10
    39. }
    40. }
时间: 2024-10-14 03:11:37

Java编程基础-选择和循环语句的相关文章

编程基础及分支循环语句

编程基础 程序: 一组能让计算机识别和执行的指令 电子计算机 能够执行程序的机器 现代计算机: 艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家.逻辑学家,被称为计算机科学之父,人工智能之父.图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础 冯·诺依曼著名匈牙利裔美籍犹太人数学家.计算机科学家.物理学家和化学家,数字计算机之父.他提出了以二进制作为数字计算机的数制基础,计算机应该按照程序顺序执行,计算机应该有五大部

29 Java语言基础选择结构switch语句的格式及其解释 Tooho King

switch 语句的格式 inx = 10 switch(表达式){ case 值1; break; case 值2; break; ... defualt: 语句n-1; break; } 注意  btye short char String 才能作为表达式 long不行 也就是基本类型里面能够转换为int的类型都可以做为case的表达式. 1 public class Test1_DataTypeConversion { 2 3 public static void main(String[

《编程导论(Java)&#183;3.2.4 循环语句》

本文完全复制<编程导论(Java)·3.2.4 循环语句>的内容,除[]中的说明文字.请阅读和比较其他编程教材. 我知道,如果我是一个初学者,<编程导论(Java)>很不适合自学.建议同学们阅读时,一定选择一本其他的书同时看,或上网.,因为太一般或简单的内容.或我不想留在书中占用篇幅的东西,都省略了.毕竟,网络上相关的一般描述的内容,大把大把. 卓别林在<摩登时代>中,说明流水线上的工人在高强度下反复执行同一个动作是多么令人郁闷.然而循环/迭代(loop/iterati

Java入门——(1)Java编程基础

Java入门--(1)Java编程基础 第二章 Java编程基础 JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 } 2.1关键字:赋予了特殊含义的单词. 2.2标识符:在程序中定义的一些名称. 比如:类名 a-z 0-9 _ $ 数字不可以开头,不可以使用关键字,一般首字母大写. 2.3注释:注解说明程序的文字. 作用:1.对程序进行说明. 2.调试程序. 注意:多行注释可嵌单行注释,但不能嵌套多行注释. /*多行注释*/ /**文档注释*/ //单行注释 /* 需求:写一个

Java面试求职之Java编程基础

Java编程基础 小编目前大三在读,专业电子系.由于对编程感兴趣还有就是对本专业前途的不乐观,还是勇敢的加入所谓的码农之路.学习Java也有一段时间了,快要放假了,想找家公司实习一下.至目前为止,已经面试了好几家公司了,大的有像腾讯.百度.联想这样的大公司:小的也有只有10几个员工的创业型公司.拿到过offer.也有碰壁连面试机会都没得到的. 下面就是一些对面试官面试时问的问题做的一些总结和自己搜集的一些知识点. Java概述和开发环境 Java开发包的总类            随着Java语

java编程基础(一)

Java编程基础(一) 1. java基本语法 1.1 Java基本格式 修饰符 class 类名 { 程序代码 } Java严格区分大小写,例如不能将class关键字写成Class, java编译器将不能识别. Java程序中连续的字符串不能分行写:如果想分行写,可以写成两个字符串,中间用+号连接即可. 每一语句以分号结尾. 1.2 java注释 1.2.1 功能: 增加代码可读性,方便阅读,它只在源文件中有效,编译时编译器会忽略这些信息,不会将其编译到class文件中. 1.2.2 分类 注

Java编程基础-面向对象(中)

本章承接Java编程基础-面向对象(上)一文. 一.static关键字 在java中,定义了一个static关键字,它用于修饰类的成员,如成员变量.成员方法以及代码块等,被static修饰的成员具备一些特性. 1.static关键字的特点: a)随着类的加载而加载,也就是说,静态会随着类的消失而消失,说明它的生命周期最长. b)优先于对象存在,明确一点,静态是先存在的,对象是后存在的. c)被类的所有对象共享. d)可以通过类名调用. 2.静态变量 在一个java类中,可以使用static关键字

Java大神推荐,java编程基础必备(必看)

在没有以前的操作习惯的错误情况下,反而容易接受新知识,所以不要因为自己对java一无所知而自卑,相反,这是菜鸟们的优势,但是如何才能从一个菜鸟历练成大神呢,当然是需要学习了,不学习就想成为大神,就是在做白日梦,所以如果你想改变自己,那么你可以来我们这个交流群来学习521595826,在这里每天都能学到新鲜的知识,想不进步都难,但是如果你是一个不思进取的人,一边凉快去就行.下面来介绍下java编程基础必备知识: 第一步:下载并安装JDK 6.0,安装路径为: C:\java\jdk1.6 . 第二

黑马程序员——java基础——选择、循环

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 今天回顾了一下JAVA学习中的选择语句,循环语句,和数组,在JAVA中的选择语句和C语言中差不多有if.switch一个if语句由一个后跟到一到多个语句的布尔表达式组成.顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while循环 do…while循环 for循环 for循环的用法 先来说说哦For循环