Scanner对象:实现程序和人的交互。java.util.Scanner是java5的新特征
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前需要使用hasNext()与hasNextLine判断是否还有输入的数据。
示例:b
public static void main(String[] args){
//create a scanner object
Scanner scanner = new Scanner(System.in);
// System.out.println("use next method to accept: ");
System.out.println("use nextLine method to accept: ");
//judge whether to have a string or not
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("output is :"+str);
}
scanner.close();
}
}
-
next()方法
- 一定要读取到有效字符后才可以结束输入。
- 对输入的有效字符遇到空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面是输入的空白作为分割符或者结束符
- next()方法不能得到带有空格的字符串
简而言之,遇到空格后就停止读取,保留空格前的字符
-
nextLine()方法
- 以enter为结束字符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
Java的基本结构,按照顺序一句一句执行。
最简单的算法结构。
选择结构-
if单选结构
if (布尔表达式){}
-
if双选结构
if (布尔表达式){}else{}
-
if多选择结构
if (布尔表达式){}else if{}…else{}
-
嵌套的if结构
if (布尔表达式){if (布尔表达式){}}//二分查找
-
switch多选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch (expression){
case value:
break;
…
default:
}
相当于,打开某个变量,如果该变量是value值,则执行下面的语句,break满足条件能执行就结束switch,否则往下继续执行
循环结构-
while循环
while (布尔表达式){//循环内容}:先判断后执行
package com.lang.structure; public class WhileDemo01 { public static void main(String[] args){ int i =0; while (i<100){ System.out.println(i); i=i+1; } } } //一般会保证循环有终止条件,否则容易进入死循环 //死循环就是while的布尔表达式永远是true -
do…while循环
对于while语句如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,但至少也执行一次。
do … while至少会循环一次.,先执行后判断
do{
//代码语句
}while(布尔表达式);
-
for循环
for(初始化;布尔表达式;更新){//代码语句}
最先执行初始化,再检测布尔表达式,如果为true则执行循环体,如果为false则循环体终止,执行一次循环后,更新循环控制变量
package com.lang.structure; public class ForDemo01 { public static void main(String[] args){ int sum = 0; for (int i=1;i<=100;i++){ sum = sum +i; // System.out.println(i); System.out.println(sum); } System.out.println(sum); } } //相当于, //i=1,因为i<=100所以执行循环,sum=0+1=1,第一次循环结束,更新i=i+1=2; //i=2因为i<=100,执行循环,sum=1+2=3;更新i=i+1=3 ... //i=100,因为i<=100,执行循环,sum=sum+100;更新i=i+1=101 //i=101,因为i>100布尔表达式为false直接终止循环从1到1000内打印能整除5的数,并且每3个数一行;
思路:打印能整除5的数以t为间隔,如果整除了15打印了出来,此时还要打印一个换行符。
package com.lang.structure; public class ForDemo01 { public static void main(String[] args){ // int odd_sum = 0; // int even_sum = 0; for (int i=1;i<=1000;i++){ //i是奇数 if (i%5 == 0){ System.out.print(i+"t"); } if (i%15 == 0){ System.out.println();//换行 } // sum = sum +i; // System.out.println(i); // System.out.println(sum); } // System.out.println(odd_sum); // System.out.println(even_sum); } }注意println默认是printline相当于打印后换行,要想达到每行连续打印要用print(i+‘t’),t是制表符,print(“n”)等价于println()



