Java学习之路 第三章 流程控制
第三章 流程控制
1.if条件语句
(1)简单的if条件语句语法:
if(条件){语句;
}
注意:a.条件必须最后返回一个布尔值。
(2)嵌套if语句语法:
if(条件1){if(条件2){...}
}
(3)并列if语句语法:
if(条件1){语句1;
}
if(条件2){语句2;
}
...
(4)多重if语句语法:
if(条件1){语句1;
}else if(条件2){语句2;
}else if(条件3){语句3;
}else{语句n;
}
练习1:输入一给值判断是否为闰年。
/* 输入一给值判断是否为闰年*/
import java.util.Scanner;
public class Year{public static void main(String []args){Scanner sc=new Scanner(System.in);System.out.print("请输入一给年份:");int year = sc.nextInt();if((year%4==0&&year%100!=0)||(year%400==0)){System.out.println(year+"是闰年");}elseSystem.out.println(year+"是平年");}
}
运行结果:
练习2:2018年个人所得税计算器。
需求
缴税=全月应纳税所得额*税率-速算扣除数
全月应纳税所得额=(应发工资-五险一金)-5000
实发工资=应发工资-五险一金-缴税
/*创建一个RevenueCounter类
*RevenueCounter:税收计算器
*/
import java.util.Scanner;
public class RevenueCounter{public static void main(String[] args){Scanner sc = new Scanner (System.in);System.out.println("请输入你的工资:");double salary = sc.nextDouble();System.out.println("各项社会保险费:");double salary = sc.nextDouble();double a=salary-charge-5000; //a为全月应纳税所得额;if(a>0){double pay=0,get=0; //pay:应缴税款 get:实发工资:if(a<=2910){pay=(a*0.03);System.out.println("使用税率 3%"); }else if(a<=11010){pay=(a*0.1)-210;System.out.println("使用税率 10%");}else if(salary<=21410){pay=(a*0.2)-1410;System.out.println("使用税率 20%");}else if(salary<=28910){pay=(a*0.25)-2660;System.out.println("使用税率 25%");}else if(salary<=42910){pay=(a*0.3)-4410;System.out.println("使用税率 30%");}else if(salary<=59160){pay=(a*0.35)-7160;System.out.println("使用税率 35%");}else if(salary>59160){pay=(a*0.4)-15160;System.out.println("使用税率 40%");}get=salary-charge-pay;System.out.println("应缴税款:"+pay);System.out.println("实发工资:"+get); }elseSystem.out.println("你无需缴纳个人所得税"); }
}
运行结果
2、switch多分支语句
(1)语法结构
switch(表达式){case 值1:语句;break;case 值2:语句;break;...default:语句;
}
注意事项:
a,不要省掉break
b,值不允许重复
c,值只能是整形或字符型,不能是String (Java高版本支持字符串)
练习:switch…case
import java.util.Scanner;
public class Call{public static void main (String[] args){Scanner sc = new Scanner(System.in);System.out.println("请按号拨打电话:\n\t 按1:拨爸爸的号 \n\t 按2:拨妈妈的号 \n\t 按3:拨爷爷的号 \n\t 按4:拨奶奶的号");String num = sc.next();switch(num){case "1":System.out.println("爸爸号码拨号ing...");break;case "2":System.out.println("妈妈号码拨号ing...");break;case "3":System.out.println("爷爷号码拨号ing...");break;case "4":System.out.println("奶奶号码拨号ing...");break;default:System.out.println("拨号错误!");}}
}
运行结果:
3、循环语句(while/do…while/for)
(1)三种循环语句的语法结构
while(循环条件){ 循环操作;
}
注意:a、循环操作中要有改变循环条件的执行语句,使循环朝着结束的方向走。b、先判断后执行的循环。
--------------------------------------------------------------------------------------------------------
do{循环操作;
}while(循环条件);
注意:a、先执行后判断的循环。b、注意while后的;不要忘记写了。
-----------------------------------------------------------------------------------------------------------
for(初始化循环变量;循环条件;更新循环变量){循环操作;
}
注意:a、for中的;不可以省略。
-------------------------------------------------------------------------------------------------------------
(2)理解三种循环的执行顺序
实现:用三种循环实现1-10自加。
(3)三种循环的死循环
for(;;){if(条件) break;}
-----------------------
while(true){if(条件) break;}
-----------------------
do{if(条件) break;}while(true);
(4)三种循环练习操作。
/*do...while 的是否继续操作;*/
import java.util.Scanner;
public class D-continue{public static void main(String [] args){Scanner sc = new Scanner(System.in);String input;do{System.out.println("你的一些操作");System.out.println("是否继续运行 y/n");input = sc.next();}while(input.equals("y"));System.out.println(”88“);}
}
运行结果;
2.猜字游戏的练习
import java.util.Scanner;
public class GuessNumber{public static void main(String []args){Scanner sc = new Scanner(System.in);System.out.println("欢迎进入猜字游戏");System.out.println("------游戏开始!-----");int right = 36,guess;String input;do{System.out.println("请输入你要猜的数(0~100)");guess = sc.nextInt();if(guess>right){System.out.println("大了!");}else if(guess<right){System.out.println("小了!");}else{System.out.println("恭喜你猜对了!");}do{System.out.println("是否继续?(yes/no)");input = sc.next();}while(!(input.equals("yes")||input.equals("no")));}while(input.equals("yes"));System.out.println("欢迎下次在来"); }
}
运行结果;
for循环来打印九九乘法表;
public class Jiu9{public static void main(String []args){for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+(i*j)+"\t");}System.out.println("");}}
}
运行结果;
用for打印各种图形(三角形,矩形等。。。)
4.循环控制语句(break/continue)。
break:用于改变程序控制流。用于中断当前的循环而执行循环后的语句。
使用break跳出循环:
public class BreakTest{public static void main(String []args){for(int i=0;i<=10;i++){if(i==6){ //如果i=6了则结束循环break; //跳出循环}System.out.print(i+" ");}System.out.println("---end---");}
}
运行结果:
continue :只能用在循环里。 作用:跳过循环体中剩余的语句而执行下一次循环。
public class ContinueTest{public static void main(String []args){for(int i=0;i<=10;i++){if(i==6){ //如果i=6了则跳的下一个循环continue; //跳到下一个循环}System.out.print(i+" ");}System.out.println("---end---");}
}
运行结果:
流程控制小结
- 顺序结构:语句顺序执行
- 分支结构:语句在啊满足条件下执行(if,if-else,if-else if-else,switch)
- 循环结构:语句在满足条件下循环执行多次(while,do—while,for)
- 跳转语句(break,continue)
Java学习之路 第三章 流程控制相关推荐
- 《java学习之路》第一章:初识java第二节:helloworld
嗨大家好,我是埪动白,前一段时间由于一些原因,java学习之路停更了,我向大家道歉.今天我们来学习下一节 第一章:初识java 第二节:hello world 如果哪位同学没有看第一节,建议先看一下, ...
- 移动通信学习之路----第三章
移动通信第三章 知识点总结 第三章 组网技术基础 1.移动通信网的基本概念 2.无线电干扰 3.区域覆盖 4.信道(频率)的分配方法 5.提高蜂窝系统容量的方法 6.移动性管理 7.越区切换准则 8. ...
- JAVA学习之路 (三) 运算符
运算符 运算符分类 Ø 算术运算符Ø 赋值运算符Ø 比较运算符Ø 逻辑运算符Ø 条件运算符 Java中的算术运算符 ++a a++ Java中的算术运算符 Java中的比较运算符 Java中的逻辑运算 ...
- 我的Java学习之路(三)-- 自动饮料售卖机控制台程序
自动饮料售卖机控制台程序 1. 首先,定义一个饮料抽象类```Drink.java``` 2. 定义一个咖啡类```Coffee.java```,继承饮料类 3. 再定义一个可乐类```Cola.ja ...
- 4.Java学习笔记第四节——程序流程控制(尚硅谷视频整理)
文章目录 一.分支语句 1. if-else 结构 1)如何从键盘获取不同类型的变量 2. switch-case 结构 二.循环结构 1. for 循环 一.分支语句 ...
- 【Java基础系列】第3章 流程控制
3.1 分支结构 3.1.1 if else 语句 if( 逻辑表达式1 ){ 代码1 } //逻辑表达式1成立执行代码1,不成立不执行: 直接跳到下面的代码 if( 逻辑表达式2 ){ 代码2 }e ...
- Java学习之路-预科
Java学习之路-预科 第一章 学习计算机的基本知识 文章目录 Java学习之路-预科 前言 一.什么是计算机? 二.硬件及冯诺依曼结构 1.计算机硬件 1.1 计算机硬件组成 1.2 什么是装机 1 ...
- JAVA学习之路--基础篇三
目录 关于Java中从键盘输入的语句 nextxxx().next().nextLine()的区别 语句 if和if else语句 Switch语句 for语句 while和do..while bre ...
- java学习之路目录(已完结)
java学习之路目录(持续更新中-) 第一阶段 javaSE(完结) 序号 标题 内容 001 java初识 java语言特点.体系结构.运行机制 002 java SE基础语法 注释.关键字.变量. ...
最新文章
- 用composer安装laravel-bjyblog
- 9.10 css
- Xilinx IP核之FIFO
- 【详细注释】1058 选择题 (20 分)
- ECMAScript5 严格模式,JSON,及其它
- POJ2524——宗教(Ubiquitous Religions)【图论,并查集】
- java ip输入框_JavaScript实现IP地址的输入框方式
- OrderOnline——设计概述
- 零基础带你学习MySQL—创建表(四)
- 养老金总额和个人账户本息总额啥区别,退休后按照哪个账户计算养老金呢?
- 数据结构笔记--线性表定义与实现(Swift)
- 数据结构笔记(二十)--二叉树的存储
- Riemann映射定理
- 每天学一点flash(4) 数组与xml配合使用
- 计算机科学与技术学科评估 第五轮,【学科评估】解读第五轮学科各学科评估变化(上)...
- 【单片机开发】OV2640在没有DCMI接口的情况下的STM32驱动
- ndims matlab,MATLAB的size(),length(),ndims()函数
- 汽车驾驶技巧-倒车入库技巧图解-怎样倒车入库
- 销售数据分析软件——让你不做糊涂账
- html1——标题栏logo、网站logo
热门文章
- SSM+医院故障报修系统小程序 毕业设计-附源码191734
- 判断两个日期间隔是否为7日内
- ubuntu系统中查看本机cpu和内存信息的命令和用法(分色排版)
- Python异常和异常处理
- 互联网协议学习笔记-----IP协议与传输协议
- 字符串左旋和右旋的常见方法
- docker-compose(二):SpringBoot + Docker Compose
- html向下的三角符号怎么打,哪些字符可用于上/下三角形(无茎的箭头)以HTML显示?...
- [转帖]隔行扫描与逐行扫描视频有什么区别
- python图像处理(二)绘制函数图像