Java基础4——流程控制

本文详细介绍了Java中的输出函数print(), println(), printf()的用法,展示了如何进行字符串、整数和浮点数的格式化,同时涵盖了Scanner类的使用以及条件语句(if, else, switch)、循环(while, do-while, for)的基本操作。
摘要由CSDN通过智能技术生成

输入和输出

输出:分为print(),println(),printf()三种

print()是输出结果不换行,println()是输出结果后换行,printf()是用于对输出结果格式化。

格式化需要使用占位符:%?,若想变成%,只需要%%表达%

格式化的类型有:

%s 格式化字符串,%d格式化输出整数,%f格式化输出浮点数,%x格式化输出十六进制

%e格式化输出科学记数法浮点数

保留两位小数:printf("%.2f",3.1415);//对于3.14125保留两位小数;若想要保留四位或其他位数小数只需要将2改变成其他的数值即可。

输入:导入Java的工具包Scanner

        在控制台输入参数,需要使用到输入流System.in,使用System.in 来读取用户在控制台输入的值,在使用的时候,只需要导入一个Java.util的工具包即可。

Scanner scan =newScanner(System.in);

System.out.println("请输入一个整数:");//运行到此处会输出一句话

int input = scan.nextInt();//将输入的值,赋值给input,注意nextInt表示的是输入的值是Int型,若是其他的,需要根据输入的值进行改变;

如:String类型的是nextLine();double类型的是nextDouble()。

if...else

if(条件语句){满足条件后执行的语句},if条件语句中返回的值只有true或flase,若结果为true是,执行{}中的语句。执行结果为false,则if中的语句就不会执行,直接到下一个执行语句,或到esle中。

int n =20;

if(n>=20){

        System.out.println("兄嘚!");

          System.out.println("你真棒");//结果为true,系统会输出兄嘚!你真棒,不执行else语句

}else{

        System.out.println("继续努力啊!兄嘚!");//结果为false时执行输出

}

注:当if条件语句后不加{},默认执行条件语句后的第一句,其他 不算在条件执行语句中。

int n =20;

if(n<20)

        System.out.println("兄嘚!");

       System.out.println("你真棒");

//结果为false,系统会输出你真棒

串联多个if的时候,要注意层级的划分,若是层级的划分不正确,会导致部分语句不会执行。

int n =20;

if(n>10){

        System.out.println("兄嘚!");

          System.out.println("你真棒");//结果为true,系统会输出兄嘚!你真棒,不执行else语句

}else if (n=20){

        System.out.println("继续努力啊!兄嘚!");//结果为false时执行输出

}

switch

使用switch用来进行选择,和if...esls if 类似

代码格式:

switch(选择的值){

case (条件值得各个选项): {

        需要执行的语句;

        break;//每个case语句都必须携带break,因为若是不带break,case还有其他条件,就会一直执行结束,才跳出switch。

}

default :break;//默认的条件语句中,可以写case之外的情况,可以默认为空,也可以输出语句错误之类的。

}

例如:

String  fruit = "apple";

switch (fruit ){

case "apple" :{ System.out.println("选择了苹果!");break;}

case "orange":{System.out.println("选择了橙子!");break;}

default : {System.out.println("什么都没选!");break;}

}

按照fruit值,应当进入case "apple"的选项,输出选择了苹果!

但当如果每个case和default没有break,那就会输出选择了苹果!选择了橙子!什么都没选!,一直执行结束。如果case "orange"中带有break,那就会输出选择了苹果!选择了橙子!

注:如果JDK版本在12以上,可以对于switch进行缩写,且辞职婆娘个方法不具备穿透性,但如果jdk版本为1.8之类的,就会报错!

例如以上的写法:

String  fruit = "apple";

switch (fruit ){

case "apple" -> System.out.println("选择了苹果!");

case "orange" ->System.out.println("选择了橙子!");

default -> System.out.println("什么都没选!");

}

只会正常输出选择了苹果!

循环

while循环

循环结构:

while(条件语句){

循环内容;

}

注意:while的条件语句不能写一直为true的情况,否则会一直在循环之中无法跳出,导致CPU使用率到达100%,当条件语句为false的时候跳出循环。

例如:计算1-100的和

int sum =0;

int i =1;

while(i <= 100){

sum += i;

i++;

}

System.out.println(sum);

如果我们的条件写成i>0,则会一直陷入循环当中。此处的结果会输出5050;

do...while循环

先执行do中的语句,再确定是否循环。

int sum =0;

int i =1;

do{

sum += i;

i++;

}while(i <= 100);

System.out.println(sum);

如果while的条件为真,会一直执行do中的语句,但如果为假,就会跳出。

此处的循环结果和while循环一样,输出5050。

for循环

for(初始化语句;循环条件;更新语句){

//执行条件

}

执行条件中不要对更新语句的计数变量进行修改,这样可能会造成逻辑上的错误。

可以不用写for循环中的初始化语句,循环条件,更新语句,但是不推荐这样写,除了某些特定的情况下不需要写。

例如:1到100的和

int sum=0;

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

 sum =sum +i ;

}

System.out.println(sum);//输出结果5050

如果在执行语句中添加对于计数变量i进行修改,会造成执行结果不对。

例如:1到100的和

int sum=0;

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

 i=i+1;

 sum =sum +i ;

}

System.out.println(sum);//输出结果2601

对于计数器进行改变,发生了逻辑错误,这里是加了所有基数的和,并加到了101,若是想求1-100所有基数的和,可以以一下的方法写。

public class Main {
    public static void main(String[] args) {
     int sum=0;

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

          sum=sum+i;
         System.out.println("sum="+sum+"i="+i);

          }
    System.out.println(sum);//输出结果2500

    }

}

for each循环

和for循环不同的是,for each循环的循环变量不是计数器,而是直接对于数组的本身的值。

例如:循环输出整型数组ns[1,2,3,4,5]

for(int n:ns){

System.out.println(n);

}

break、continue

break,continue可以适用于while、for循环中。break是跳出整个循环,而continue是结束本次循环,继续下次的循环。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值