作用:可接受屏幕输入的字符并输出。
测试
.使用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); } scanner.close(); } } .使用nextLine输出
public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if(scanner.hasNextLine()){ //使用next方式接收 String str = scanner.nextLine(); System.out.println("输出的内容为:"+str); } scanner.close(); } }
总结
程序是从上往下,从左往右执行
1.单选择结构
if(条件){
执行语句1
}
2.双选择结构
if(条件){
执行语句1
}else{
执行语句2
}
3.多选择结构
if(条件){
执行语句1
}else if(条件){
执行语句2
}else{
执行语句3
`}``
switch(数据类型){ case 结果1: 执行语句 break; case 结果1: 执行语句 break; … default: 执行语句 break; }
注意:
1.expression是一个表达式,它的值必须是byte、short、int、char、String(jdk1.7)、enum,同时expression类型必须与value的类型相匹配。
2.break语句是可选项,计算expression的值与case的值进行匹配,若匹配,则执行case子句后面的语句,直到遇到break语句为止;
若都不匹配,则执行default语句块;若既都不匹配又没有default语句,则直接跳出switch结构。
语句格式:
while(判断条件语句) { 循环体语句;
控制条件语句;
}
public class Demo04 { public static void main(String[] args) { int i = 0; int sum = 0; //计算1-100的和 while (i<100){ i++; sum = sum+i; } System.out.println(sum); } } 与while循环的区别是,do-while至少执行一次循环体
public class Demo04 { public static void main(String[] args) { int i = 0; int sum = 0; //计算1-100的和 do { i++; sum = sum+i; }while (i<100); System.out.println(sum); } }for循环执行的次数是在执行前就确定的。语法格式如下:
for ( 1初始化; 2布尔表达式; 4更新){ 代码语句
}
public class Demo05 { public static void main(String[] args) { //初始化,条件判断,迭代 for (int i = 1; i <= 9; i++) { //9*9乘法表 for (int j = 1; j <= i; j++) { System.out.print(i+"*"+j+"="+i*j+"\t"); } System.out.println( ); } /* //死循环 for (; ; ) { }*/ } }java还提供了增强for循环,语法格式如下:
for(声明语句:表达式){
//代码句子
}
public class Demo06 { public static void main(String[] args) { int[] numbers = {21,36,96,86,75}; //普通 for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } System.out.println("=================="); //增强 for (int number : numbers) { System.out.println(number); } } } break在循环中的作用是 跳出一个循环或者结束一个循环
public class Demo07 { public static void main(String[] args) { for (int i = 0; i < 30; i++) { System.out.println(i); if (i == 15) { break; } } } } continue时立即结束本次循环,继续执行下一次循环
public class Demo07 { public static void main(String[] args) { for (int i = 0; i < 20; i++) { if (i == 15) { continue; } System.out.println(i); } } } 作用:用标签给循环起了个名字。而后在循环中使用 break 或者 continue 语句的时候,就可以带上这个标签做为参数,指明跳出 (break) 或者继续(continue) 标签对应的哪个循环,如“break mylabel;”、“continue mylabel;”。
public class Demo08 { public static void main(String[] args) { //求10-20之间的素数 outer: for (int i = 10; i <=20; i++) { for (int j = 2; j < Math.sqrt(i); j++) { if(i%j==0){ continue outer; } } System.out.println(i+"\t"); } } }打印三角形
public class Demo09 { public static void main(String[] args) { 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(); } } }