用户交互Scanner
顺序结构
选择结构
循环结构
break&continue
联系
java.util.Scanner,通过Scanner类对象来获取用户的输入
Scanner s=new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:");//会被空格打断 //判断用户是否输入字符串 if(scanner.hasNext()){ String str=scanner.next(); System.out.println("输入的内容为:"+str); } scanner.close();//节约资源 } } 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(); } }
package scanner; import java.util.Scanner; public class Demo04 { public static void main(String[] args) { //输入多个数字并求其总和与平均数,每输入一个数字用回车确认,通过非数字来结束输入并 // 并输出执行结果 Scanner scanner=new Scanner(System.in); //和 double sum=0; //计算输入的多少个数字 int m=0; //通过循环判断是否还有输入,并在里面对每一次结果进行求和统计 while(scanner.hasNextDouble()){ double x=scanner.nextDouble(); m=m+1;//m++ sum=sum+x; System.out.println("你输入了第"+m+"个数据,当前的结果sum="+sum); } System.out.println(m+"个数的和为"+sum); System.out.println(m+"个数的平均值是"+(sum/m)); } }
package struct; public class Shunxu { public static void main(String[] args) { System.out.println("1"); System.out.println("2"); System.out.println("3"); System.out.println("4"); } }
package struct; import java.util.Scanner; public class XuanZe01 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入内容:"); String s=scanner.nextLine(); //equals判断是否字符串是否相等 if(s.equals("hello")){ System.out.println(s); } System.out.println("end"); scanner.close(); } }
package struct; import java.util.Scanner; public class XuanZe02 { public static void main(String[] args) { //分数大于60就是及格,否则不及格 Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩:"); int score =scanner.nextInt(); if (score>=60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } }
package struct; import java.util.Scanner; public class Xuanze03 { public static void main(String[] args) { //分数大于60就是及格,否则不及格 Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score == 100) { System.out.println("满分"); } else if (score < 100 && score >= 90) { System.out.println("优秀"); } else if (score < 90 && score >= 75) { System.out.println("中等"); } else if (score < 75 && score >= 60) { System.out.println("及格"); } else if (score < 60) { System.out.println("不及格"); }else{ System.out.println("输入有误"); } scanner.close(); } }
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//可以有任意数量的case语句
default://可选
//语句
}
package struct; public class switchDemo01 { public static void main(String[] args) { //case穿透//switch 匹配一个具体的值 char grade='C'; switch (grade){ case'A': System.out.println("优秀"); break; case'B': System.out.println("良好"); case 'C': System.out.println("及格"); } } }
while是最基本的循环
package struct; public class while01 { public static void main(String[] args) { //输出1~100 int i=0; while(i<100){ i++; System.out.println(i); } } }
package struct; //死循环 public class while02 { public static void main(String[] args) { while (true){ //等待客户端连接 //定时检查任务 //...... } } } package struct; public class while03 { public static void main(String[] args) { //输出1~100 int i=0; int sum=0; while(i<=100){ sum=sum+i; i++; System.out.println(sum); } } }
package struct; public class dowhile01 { public static void main(String[] args) { int i=0; int sum=0; do { sum=sum+i; i++; }while (i<=100); System.out.println(sum); } }
package struct; public class dowhile02 { public static void main(String[] args) { int a=0; while (a<0){ System.out.println(a); a++; } System.out.println("========================================"); do { System.out.println(a); a++; }while (a<0); } }
for(初始化 ; 布尔表达式 ; 更新){
//代码语句
}
package struct; public class fordemo01 { public static void main(String[] args) { int a=1;//初始化条件 while (a<=100){//条件判断 System.out.println(a);//循环体 a+=2;//迭代 } System.out.println("while循环结束!"); for(int i=1;i<=100;i++){ System.out.println(i); } System.out.println("for循环结束!"); } } //死循环 for(; ;){ }
快捷键
100.for
package struct; public class fordemo02 { public static void main(String[] args) { //练习1:计算0-100之间的奇数和偶数的和 int addsum=0; int evensum=0; for (int i=0;i<100;i++){ if (i%2!=0){ addsum+=i; }else{ evensum+=i; } } System.out.println("奇数的和:"+addsum); System.out.println("偶数的和:"+evensum); } }
package struct; //经典嵌套for循环,打印九九乘法表 public class fordemo03 { public static void main(String[] args) { for (int j =1; j <= 9; j++) { for (int i=1;i<=j;i++){ System.out.print(j+"*"+i+"="+j*i+"\t"); } System.out.println(); } } }
增强for循环
for (声明语句:表达式){
//代码句子
}
package struct; public class zengqiangfor { public static void main(String[] args) { int[]numbers={10,20,30,40,50};//定义了一个数组 for(int x:numbers){//1、 System.out.println(x); } for (int i = 0; i < 5; i++) {//2 System.out.println(numbers[i]); } } }
package struct; public class BreakDemo { public static void main(String[] args) { int i=0; while (i<100){ i++; System.out.println(i); if (i==30){ break; } } } }
package struct; public class Continuedemo { public static void main(String[] args) { int i=0; while (i<100){ i++; if(i%10==0){ System.out.println(); continue; } System.out.print(i); } } } //break在任何循环语句的主体部分,均可用来控制循环语句的流程 // break用于强制退出循环,不执行循环的剩余语句.(break语句也在switch中使用) //continue语句用在循环语句体中,用于中止某次循环过程,即跳过循环体中尚未执行的语句 //接着进行下一次是否执行循环的判定
package struct; public class triangledemo { public static void main(String[] args) { //打印三角形 5行 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(); } } }