Scanner(用户交互)、算法结构
1.Scanner用户交互类
-
Scanner对象的next()和nextLine()区别
next()不能得到带有空格的字符串,nextLine()可以
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入数据:"); //hasNext判断是否输入了值,及输入值的类型也可以判断 if(scanner.hasNext()){ String str = scanner.nextLine(); System.out.println("输入的数据为"+str); } scanner.close(); }
2.算法结构
1.顺序结构
java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
顺序结构是最简单的算法结构,它是任何一个算法都离不开的一种基本算法结构
2.选择结构
- if
- if-else
3.Swith
- java SE7 开始,switch支持字符串String类型
- case的穿透属性,如果没有加break,匹配项及之后都会被输出,default内容不会被输出
public static void main(String[] args) {
String name = "小明";
switch (name){
case "小红":
System.out.println("小红");
break;
case "小明":
System.out.println("小明");
break;
case "小黑":
System.out.println("小黑");
break;
default:
System.out.println("未知");
}
}
利用Idea反编译class字节码文件,直接将class文件复制到java文件目录即可查看

通过源码也可以看出,switch支持字符串,是通过字符串对应的hashCode值来进行字符串匹配的。
3.循环结构
- while
- do-while
while和do-while的区别就是,do-while无论是否符合条件,都会先执行一次执行代码块中的语句,while循环如果不符合条件则一次都不会执行。
- for循环
public static void main(String[] args) {
//输出1~1000之间能被5整除的数,每行输出3个
for (int i = 0; i < 1000; i++) {
if(i%5 == 0){
System.out.print(i+"\t");//print 输出但不会换行 \t相当于tab键
}
if(i%15 == 0){
System.out.println(); //println 输出会换行
//System.out.println("\n"); 这两句都会换行
}
}
//打印99乘法表
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=i; j++) {
System.out.print(j+"×"+i+"="+i*j+"\t");
}
System.out.println();
}
}
- 增强for循环
String[] str = {"11","b1","c1","d1"};
for(String a:str){
System.out.println(a);
}

浙公网安备 33010602011771号