《Java从入门到放弃》JavaSE篇:程序结构

程序的结构一般分为三种:

  1. 顺序结构。
  2. 选择结构。
  3. 循环结构。

一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。

二、选择结构:从名字就能看出,要选择嘛,到底是要漂亮滴妹子,还是要有钱滴妹子呢!当然,如果是个吊丝码农滴话,那你就不要多想了,还是老老实实码代码吧···

三、循环结构:循环啊,就是一直转啊转啊转啊,转到出意外为止。

接下来还是老规矩,通过小示例来学习语法吧。

顺序结构:

一、输入姓名和年龄,输出自我介绍。


1

2

3

4

5

6

7

8

9

10

11

12

13

    public static void main(String[] args) {

        //创建输入数据的对象,具体什么叫对象···,先不用管吧

        Scanner input = new Scanner(System.in);

        

        String name;    //姓名

        int age;        //年龄

        System.out.print("请输入姓名:");

        name = input.next();

        System.out.print("请输入年龄:");

        age = input.nextInt();

        

        System.out.println("大家好,我叫"+name+",今年"+age+"岁,请多关照。");

    }

注意:

这就是一个标准的顺序结构,代码会从上往下执行,如果你把int age;这句话放到最后,那就会在age = input.nextInt();这一行报语法错误了。

结果:

选择结构:

选择结构的语法有四种,我们通过下面的案例来了解。

一、输入你的存款,如果大于5000则加上“壕”的头衔。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

    public static void main(String[] args) {

        //创建输入数据的对象,具体什么叫对象···,先不用管吧

        Scanner input = new Scanner(System.in);

        

        String name;    //姓名

        int deposit;    //存款

        System.out.print("请输入姓名:");

        name = input.next();

        System.out.print("请输入存款:");

        deposit = input.nextInt();

        

        System.out.print("大家好,我叫"+name);

        if(deposit>5000){

            System.out.print("(壕)");

        }

        System.out.println("。");

    }

语法:

if( 条件 ){ 要执行的代码 }

注意:

条件成立时会执行{}中的所有代码。

结果:

    

二、输入你的存款,如果大于5000则加上“壕”的头衔,否则加上“穷13”的头衔。


1

2

3

4

5

6

        if(deposit>5000){

            System.out.print("(壕)");

        }

        else{

            System.out.print("(穷13)");

        }

注意:别的代码不用动,只需要在if(){}结构上加上else{}就OK了,else{}表示条件不成立时的执行代码。

结果:

三、输入你的存款,如果大于50000,则加上“神壕”的头衔,否则如果大于30000,则加上“金壕”的头衔,否则如果大于10000,则加上“壕”的头衔,否则加上“穷13”的头衔。m.beefsoup.cn板面的做法和配料


1

2

3

4

5

6

7

8

9

10

11

12

        if(deposit>50000){

            System.out.print("(神壕)");

        }

        else if(deposit>30000){

            System.out.print("(金壕)");

        }

        else if(deposit>10000){

            System.out.print("(壕)");

        }

        else{

            System.out.print("(穷13)");

        }

注意:这种语法叫多分支选择结构(一般用于选择情况大于2的场合,比如演唱会门票的级别、你的女神的胸肌是A还是BCDEF等)。

结果就不展示了。

四、查询余额请按1,套餐更改请按2,宽带业务请按3,企业业务请按4,人工服务请按5,其它业务请瞎按.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

    public static void main(String[] args) {

        //创建输入数据的对象,具体什么叫对象···,先不用管吧

        Scanner input = new Scanner(System.in);

        int num;

        System.out.print("1.查询余额请按1,"

                "\n2.套餐更改请按2"

                "\n3.宽带业务请按3"

                "\n4.企业业务请按4"

                "\n5.人工服务请按5"

                "\n6.其它业务请瞎按"

                "\n请选择:");

        num = input.nextInt();

        

        switch (num) {

        case 1:

            System.out.println("您的余额为0。");    break;

        case 2:

            System.out.println("改完了,请回吧。");    break;

        case 3:

            System.out.println("宽带装好了,请交钱1998¥。");    break;

        case 4:

            System.out.println("请上传企业注册资料。");    break;

        case 5:

            System.out.println("我们正在招聘服务人员,请稍等...");    break;

        default:

            System.out.println("乱按好玩吧...");    break;

        }

    }

注意:

  1. switch语法一般用于数值类型和布尔类型等值判断的场合,最新版的JDK支持String类型了。小伙伴们可以自己试试。
  2. 每个case后的语句执行完后都有个小尾巴(break;),表示从这儿退出switch结构,大家可以把这个小尾巴去掉看看结果有什么不一样。

结果:

循环结构:

循环结构常用的有四种:while、do...while、for、foreach(后面讲集合时再介绍)。

对应的语法都很简单,我们通过求100以内的奇数和来了解一下,后面再来分析一个经典案例。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

    public static void main(String[] args) {

        //求100以内的奇数和

        

        //1.while循环

        int i = 1;    //循环的初值

        int s = 0;    //保存和

        while (i<=100) {    //循环的条件

            s += i; //循环的内容

            i += 2;    //循环的步长(也就是循环变量的值如何变化)

        }

        System.out.println("while循环结果:"+s);

        

        //变量值还原

        i = 1;

        s = 0;

        //2.do...while循环

        do {

            s += i;

            i += 2;

        while (i<=100);

        System.out.println("do...while循环结果:"+s);

        

        //变量值还原

        s = 0;

        //3.for循环

        for (i = 1; i <= 100; i+=2) {

            s += i;

        }

        System.out.println("for循环结果:"+s);

    }

执行结果:

从上面的语法应该可以看出,循环主要有四个点:初值、条件、步长、循环体(内容)。那么这三种循环的语法有什么区别呢?

while循环:侧重于不确定循环次数的场合,先判断,如果条件成立则进入循环。

do...while循环:侧重于不确定循环次数的场合,先执行一次,之后如果条件成立则时入循环。

for循环:侧重于确定循环次数的场合。

与循环配合使用的还有两个关键字:continue和break;

他们的作用,看代码和结果吧:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

    public static void main(String[] args) {

        for (int i = 0; i < 10; i++) {

            if(i==5){

                continue;

            }

            System.out.print(i+",");

        }

        System.out.println("\n=======================");

        for (int i = 0; i < 10; i++) {

            if(i==5){

                break;

            }

            System.out.print(i+",");

        }

    }

结果:

注意到两个的区别了吧

运行continue后,就不再执行循环里面continue后面的代码,直接运行i++去了。

而运行break后,则直接跳出了循环,后面的都不执行了。

经典案例:登录功能,如果账号密码输入正确则登录成功,否则请再次输入密码。

分析:

登录时要输入几次账号密码?很明显不知道啊!!!所以for循环被排除了。

然后再判断,是要先输入账号密码后判断,还是先判断后再输入账号密码呢?

这也很明显,要先输入了才需要判断啊!!!所以while循环也被排除了。

最后就剩下do...while循环了。代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

    public static void main(String[] args) {

        //模拟登录功能

        //分析过程:

        //1.定义保存账号和密码的变量

        Scanner input = new Scanner(System.in);

        String inLoginID;

        String inLoginPWD;

        //2.因为还没学习数据库,所以定义两个变量保存正确的账号和密码

        String loginID = "liergou";

        String loginPWD = "haha250";

        //3.输入账号和密码

        do{

            System.out.print("请输入账号:");

            inLoginID = input.next();

            System.out.print("请输入密码:");

            inLoginPWD = input.next();

            //4.判断输入的账号和密码与正确的是否相同(判断字符串是否相等使用equals方法),

            //如果相同等提示登录成功,循环结束,否则提示重新输入

            if(inLoginID.equals(loginID) && inLoginPWD.equals(loginPWD)){

                System.out.println("登录成功!");

                break;

            }

            else{

                System.out.println("账号和密码不匹配,请重新输入!");

            }

        }while (true);

    }

如果你非要使用while和for,那··············当然也是可以滴,只不过代码复杂度会上升,特别是使用for来写的话会很奇怪,大伙可以看看:

这是使用while的写法


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

    public static void main(String[] args) {

        //模拟登录功能

        //分析过程:

        //1.定义保存账号和密码的变量

        Scanner input = new Scanner(System.in);

        String inLoginID;

        String inLoginPWD;

        //2.因为还没学习数据库,所以定义两个变量保存正确的账号和密码

        String loginID = "liergou";

        String loginPWD = "haha250";

        //3.输入账号和密码

        System.out.print("请输入账号:");

        inLoginID = input.next();

        System.out.print("请输入密码:");

        inLoginPWD = input.next();

            

        while (true){

            //4.判断输入的账号和密码与正确的是否相同(判断字符串是否相等使用equals方法),

            //  如果相同等提示登录成功,循环结束,否则提示重新输入

            if(inLoginID.equals(loginID) && inLoginPWD.equals(loginPWD)){

                System.out.println("登录成功!");

                break;

            }

            else{

                System.out.println("账号和密码不匹配,请重新输入!");

                //下面的代码重复了

                System.out.print("请输入账号:");

                inLoginID = input.next();

                System.out.print("请输入密码:");

                inLoginPWD = input.next();

            }

        }

    }

下面是使用for的写法


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

        for (;true;){

            //4.判断输入的账号和密码与正确的是否相同(判断字符串是否相等使用equals方法),

            //  如果相同等提示登录成功,循环结束,否则提示重新输入

            if(inLoginID.equals(loginID) && inLoginPWD.equals(loginPWD)){

                System.out.println("登录成功!");

                break;

            }

            else{

                System.out.println("账号和密码不匹配,请重新输入!");

                //下面的代码重复了

                System.out.print("请输入账号:");

                inLoginID = input.next();

                System.out.print("请输入密码:");

                inLoginPWD = input.next();

            }

        }

时间: 2024-08-28 10:29:37

《Java从入门到放弃》JavaSE篇:程序结构的相关文章

《Java从入门到放弃》文章目录

转眼半个月过去了,不知不觉也写了10篇博客,突然发现所有的目录都没有纯列表的展示,所以特意写一个目录篇,来记录该系列下所有的文章. 当然,因为现在还没有写完,所以先按时间顺序排列,等相关内容都写完后,再按学习顺序来整理. <Java从入门到放弃>入门篇:XMLHttpRequest的基本用法 <Java从入门到放弃>入门篇:Struts2的基本访问方 <Java从入门到放弃>入门篇:Struts2的基本访问方式(二) <Java从入门到放弃>入门篇:Stru

FPGA视觉从入门到放弃——可变光照下结构化模板对边缘提取的影响

FPGA视觉从入门到放弃--可变光照下结构化模板对边缘提取的影响 1. 结构化模板 FPGA视觉和计算机视觉的硬件区别在于,计算机(无GPU)串行运行代码,FPGA编译后生成并行计算的逻辑电路.计算机运行时可以边加载边释放内存空间,FPGA烧写后的电路是固定不变的从而无法释放空间.所以,实验中用到的大小为180*180的模板,在PC上运行没有问题,但在FPGA上因为硬件资源有限该模板并没有Fit通过. 这里的结构化模板是指粗暴地把十字模板分为三个有显著结构特征的子模板,减轻FPGA的硬件资源压力

JavaSE Swing程序结构、组件分类及基本规则

{相关信息}1. 程序结构Swing 的程序设计一般可按照以下流程进行:(1)通过 import 引入 swing 包.(2)设置 GUI 的“外观界面风格”.(3)创建顶层容器.(4)创建按钮和标签等组件.(5)将组件添加到顶层容器.(6)在组件周围添加边界.(7)进行事件处理. 2. 组件分类Jcomponent 类派生于 Container 类.并不是 Swing 的所有组件都继承了 JComponent 类,凡是派生于 Container 类的组件都可以作为容器使用.Swing 组件从功

《Java从入门到放弃》JavaSE入门篇:面向对象语法一(入门版)

前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过Java语法来实现,然后看看效果. 来看第一个案例:定义女神类,再根据女神类创建三个女神对象,并使用女神对象的属性和方法. 第一步:定义女神类(因为Java本身没有这个类型,所以我们自己创建这个类型) /**  * 女神类  */ public class Goddess { public String name; //姓名 public int age; //年龄 public double stature; //身高 /**  

《Java从入门到放弃》JavaSE入门篇:集合

今天来讲讲Java中的集合和常见集合类型的使用. 什么是集合呢? 刚好最近学校里面军训,只听到教官一声喊:"集合!!!"各位小萌新们就屁颠屁颠的跑过来排列整齐了,这就是集合··· Java中的集合也是一样的意思,Java一声喊:"集合!!!",那么我们就把需要放在一起的数据放到一个集合中.有的人会说"数组不就有这个功能么".是的,数组是有这个功能,但集合与数组相比,功能会更多些,而且不同的集合侧重点不一样,具体有哪些优势,我们接下来讲解. 集合与

《Java从入门到放弃》JavaSE入门篇:单元测试

单元测试其实没什么好说的,直接看操作步骤! 我们来测试前一篇的小明买食物的方法. 第一步:在小明类上点右键,然后再new一个JUnit Test Case 第二步:继续点下一步,图上的内容相信大家都看得懂吧,如果看不懂···,那就要么学习,要么放弃吧,哈哈! 第三步:勾选要测试的方法: 第四步:点击OK,导入使用JUnit需要使用的Jar包 第五步:自动生成了一个xxxTest的类,里面包含一个testxxx的方法,上面有一个@test注解,因为我们没有勾选初始化的方法,所以所有的代码都直接写在

《Java从入门到放弃》JavaSE入门篇:异常

异常!!!看看生活中的异常例子: 正常情况下,从家到公司上班,只需要20分钟!但如果在路上碰到堵车或修路或车突然自燃等问题,那就没办法正常去上班了.其中堵车或修路或车突然自燃等问题就属于异常. 碰到异常,就需要处理,不然就只能中断上班了. 在Java程序中的异常表示什么意思呢? Java中的错误分为两类:错误(Error)和异常(Exception) 错误一般都是在编译前IDE就能发现并提示,例如非要给整型变量赋一个超大的数值: 这就是一个典型的Error. 程序在运行时出现的问题,就叫异常!!

《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统

今天,我们要玩个大的!!! 我们把之前使用数组做的这个单身狗系统改版成数据库版本,并且使用面向对象里面的一些简单思想.如果有不知道这个系统的看官,请跳转到目录页,然后再选择单身狗系统(数组版)先围观五分钟吧.里面的功能很简单......... 五分钟之后··· 好了,五分钟到了,我们继续吧· 要完成的功能还是如上图所示,只不过实现的代码有翻天覆地的变化而已... 第一步:分析 一般做一个项目,根据侧重点不同,会把整个项目分成三大部分:界面.功能业务实现.数据库操作.具体三层架构的内容,等后面JS

《Java从入门到放弃》JavaSE入门篇:网络编程(入门版)

要进行网络编程,首先要搞清楚目的是什么. 网络编程说简单点就是在网络上的计算机进行数据的交互. 既然要进行数据交互,那就需要有一个发送方和一个接受方. 按网络上的说法,就是一个攻一个受· 当然,现阶段网上的电脑一般来说都是既接受数据,也能发送数据的,所以说这些电脑都是"插座型"的,进可攻,退可受!!! 好吧,还是使用专业点的名字吧:客户端/服务器. 那么具体到两台电脑,它们是如何来交互数据的呢?请看下图: 从步骤来分析: 一.服务器端程序 1.1创建一个服务器套接字(ServerSoc