Scanner
用于人机交互
用完一定要关闭:scanner.close();
Scanner scanner = new Scanner(System.in); scanner.close();
Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String str = scanner.NextLine(); System.out.println("输入的字符串是:"+str); scanner.close();
int i = 0; float f = 9.3f; Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); i = scanner.NextInt(); System.out.println("输入的整数是:"+i); scanner.close(); Scanner scanner = new Scanner(System.in); System.out.println("请输入一个小数:"); f = scanner.NextFloat(); System.out.println("输入的小数是:"+f); scanner.close();
题目:我们可以输入多个数字,并求总和与平均数,每输入一个数字用回车确认,通过输入非数字结束输入并输出执行结果
Scanner scanner = new Scanner(System.in); //和 doubel sum = 0; //计算输入了多少个数字 int n = 0; //通过循环判断是否还有输入,并且在里面对每一次进行求和和统计 while(scanner.hasNextDouble()){ double x = scanner.nextDouble(); n = n+1; sum = sum +x; } System.out.println(n+"个数的和为"+sum); System.out.println(n+"个数的平均数为"+(sum/n)); scanner.close();
顺序结构
从上到下,依次执行
他是任何一个算法都离不开的结构
选择结构
if选择结构
if单选择结构
if(布尔表达式){ }
Scanner s = new Scanner(System.in); System.out.println("请输入内容:") String str = s.nextLine(); if(str.equals("hello")){ System.out.println(str); } s.close();
if双选择结构
if(布尔表达式){ //true }else{ //flase }
//考试成绩大于60是及格,小于60为不及格 Scanner scanner = new Scanner(System.in); int score = scanner.nextInt(); if(score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close();
if多选择结构
if(布尔表达式 1){ }else if(布尔表达式 2){ }else if(布尔表达式 3){ }else{ //以上都不满足执行 }
Scanner scanner = new Scanner(System.in); int score = scanner.nextInt(); if(score==100){ System.out.println("满分"); }else if(score<100&&score>=90){ System.out.println("优秀"); }else if(score<90&&score>=70){ System.out.println("良好"); }else if(score<70&&score>=60){ System.out.println("及格"); }else if(score<60&&score>=0){ System.out.println("不及格"); }else{ System.out.println("成绩不合法!"); } scanner.close();
嵌套的if结构
if(布尔表达式 1){ if(布尔表达式 2){ } }
switch选择结构
switch(表达式){ case value: //语句 break;//可选 case value: //语句 break;//可选 case value: //语句 break;//可选 defualt;//可选 }
Scanner scanner = new Scanner(System.in); System.out.println("请输入名字:"); String name = scanner.nextLine(); System.out.println("输入的名字是:"); scanner.close(); swich(name){ case "哈哈"; System.out.println("哈哈"); break; case "呵呵"; System.out.println("呵呵"); break; default: System.out.println("出错!"); break; }
循环结构
while循环
while(布尔表达式){ //循环内容 }
//输出1~100 int i = 0; while(i<100){ i++; System.out.prinln(i); }
//计算1+2+..100 int i = 0; int sum = 0; while(i<=100){ sum += i; i++; } System.out.prinln(sum);
//输出1~1000之间能被5整除的数,并且每行输出3个 int i = 0; while(i<=1000){ if(i%5==0){ System.out.print(i+"\t"); }else if(i%(5*3)==0){ System.out.println(); } i++; }
do...while循环
do{ }while();
//计算1+2+..100 int i = 0; int sum = 0; do{ sum += i; i++; }while(i<=100); System.out.prinln(sum);
for 循环
for(初始化值;布尔表达式;更新){ }
//计算1+2+..100 int sum = 0; for(int i = 0;i <= 100;i++){ sum += i; } System.out.prinln(sum);
//计算1~100之间奇数和偶数的和 int oddSum = 0; int evenSum = 0; for(int i = 0;i<100;i++){ if(i%2 != 0){ oddSum += i; }else{ evenSum += i; } }
//输出1~1000之间能被5整除的数,并且每行输出3个 for(int i = 0;i <= 1000;i++){ if(i%5==0){ System.out.prin(i+"\t"); } if(i%(5*3)==0){//换行 System.out.prinln(); } }
//打印九九乘法表 for(int i = 1;i<=9;i++){ for(int j = 1;j<=0;j++){ System.out.print(i +"*"+ j+"="+(i*j)+"\t"); } System.out.println(); }
增强for循环
int[] number = {10,20,3,4}; //遍历数组元素 for(int x:number){ SYstem.out.println(x); }
打印三角形
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("*"); } System.out.println(); }