Java的输入输出和控制流程

1.输入输出

从”标准输出流“(控制窗台)中读取输入的用法:
import java.util.*;  

Scanner s = new Scanner(System.in);
String str = s.nextLine();

相应的方法还有s.next()读取一个单词(以空白符作为结束标志)、 s.nextInt()读取一个int整型、s.nextDouble()读取一个double浮点型。如果要从控制台读入密码,用Scanner的话显然密码是可见的,这里还有一个类Console。比如:Console  c=new Console();  char[] pw=c.readPassword();

格式化输出,使用System.out.println(str);如果要精确的输出,并带有一定的格式,可以用System.out.printf("%格式",str);来输出。
double x=100.123;
System.out.printf("%8.2f",x);  //显示为100.12

在printf中,可以用多个参数,每个以%字符开头的格式都表示可以用相应的参数替换。格式转换符尾部的转换符将被指示格式化的数值类型:f表示浮点数,d表示十进制数,s表示字符串。以下是所有可以用的转换符。


对文件的简单输入输出,也可以使用Scanner对象。如果文件名包含反斜杠符号,要用两个反斜杠符号。比如:
Scanner sc = new Scanner(Path.get("mytest.txt"));
//或者
Scanner sc2 = new Scanner(Path.get("d:\\test\\mytest.txt"));
现在就可以对文件mytest.txt中的内容进行输出了,仍然使用sc.nextLine()、sc.nextInt()、sc.nextDouble()等方法,但前提是mytest.txt文件一定存在,如果不存在则会报错。如果是向文件中输入则要用到PrintWrite对象。比如:PrintWrite pw = new PrintWrite(); 之后就可以使用print、println、printf等语句进行输入了。

2.控制流程

块作用域,即由花括号括起来的若干条简单的java语句。块决定了变量的作用域,块可以嵌套,{{}},但不能在嵌套的两个块中声明同名的变量。
条件语句if()else、循环语句for(::)、while(){}、do{}while()。重点复习一下break语句和continue语句,两者都可以跳出循环,区别在于break是跳出当前循环体(结束break所在的循环,连当前循环条件都不在执行),而continue是跳出continue语句之后到块结束之间的语句,跳到当前循环体的循环条件处,继续执行下一次循环。需要指出的是break还有一个功能,break标签,相当于C/C++中的goto语句。使用break标签,标签要放置在希望跳出的最外层循环之前,并且要跟一个冒号。比如:
int i=0;
here:
while(...)
{
  for(...:...:...)
  {
    if(...)
      break here;
  }
}

事实上break标签可以用到任何地方,甚至是if语句。这里举一个break和continue区别的例子:
int i = 3;
int b = 0;
  for(b=0;b<=4;b++)
  {
    if(b==i) 
      break;  //continue;
    System.out.println("123");
  }
System.out.println("456");
结果输出为:
123
123
123
456
如果将break替换成continue,当if语句为true时,则后面的输出123不再执行,程序直接跳到b++,进行下一次循环。而如果是break语句,当if为true时则跳出for循环,直接执行输出456。换成continue之后的结果输出为:
123
123
123
123
456

在使用switch语句时,一定要在每个case之后加上break语句,否则程序将继续继续执行下一个case语句。switch(n)中n的类型可以是char、byte、short、int。从Java SE 7之后,也可以是字符串字面量。什么是字符串字面量?如:

String s=Yes; 
Switch(s.toLowerCase())
{
   case "yes":
    System.out.println("yes");
   break;
   ...
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值