JavaSE程序逻辑控制(三种基本结构(顺序、分支、循环)、输入输出、循环输入)

目录

一、顺序结构

二、分支结构

1、 if 语句

2、switch 语句 

与C语言不同,不能作为switch参数的类型:float double long boolean

三、循环结构

1.while循环

2.for循环 

 四、输入输出

1.输出 - 将结果显示打印到屏幕上

2.输入

3.输入输出综合例子 

4.循环输入读取数据 scanner.hasNextInt()


一、顺序结构

同C语言一样,按顺序执行代码

System . out . println ( "aaa" );
System . out . println ( "bbb" );
System . out . println ( "ccc" );
// 运行结果
aaa
bbb
ccc

换了顺序之后,结果界不同了 

System . out . println ( "aaa" );
System . out . println ( "ccc" );
System . out . println ( "bbb" );
// 运行结果
aaa
ccc
bbb

二、分支结构

与C语言不同,Java分支结构的条件是boolean类型

1、 if 语句

以下三种

  

   public static void main2(String[] args) {
        //求闰年,判断普通闰年和世纪闰年
        Scanner scanner = new Scanner(System.in);//java中的输入
        int year = scanner.nextInt();//nextInt读入int型数据

        if(year % 100 == 0){
            if(year % 400==0){
                System.out.println("世纪闰年");
            }else {
                System.out.println("不是闰年");
            }
        } else{
            if(year % 4 == 0){
                System.out.println("普通闰年");
            }else{
                System.out.println("不是闰年");
            }

        }
    }

2、switch 语句 

与C语言不同,不能作为switch参数的类型:float double long boolean

以及很重要的一点,break 不要遗漏, 否则会失去 "多分支选择" 的效果

public static void main3(String[] args) {
        /**
         * 不能作为switch参数的类型:float double long boolean
         * switch不能表达复杂的条件
         */
        int a = 1;
        switch (a) {
            case 1:
                System.out.println(1);
                //break;遇到break才会停止,否则会一致执行,知道遇到break
            case 2:
                System.out.println(2);
                break;
            default:
                System.out.println("输入有误!");
                break;
        }
    }

三、循环结构

1.while循环

while以及do-while与C语言里的差不多,这里就简单说了。

public static void main4(String[] args) {
        //打印1-10之间所有的数字
        int i = 0;
        while(i <= 10){
            System.out.println(i);
            i++;
        }

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

        //计算1-100的和
        int n = 1;
        int sum = 0;
        while (n<=100){
            sum+=n;
            n++;
        }
        System.out.println(sum);
    }

2.for循环 

 特别的是:Java中有fori循环foreach循环(后面数组来介绍)

int sum = 0 ;
for ( int i = 1 ; i <= 100 ; i ++ ) {
sum += i ;
}
System . out . println ( "sum = " + sum );
// 执行结果
5050


输入输出与C语言不太一样,最开始还是要适应一下 

 四、输入输出

1.输出 - 将结果显示打印到屏幕上

打印时可以简写 sout ,回车之后会自动补全
System . out . println ( msg ); // 输出一个字符串 , 带换行
System . out . print ( msg ); // 输出一个字符串 , 不带换行
System . out . printf ( format , msg ); // 格式化输出

2.输入

使用 Scanner 读取字符串 / 整数 / 浮点数
Scanner是一个工具,在使用的时候,需要导入包,在编译器里,这个包会自动加上
import java . util . Scanner ; // 需要导入 util
  Scanner 命名 =  new Scanner ( System . in );
Scanner scanner = new Scanner ( System . in );

使用输入时

int age = scanner.nextInt();

nextInt();是输入整型,还有其他的nextline等等

3.输入输出综合例子 

在混用输入输出时,有可能会出现,读取字符串的时候,把上一个输入的回车给读了,所以要注意小心!

public static void main7(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入你的姓名:");
//        String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
//        System.out.println(name);//ni hao
//
//        System.out.println("请输入你的年龄:");
//        int age = scanner.nextInt();
//        System.out.println(age);
//
//        System.out.println("请输入你的工资:");
//        float salary = scanner.nextFloat();
//        System.out.println(salary);

        /**
         * 当先输入年龄的时候,输入数字后,回车
         * 接下来的String name = scanner.nextLine();输入名字的地方,把回车当作字符串读进去了
         * 所以实际工作中尽量少使用java中的读取数据(传参),避免出现这样的问题
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        int age = scanner.nextInt();
        System.out.println(age);

        //解决办法:用这个先把回车读了,后面就能正常运行了,相当于C语言的getchar()
        scanner.nextLine();//读取回车
        System.out.println("请输入你的姓名:");
        String name = scanner.nextLine();//nextLine可以输入包含空格的字符串,例如ni hao
        System.out.println(name);//ni hao

        System.out.println("请输入你的工资:");
        float salary = scanner.nextFloat();
        System.out.println(salary);
    }

4.循环输入读取数据 scanner.hasNextInt()

    public static void main8(String[] args) {
        //使用Scanner循环读取n个数字,求平均值
        Scanner scanner = new Scanner(System.in);

        /**
         * scanner.hasNextInt(),有下一个整型int,读取到数据时,为真,进入while循环。
         * 结束循环读取,按 Ctrl d (windows的cmd终端用ctrl z)
         * 网上刷题时不用管,那边服务器会自动处理的
         */
        while(scanner.hasNextInt()){
            int a = scanner.nextInt();//读取到了的整型,用a存起来
            System.out.println(a);//打印该整型
        }
    }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值