java基础学习--------第三章流程控制
来源:互联网 发布:手机图片搜索软件 编辑:程序博客网 时间:2024/05/16 08:44
第三章 流程控制
顺序结构
分支结构
循环结构
特殊流程控制结构
顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序
,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在
后面的后执行
键盘输入数据
之前的内容,数据都是在代码中写死的,在真正的项目实践中数据值肯定是变化的,有
必要学习如何输入数据。如何数据数据呢?需要三步:
1》导入java.util.Scanner包;
语句import java .util.Scanner;
这句话要放在class定义的上面。
2》创建对象;
语句Scanner sc = new Scanner(System.in);
3>接受数据
int a = sc.nextInt();
String name = sc.nextLine();
分支语句
分支语句根据一定的条件有选择的执行或跳过特定的语句
java分支语句分类
if语句
switch语句
if语句:
1:语法
第一种结构:
if (boolean 表达式){
java 语句
}
第二种结构:
if (boolean 表达式){
java 语句
}else {
java语句
}
第三种结构:
if(boolean 表达式){
Java语句
}else if (boolean 表达式){
java语句
}
else if (boolean 表达式){
java语句
}
else if(boolean 表达式){
java语句
}
第四种结构:
if(boolean 表达式){
Java语句
}else if(boolean 表达式){
java语句
}
else if (boolean 表达式){
java语句
}
else if (boolean 表达式){
java语句
}else{
Java语句
}
注意: 在if语句中只要有一个分支执行,则整个if语句结束
上面的结构2,4 可以保证一定有一个分支语句执行,因为他们都有else语
句
public class IfTest01{
public static void main(String[] args){
boolean isSuccess = false;
if ( isSuccess){
System.out.println("登录成功");
}else{
System.out.println("登录失败");
}
// 分支语句中,如果只有一条Java语句,大括号可以省略
// 但不推荐使用,别人这样写看懂就行
if ( isSuccess)
System.out.println("登录成功");
else
System.out.println("登录失败");
}
}
-------------------------------------------------------------------------------
/*
需求:
系统给定人的年龄【1-100】
系统给定程序,通过人的年龄来判断这个人处于生命的哪个阶段:
【1-5】: 幼儿
【6-18】:少年
【19-35】:青年
【36-55】:中年
【56-100】:老年
*/
public class IfTest01{
public static void main(String[]args){
int age = 10;
if (age>= 1&& age<=5){
System.out.println("幼儿");
}else if(age<=18){
System.out.println("少年");
}else if(age<=35){
System.out.println("青年");
}else if(age<= 55){
System.out.println("中年");
}else{
System.out.println("老年");
}
}
}
switch语句
/*
关于switch 语句
语法 :
switch(int类型){
Java语句;
Java语句;
break;
case int类型:
Java语句;
Java语句;
break;
case int类型:
Java语句;
Java语句;
break;
defalut:
java 语句
}
注意: break; 语句可以没有
defalut 语句也可以没有
break; 语句如果没有,则发生case穿透现象
switch后面的括号可以填写byte,short,char ,类型,因为可以自动转换int类型
*/
在switch语句执行时,首先计算表达式的值,然后将其与case后的常量依次进行比较,
如果找到相匹配的值,则进入到该常量下的代码块执行,直至遇到break结束整个
switch语句。
如果常量中没有找到匹配值,则进入到default代码块执行。
注意:在这里我们需要注意的是,虽然break语句不是必须的,但在执行过程中,如没有遇到break,将继续执行一下case后的代码块,直至break或整个switch语句结束
switch语句有关规则
switch(表达式)中表达式的返回值必须是下述几种类型之一:int ,byte,char
,short 枚举,字符串String(jdk7之后支持) case 字句中的值必须是常量,且所有case字句中的值应是不同的;
default字句是任选的;
break语句用来执行完一个case分支后使程序跳出switch语句块;
循环语句
循环语句也叫迭代语句,是指在循环条件下满足的情况下,重复执行一组代码块,直至循环条件不再满足或都遇到跳转语句
while do-while for
/*
for循环
语法:
for (表达式1;表达式2;表达式3){
Java语句
}
表达式1是初始化表达式,最先执行,只执行一次。
表达式2必须是boolean类型的表达式。
for 循环开始执行,先执行表达式1,并执行一次。
进而判断表达式2的结果,如果是true,则执行Java语句。
再执行表达式3,然后再判断表达式2的结果,直到表达式2的结果是false,则for循环
结束
*/
public class ForTest01{
public static void main(String[] args){
for (int i=0;i<10;i++){
System.out.println("i="+i);
}
}
}
-------------------------------------------------------------------------------
/*
关于for循环的嵌套
所有的控制语句都可以嵌套一起使用
*/
public class ForTest02{
public static void main(String[] args){
for(int i=5;i>0;i--){
for(int j=0;j<i;j++){
System.out.print(j+" ");
}
System.out.println();
}
}
}
-------------------------------------------------------------------------------
/*
使用嵌套的for循环打印九九乘法表
*/
public class ForTest03{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for (int j = 1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
System.out.println();
}
}
}
/*
关于while循环
语法:
whil(boolean 表达式){
java语句
}
while循环的次数是0-n。
*/
public class WhileTest01{
public static void main(String[] args){
/*int i=0;
while(i<10){
i++;
System.out.println(i);
}
*/
int i=0;
while(i<10){
System.out.println(i);
i++;
}
}
}
-------------------------------------------------------------------------------
/*
do...while...
语法:
do{
Java语句;
}while (boolean表达式);
该循环执行的次数是:1-n.
*/
public class DoWhileTest01{
public static void main(String[] args){
int i =0;
do{
i++;
System.out.println(i);
}while(i<10);
}
}
-------------------------------------------------------------------------------
/*
beak;语句:
1 可以用在switch语句中,结束分支语句
2 break;语句可以出现在循环当中,默认情况下结束离它最近的一个循环
*/
public class BreakTest01{
public static void main(String[] args){
for (int i =0;i<10;i++){
if (i==5){
//break;//只是结束离它最近的一个循环
//return;//结束的是main方法
continue;
}
System.out.println(i);
}
}
}
-------------------------------------------------------------------------------
/*
continue;语句:
*/
public class Cntinue01{
public static void main(String[] args){
for (int i =0;i<10;i++){
if (i==5){
//continue语句可以用来结束当前本一次循环,直接进入下一次循环执行
continue;
}
System.out.println(i);
}
}
}
-------------------------------------------------------------------------------
/*
深入break;
*/
public class BreakTest02{
public static void main(String[] args){
/*for (int i=5;i>0;i--){
for(int j =0;j<i;j++){
if(j == 2){
break;
}
System.out.print(j);
}
System.out.println();
}*/
outer:for (int i=5;i>0;i--){
for(int j =0;j<i;j++){
if(j == 2){
break outer;
}
System.out.print(j);
}
System.out.println();
}
}
}
- java基础学习--------第三章流程控制
- 第三章 流程控制 java
- JAVASE学习笔记:第三章 JAVA流程控制语句
- java基础学习总结--控制执行流程
- JAVA基础学习20171030-流程控制
- 第三章 流程控制
- java 基础 流程控制
- java 基础 流程控制
- 【JAVA基础】[流程控制]
- [Java基础] 流程控制
- Java基础--流程控制
- java基础-控制流程
- java基础:流程控制
- Java基础 | 流程控制
- java基础流程控制
- java基础,流程控制
- JAVA基础学习篇----《thinking in java》第三章:控制程序流程
- Java学习---流程控制
- 哈希之线性探测法
- 【Coursera】编程题 Percolation
- Jquery——Day2(基础事件)
- 编码与解码-UVA
- servlet纲要
- java基础学习--------第三章流程控制
- 回溯算法的使用
- hdu 2955 Robberies
- shell(2)脚本执行方式
- 深度神经网络(DNN)模型与前向传播算法
- maven项目打包发布时跳过测试
- USACO 2013open :yinyang(treap+启发式合并)
- 信息安全系统的组织管理
- Spring Cloud系列二 之 Ribbon负载均衡