知识点来源:bilibili狂神说
用户交互Scanner
1、Scanner对象
我们可以通过 Scanner 类来获取用户的输入。
创建Scanner对象
Scanner scanner = new Scanner(System.in);
2、next & nextLine
next方式:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
if(scanner.hasNext()){
String s = scanner.next();
System.out.println("输入的为:"+s);
}
scanner.close();
}
nextLine方式:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
if(scanner.hasNextLine()){
String s = scanner.nextLine();
System.out.println("输入的为:"+s);
}
scanner.close();
}
两者区别:
next():
1.读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next() 不能得到带有空格的字符串。
nextLine():
1.以回车为结束符,录入回车之前的所有字符
2.可以获得空白
3、其他next方法
nextDouble求和与平均数
public static void main(String[] args) {
int m = 0;
double sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字:");
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum += x;
System.out.println("你输入的值为:"+x);
System.out.println("当前sum="+sum);
}//循环执行到输入非数字时停止运行
System.out.println("sum="+sum);
System.out.println("平均值为:"+(sum/m));
scanner.close();//scanner使用完要close 不然会一直运行
}
顺序结构
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
选择结构
1、if单选择结构
if(布尔表达式){
//boolean值为true,否则跳过
}
2、if双选择结构
if(布尔表达式){
//boolean值为true
}else{
//boolean值为false
}
3、if多选择结构
if(布尔表达式1){
//布尔表达式1值为true
}else if(布尔表达式2){
//布尔表达式2值为true
}else if(布尔表达式3){
//布尔表达式3值为true
}{
//以上表达式值都为false
}
4、if嵌套结构
if(布尔表达式1){
//布尔表达式1值为true
if(布尔表达式2){
//布尔表达式2值为true
}
}
5、switch多选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case value :
//语句
break;
case value :
//语句
break;
//你可以有任意数量的case语句
default : //可选
//语句
break;//必须有break,不然会造成case穿透
}
switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。
Scanner和switch结合的一个程序,输出键入的数字:
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
int b = scanner.nextInt();
switch(b){
case 0:
System.out.println("0");
break;
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("default");
break;
}
scanner.close();
}
循环结构
1、while循环
while( 布尔表达式 ) {
//循环内容
}
大多数情况会让循环停止
少部分情况需要循环一直执行,比如服务器的请求响应监听
2、do……while循环
do {
//代码语句
}while(布尔表达式)
不管条件满不满足,至少执行一次循环。
while循环不满足则不执行。
3、for循环
for(初始化; 布尔表达式; 更新方式) {
//代码语句
}
for循环执行的次数是在执行前就确定的
idea快捷方法:
数字.for:执行数字次数的循环,自增1
例:
9.for会自动变为
for (int i = 0; i < 9; i++) {
//
}
4、增强for循环
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
}
break & continue
1、break
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
2、continue
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
3、两者区别
break跳出循环后,不再执行该循环的任何内容
continue是终止本次循环,立即去判断下一次循环是否执行
break相当于辞职:以后老子不来了
continue相当于请假:今天不来了 ,明天来不来再说
4、带标签的continue(不常用)
outer: for ( ; ; ) { //outer标签处
for ( ; ; ) {
if ( )
continue outer;//执行该行会将循环跳到outer处
}
}