JAVA流程控制
Scanner对象
java.util.Scanner 来获取用户 输入。
next接收:不能得到带有空格的字符串
package Scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.print("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源
scanner.close();
}
}
结果:
使用next方式接收:sss xsss
输出的内容为:sss
**使用nextLine方法接收:**以回车为结束符。
package Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
结果:
使用nextLine方式接收:
sss sss
输出的内容为:sss sss
Scanner进阶使用
package Scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
//输入多个数字,并求总和平均值,每输入一个数字用回车确认。通过输入非数字来结束输入并输出执行结果。
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少个数字
int m = 0;
System.out.println("请若干个数:");
//通过循环判断是否还有输入,并在里面对每一次进行求和和统计。
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m + 1;
sum = sum + x;
System.out.println("你输入了"+m+"个数,当前为:"+x);
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值为"+sum/m);
scanner.close();
}
}
顺序结构
由上到下的基本结构。
if选择结构
equals:判断字符串是否相等。
switch选择结构
while循环结构
dowhile循环结构
程序可以至少执行一次
for循环
在java中,100.for ==>for (int i = 0; i < 100; i++)
练习1,2:
练习1计算0-100之间所有奇数偶数的和
练习2 计算1-1000之间所有被5整除的数,并且每行输出三个
package struct;
public class ForDemo01 {
public static void main(String[] args) {
int oddSum = 0;//奇数和
int evenSum = 0;//偶数和
//练习1计算0-100之间所有奇数偶数的和
for (int i = 0; i <= 100; i++) {
if(i%2!=0){
oddSum += i;
}else{
evenSum += i;
}
}
System.out.println("奇数的和为:"+oddSum);
System.out.println("偶数的和为:"+evenSum);
//练习2 计算1-1000之间所有被5整除的数,并且每行输出三个
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
if (i%15==0)
{
System.out.println(i);
//println输出会换行
}else {
System.out.print(i+"\t");
//print输出不会换行
}
}
}
}
}
练习3:打印九九乘法表
package struct;
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
public class ForDemo02 {
public static void main(String[] args) {
//练习3:打印九九乘法表
for (int j = 1; j < 10; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
增强for循环
package struct;
public class ForDemo03 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};
for(int i=0;i<5;i++){
System.out.println(numbers[i]);
}
System.out.println("================");
//遍历数组的元素
for(int x:numbers){
System.out.println(x);
}
}
}