Java流程控制
用户交互Scanner
Scanner对象
-
next();不能得到带有空格的字符串 空白为结束符
public class Demo01 {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner = new Scanner(System.in); ?System.out.println("使用next接受:");//判断用户有没有输入字符串if (scanner.hasNext()){//使用next方式接收String str=scanner.next();System.out.println("输入的内容为:"+str);}//属于io流的类不关闭会一直占用资源,要记得关闭。scanner.close();} }
-
nextline();可获得空白 enter为结束符
public class Demo02 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("nextline接受"); ?if(scanner.hasNextLine()){String s = scanner.nextLine();System.out.println("内容是"+s);}scanner.close();} }//if可要可不要
例题:输入多个数字,求总和和平均数,每输入一个数字用回车确认,通过输入的非数字结束输入并跳出结果
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 v = scanner.nextDouble();m++;sum=sum+v;System.out.println("输入了"+m+"个数字,总和为"+sum);}System.out.println(m+"个数的和为"+sum);System.out.println(m+"个数的平均值为"+(sum/m));scanner.close();}
顺序结构
从上到下
选择结构***
if单选择结构
public class Demo01 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入内容:");String s=scanner.nextLine(); ?if (s.equals("hello")){System.out.println(s); ?}System.out.println("ENd");scanner.close();} }
if双选择结构
public class ShunXuDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); //输出成绩大于60及格小于60不及格System.out.println("请输入成绩:");int i = scanner.nextInt();if(i>60){System.out.println("及格");}else{System.out.println("不及格");} ? ?scanner.close();} }
if多选择结构
public static void main(String[] args) {Scanner scanner = new Scanner(System.in); ?System.out.println("请输入成绩:");int score = scanner.nextInt(); ? ?if(score==100){System.out.println("满分");}else if(score<100 && score>80){System.out.println("良好");} else if(score<80 && score>60){System.out.println("及格");} else if(score<60 && score>0){System.out.println("不及格");}else{System.out.println("成绩不合法!");} ? ?scanner.close();}
嵌套的if结构
//例 if(1000<= num && num<=9999) {int ge = num / 1 %10;int shi = num /10 % 10;int bai = num /100 % 10;int qian = num /1000 %10;if(ge +shi+bai+qian>20) {System.out.println("恭喜您成为本店的幸运顾客!");
Switch多选择结构
//case穿透 switch匹配一个具体的值!!!
public static void main(String[] args) {char grade='1'; //case穿透 switch匹配一个具体的值!!!switch(grade){case 'A':System.out.println("优秀");break;case 'B':System.out.println("良好");break;case 'C':System.out.println("及格");break;case 'D':System.out.println("不及格");break;default:System.out.println("不知道");}
JDK7新特性表达式结果可以是字符串!本质还是数字hascode
反编译
java--class(字节码文件)--反编译(Idea)
open in--explorer 把class文件拖进即可。