java流程控制结构_JAVA流程控制——顺序结构、选择结构

顺序结构

Java的基本结构就是顺序结构

最简单的算法结构

语句与语句之间,由上到下顺序进行,

任何算法都离不开的基本算法结构

package com.Shelton.struct;

public class Order {

public static void main(String[] args) {

System.out.println("hello1");

System.out.println("hello2");

System.out.println("hello3");

System.out.println("hello4");

}

}

/*

hello1

hello2

hello3

hello4

*/

选择结构※

if单选择结构

if双选择结构

if多选择结构

嵌套的if结构

switch多选择结构

if单选择结构

判断一个东西是否行,然后才会去执行

语法

if(布尔表达式){

//如果布尔表达式为true将执行的语句

}

例子

package com.Shelton.struct;

import java.util.Scanner;

public class IfDemo01 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入内容:");

String s = scanner.nextLine();//为了原样输出

//equals判断字符串是否相等,不要用"=="来判断字符串

if (s.equals("Hello")){

System.out.println(s);

}

System.out.println("End");

scanner.close();

}

}

/*

请输入内容:

Hello

Hello

End

*/

/*

请输入内容:

hello

End

*/

if双选择结构

语法

if (布尔表达式){

//如果布尔表达式值为true执行的语句

}else{

//如果布尔表达式值为false执行的语句

}

例子

package com.Shelton.struct;

import java.util.Scanner;

public class IfDemo02 {

public static void main(String[] args) {

/*

考试分数大于60及格,小于60不及格

*/

int i = 60;

Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩");

if (scanner.nextDouble()>=60){//定义一个变量把scanner.nextDouble的值赋给它

System.out.println("及格");

}else{

System.out.println("不及格");

}

scanner.close();

}

}

/*

请输入成绩

61

及格

*/

/*

请输入成绩

59

不及格

*/

改进

package com.Shelton.struct;

import java.util.Scanner;

public class IfDemo03 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩");

Float score = scanner.nextFloat();

if (score>=60){

System.out.println("及格");

}else{

System.out.println("不及格");

}

}

}

/*

请输入成绩

59.9

不及格

*/

if多选择结构

if语句至多有一个else,在所有else if语句之后

if语句可以有若干个elseif,他们必须在else语句之前

一旦其中一个else if为true,其余的else if和else语句都不执行

语法

if (布尔表达式 1){

//如果布尔表达式1值为true执行的语句

}else if(布尔表达式 2){

//如果布尔表达式2值为true执行的语句

}elseif(布尔表达式 3){

//如果布尔表达式3值为true执行的语句

}else{

//如果以上布尔表达式值都为false执行的语句

}

例子

package com.Shelton.struct;

import java.util.Scanner;

public class IfDemo04 {

public static void main(String[] args) {

//成绩评级

Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩");

Float score = scanner.nextFloat();

if (score==100){

System.out.println("恭喜满分");

}else if (score<100 && score>=90){

System.out.println("A级");

}else if (score<90 && score>=80){

System.out.println("B级");

}else if (score<80 && score>=70){

System.out.println("C级");

}else if (score<70 && score>=60){

System.out.println("D级");

}else if (score<60 && score>=0){

System.out.println("不及格");

}else{

System.out.println("成绩不合法");

}

scanner.close();

}

}

/*

请输入成绩

120

成绩不合法

*/

/*

请输入成绩

66

D级

*/

if嵌套结构

语法

if (布尔表达式1){

//如果布尔表达式1值为true执行的语句

if (布尔表达式2){

//如果布尔表达式2值为true执行的语句

}

}

思考

package com.Shelton.struct;

import java.util.Scanner;

public class IfDemo05 {

public static void main(String[] args) {

//在1~100之间顺找一个整数

Scanner scanner = new Scanner(System.in);

int i = 1;

System.out.println("请想一个1~100数");

while (i<=100){

System.out.println("这个数是否大于"+i);

String a = scanner.next();

if (a.equals("y")||a.equals("Y")){

++i;

}else{

System.out.println("这个数是"+i);

i = i + 100;

}

}

}

}

/*

请想一个1~100数

这个数是否大于1

Y

这个数是否大于2

Y

这个数是否大于3

Y

这个数是否大于4

Y

这个数是否大于5

N

这个数是5

*/

Switch多选择结构

匹配一个具体的值

语法

switch (expression){

case value :

//语句

break;//可选

case value :

//语句

break;//可选

default :

//语句

}

语句中的变量类型

byte、short、int或者char

从JavaSE7开始,switch支持字符串String类型

case标签必须为字符常量或字面量

例子

package com.Shelton.struct;

public class SwitchDemo01 {

public static void main(String[] args) {

char grade = 'C';

switch(grade){

case 'A':

System.out.println("优秀");

break;//没有会出现case穿透,所以每个case后都应加上case

case 'B':

System.out.println("良好");

break;

case 'C':

System.out.println("及格");

break;

case 'D':

System.out.println("再接再厉");

break;

case 'E':

System.out.println("挂科");

break;

default:

System.out.println("未知等级");

}

}

}

//及格

case穿透现象

package com.Shelton.struct;

public class SwitchDemo01 {

public static void main(String[] args) {

char grade = 'C';

switch(grade){

case 'A':

System.out.println("优秀");

case 'B':

System.out.println("良好");

case 'C':

System.out.println("及格");

case 'D':

System.out.println("再接再厉");

case 'E':

System.out.println("挂科");

default:

System.out.println("未知等级");

}

}

}

/*

及格

再接再厉

挂科

未知等级

*/

从JavaSE7开始,switch支持字符串String类

package com.Shelton.struct;

public class SwitchDemo02 {

public static void main(String[] args) {

String name = "Hello World!";

switch (name){

case "Hello World!":

System.out.println("Hello World!");

break;

case "Hello":

System.out.println("Hello");

break;

case "World":

System.out.println("World");

break;

default:

System.out.println("!");

}

}

}

拓展——查看源码方法

字符的本质还是数字

反编译 java---->class(字节码文件) 源码

工具(IDEA)

点开项目结构

bcb2005e4b684dc7348aad0eb4bd1485.png

找到class文件路径

28b94658ec601c025f72700312e514f9.png

打开找到该文件的class文件,但class文件直接打不开

770d18899b762041b70d143d55a6e5bb.png

在idea中打开类目录

af5224e93e98fff3a4ef5f0aab67de8a.png

将字节码文件复制进去

93c3c3df4253a7c1d680248e6dab0557.png

IDEA中会出现相应class文件,打开

c61b6bc73a6ac1c4c2fdf3e195ce82c0.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值