一、Scanner接收数据
Scanner类似c语言中的scanf,获得用户输入
Scanner本质是一个写好的类,使用之后,用类中的close()关闭资源
1、获取字符串
hasNext() 和 hasNextline()判断是否有输入
next() 和 nextline()接收数据
hasNext() 和 nextline()的使用
package Scanner;
import java.util.Scanner;
public class a {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
if (scanner.hasNext()) {
//判断是否有输入
String a = scanner.next();
//将数据接收,next()函数以空白格为结束标志
System.out.println("输入为"+a);
}
scanner.close();
}
}
concle
Hello World
Hello
hasNextline() 和 nextline()的使用
package Scanner;
import java.util.Scanner;
public class b {
public static void main(String[] args) {
Scanner scanner1 = new Scanner(System.in);
if (scanner1.hasNext()) {
//判断是否有输入
String a = scanner1.nextLine();
//使用nextLine()函数接收数据,以回车键判断结束
System.out.println("输出为 "+a);
}
scanner.close();
}
}
concle
Hello World
Hello World
2、获取其他数据类型
int:使用hasNextInt() 和 nextInt()
float:使用hasNextFloat() 和 nextFloat()
double:使用hasNextDouble() 和 nextDouble()
package Scanner;
import java.util.Scanner;
public class c {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = 0;
float b = 0.0f;
System.out.println("请输入整数");
if (scanner.hasNextInt()) {
a = scanner.nextInt();
System.out.println(a);
}
else{
System.out.println("不是整数");
}
System.out.println("请输入小数");
if (scanner.hasNextFloat()) {
b = scanner.nextFloat();
System.out.println(b);
}
else {
System.out.println("不是小数");
}
}
}
System.out.print :输出不会换行
System.out.println :输出会换行
二、选择结构
1、if
boolean a = true;
if (a) {
System.out.println("a为"+a);
}
concle
a为true
2、if-else
boolean a = false;
if (a) {
System.out.println("a为"+a);
}
else {
System.out.println("a为"+a);
}
if (a==1){
System.out.println("a=1");
}
else if (a==2) {
System.out.println("a=2");
}
else {
System.out.println("a=10");
}
3、switch
package Scanner;
public class f {
public static void main(String[] args) {
int a = 10;
switch(a) {
case 1 :
System.out.println("1");
break;//加入break,匹配到时,终止switch,不会执行default中的指令
case 2 :
System.out.println("2");
break;
case 4 :
System.out.println("3");
break;
case 6 :
System.out.println("4");
break;
case 8 :
System.out.println("5");
break;
case 10 :
System.out.println("10");
break;
default :
System.out.println("12")
//当case都不符合时,执行default中的代码,若上述case中有符合时,还会执行,除非break
}
}
}
concle
有break: 10
无break: 10 12
三、循环结构
跟c语言一致
1、while
int a = 10;
while(a>=1) {
System.out.println(a);
a--;
}
concle
10 9 8 7 6 5 4 3 2 1
2、do while
int b = 10;
do {
System.out.println(b);
b--;
}while(b>=1);
concle
10 9 8 7 6 5 4 3 2 1
3、for
for (int i=0;i<=10;i++) {
c += i;
}
System.out.println("c的值"+c);
concle
10+(1+2+3+4+5+6+7+8+9+10)
int[] a = {1,2,3,4,5,6,7,8,9};
//在java中,数组的定义方式两种, 类型【】 id 类型 id【】
for (int x :a) {
System.out.print(x+"\t");
}
//类似python中的for循环,循环指数为数组元素
System.out.println();
//换行,println换行
int b[] = {1,2,3,4,5,6,7,8,9};
for (int x :b) {
System.out.print(x+"\t");
}
}
concle
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
四、break和continue
break:跳出整个循环
continue:跳出这次循环
for (int i=0;i<10;i++){
if (i==5){
//break;
continue;
}
System.out.print(i+"\t");
}
concle
break:0 1 2 3 4
continue:0 1 2 3 4 6 7 8 9