《Java从入门到精通》第四章学习笔记
2015-06-06 11:28
567 查看
第4章 流程控制
一、条件语句1、if语句
if(布尔表达式){ 语句序列 } /* 布尔表达式如果为true则执行if代码块中的语句序列; 反之则不执行。 */
2、if…else语句
if(布尔表达式){ 语句序列 } else{ 语句序列 } /* 布尔表达式如果为true则执行if代码块中的语句序列; 反之则执行else代码块中的语句序列。 如果一段代码中有多处if..else,则每一个else总是与它上面最近的一个if相匹配。 */
/* 创建GetTerm类,在主方法中定义变量x,从控制台输入接受赋值,并通过if...else if多分支语句判断x的值决定输出结果。 */ import java.util.Scanner; public class GetTerm { public static void main(String[] args){ Scanner scan=new Scanner(System.in); System.out.println("请输入一个整数:"); int x=scan.nextInt(); if(x>1000){ System.out.println("x的值大于1000"); }else if(x>500){ System.out.println("x的值大于500,但小于1000"); }else if(x>100){ System.out.println("x的值大于100,但小于500"); }else { System.out.println("x的值小于100"); } scan.close(); } }
3、switch多分支语句
switch(表达式){ //表达式的值必须是整型或者字符型 case 常量值1: //这里常量值必须与表达式的值对应,下同 语句序列1 break; //跳出switch语句块,如没有则会继续执行下一句 case 常量值2: 语句序列2 break; ... default: //当上述各case的常量值没有匹配时候则从此处执行 语句序列; break; }
import java.util.Scanner; public class Switch_Example { public static void main(String[] args){ Scanner scan=new Scanner(System.in); System.out.println("请输入你的姓名:"); String name=scan.nextLine(); System.out.println("请输入你的专业编号(0~9):"); int majorLanguage=scan.nextInt(); switch(majorLanguage){ case 0: case 1: case 2: System.out.println("恭喜你,"+name+"你被分配到办公室"); break; case 3: case 4: case 5: case 6: System.out.println("恭喜你,"+name+"你被分配到总工办"); break; case 7: case 8: case 9: System.out.println("恭喜你,"+name+"你被分配到财务处"); break; default: System.out.println("抱歉,你未被录用"); } scan.close(); } }
二、循环语句
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则跳出循环。 */
//用for循环输出九九乘法表 public class MultiTable { public static void main(String[] args){ for(int i=1;i<10;i++){ for(int j=1;j<i+1;j++){ System.out.println(j+"*"+i+"="+j*i+" "); } System.out.println(); //换行 } } }
4、foreach语句
for(元素变量x:遍历对象obj){ 语句序列(一般会对x有操作) } /*foreach是for语句的特殊简化格式,从上述示例代码可以看出foreach并不是所用的关键字,而是习惯上对这种循环的称谓。*/
//使用foreach语句读取一位整型数组各元素 public class Repetition { public static void main(String[] args){ int arr[]={1,3,4,7,8,10}; System.out.println("一维数组中各元素分别为:"); for(int x:arr){ System.out.println(x+"\t"); } } }
三、跳转语句
1、break语句
break只可以用在switch\for\while\do..while循环语句中,用于强行退出整个循环体。
2、continue语句
continue只能用在for\while\do…while循环语句中,用于直接跳出当前循环进入下一次循环。
//计算1~100各偶数之和 public class ContinueDemo { public static void main(String[] args){ for(int sum=0,i=0;i<101;i++){ if(i%2==0){ sum+=i; }else { continue; } if(i==100){ System.out.println("0~100内偶数之和是"+sum); } } } }
public class CatchBird { public static void main(String[] args){ String[] birdArray=new String[]{"麻雀","鸽子","百灵","布谷","老鹰","鹦鹉","老鹰","翠鸟","斑鸠","老鹰","黄鹂"}; int laoYingNumber=0; for(String birdString:birdArray){ if(birdString.equals("老鹰")){ System.out.println("一只老鹰已经被我抓起来了"); laoYingNumber++; continue; } System.out.println("发现了一只"+birdString); //这里当然也可以用if-else } System.out.println("总共抓住了"+laoYingNumber+"只老鹰"); } }
//计算1+1/2!+1/3!+...+1/20!的值 public class x1 { public static void main(String[] args){ double sum=0; long a=1L; for(long i=1L;i<21;i++){ for(long j=1L;j<=i;j++){ a=a*j; } sum+=1/(double)a; //强制浮点运算 a=(long)1; //重置为长整型数值 System.out.println(sum); } } }
相关文章推荐
- Struts1.2基本配置入门
- Java MD5Util
- Spring框架二
- Spring IOC自动扫描
- 选择排序法
- Spring发送邮件的方式
- Leetcode[12-13] Roman to Integer & Integer to Roman(Java)
- java实现代理domino web邮件下载
- java读写创建excel
- java常用软件
- Ubuntu中安装jdk1.8.0
- myeclipse打开jsp报Unhandled event loop exception No more handles错误
- 使用Ant自动化我们的java项目生成
- 推荐一款非常好用的java反编译工具(转)
- CGLib与JDK的动态代理
- 【Thinking in Java笔记】Java中判断使用继承还是组合
- spring springmvc 事务
- 【eclipse】myeclipse10安装插件三种方式
- Eclipse 中文乱码
- Spring IOC自动装配