java05
作者:互联网
Scanner对象
java.util.Scanner
通过Scanner类获取用户输入
基本语法
Scanner s = new Scanner(System.in);
通过Scanner类的next()和nextLine()方法来获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()判断是否还有输入的数据
实践
next()方法
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前的空白,next()会自动去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
public static void main(String[] args){
//接收键盘输入的数据
Scannner scanner = new Scanner(System.in);
System.out.print("使用next方式接收:");
//判断用户是否有输入
if(scanner.hasNext()){
//使用next方法接收
String str = Scanner.next();
System.out.print("输出的内容为:"+str);
}
scanner.close();//关闭,释放资源
}
nextLine()方法
- 以Enter为结束符,也就说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
public static void main(String[] args){
//接收键盘输入的数据
Scannner scanner = new Scanner(System.in);
System.out.print("使用nextLine方式接收:");
//判断用户是否有输入
if(scanner.hasNextLine()){
//使用nextLine方法接收
String str = Scanner.nextLine();
System.out.print("输出的内容为:"+str);
}
scanner.close();//关闭,释放资源
}
练习
输入多个数字,并求总和和平均数,每输入一个数字用回车确认,通过输入非数字符来结束输入并输出结果
public static void main(String[] args){
Scanner scanner = new Scanner(system.in);
double sum = 0;
int m = 0;
while(scanner.hasNextLine()){
double x = scanner.hasNextLine();
m = m + 1;//m++;
sum = sum + x;
}
System.out.print(m + "个数总和为" + sum);
System.out.print(m + "个数的平均值为"+ (sum/m));
scanner.close();
}
选择结构
if单选择结构
判断一个东西是否可行,才执行,这样一个过程在程序中用if语句来表示
if(布尔表达式){
//布尔表达式为true程序需要执行的语句
}
if双选择结构
if(布尔表达式){
//布尔表达式为true执行的语句
}else{
//布尔表达式为false执行的语句
}
if多选择结构
if(布尔表达式1){
//表达式1为true执行的语句
}else if(布尔表达式2){
//表达式2为true执行的语句
}else if(布尔表达式3){
//表达式3为true执行的语句
}else{
//表达式1.2.3都不为true执行的语句
}
嵌套的if结构
if(布尔表达式1){
//表达式1为true执行的语句
if(布尔表达式2){
//表达式2为true执行的语句
}
}
switch多选择结构
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
.......
default://可选
//语句
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
- 布尔表达式为true,循环会一直执行
练习
计算1+2+3+.....+100
public static void main(String[] args){
int i = 0;
int sum = 0;
while(i<=100){
sum = sum + i;
i++;
}
System.out.print(sum);
}
do...while循环
do{
//代码语句
}while(布尔表达式);
while和do...while的区别
- while先判断再执行,do...while是先执行后判断
- do...while总是保证循环体至少执行一次!这是他们的主要差别
for循环
for(初始化;布尔表达式;更新){
//代码语句
}
练习
- 计算0-100之间的奇数和偶数之和
public static void main(String[] args){
int oddSum = 0;
int evenSum = 0;
for(int i = 0;i < 100;i++){
if(i%2==0){
oddSum+ = i;
}else{
evenSum+ = i;
}
}
System.out.print("奇书和"+oddSum);
System.out.print("偶书和"+evenSum);
}
- 用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
public static void main(String[] args){
int i = 0;
while(i<1000){
if(i%5==0){
System.out.print("i")
}
if(i%15==0){
System.out.println();
//System.out.print("\n");
}
i++;
}
}
public static void main(String[] args){
for(int i = 0;i<1000;i++){
if(i%5==0){
System.out.print("i")
}
if(i%15==0){
System.out.println();
//System.out.print("\n");
}
}
}
- 打印九九乘法表
public static void main(String[] args){
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.print("\n");
// System.out.println();
}
}
break,continue
break用于强行退出循环
continue用于终止某次循环过程
练习
打印三角形
public static void main(String[] args){
for(int i = 1;i <= 5;i++){
for(int j = 5;j >= i;j--){
System.out.print(" ");
}
for(int j = 1;j <= i;j++){
System.out.print("*");
}
for(int j = 1;j < i;j++){
System.out.print("*");
}
}
}
标签:语句,java05,Scanner,System,while,表达式,String 来源: https://www.cnblogs.com/snowMoon/p/14990939.html