用户交互Scanner
import java.util.Scanner;//一定要有的
public class Demo {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if(scanner.hasNext()){//不判断也可以
String str = scanner.next();
System.out.println("输入的内容是:"+str);
}
scanner.close();//凡是属于IO流的类如果不关闭的话会一直占用资源,要养成用完就关掉的好习惯
//IO流:即输入输出流
}
}
使用nextLine的好处是可以接收空格,next不行
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//只用打等号后面,然后opt+回车,就好了
System.out.println("使用nextLine方式接收");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输入的内容是:"+str);
}
scanner.close();
}
}
nextLine数字字母中文都可以接受
Scanner 进阶使用
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("整数数据:" + i);
} else {
System.out.println("不是整数数据!");
}
System.out.println("请输入小数:");
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("小数数据:" + f);
} else {
System.out.println("不是小数数据!");
}
scanner.close();
}
}
如果输入小数就直接会输入小数了
import java.util.Scanner;
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 x = scanner.nextDouble();
m += 1;
sum += x;
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值为"+sum/m);
scanner.close();
}
}
if 选择结构
基本语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if多选择结构:
if(布尔表达式1){
}else if(布尔表达式2){
}else if(布尔表达式3){
}...
switch多选择结构
switch(expression){
case value:
//语句
break;//可选
case value;
//语句
break;//可选
//你可以有任意数量的case语句
default://以上都不执行的时候,就执行default语句
//语句
}
switch支持字符串String类型了
原理:反编译 hashCode
while 循环
while(布尔表达式){
//循环内容
}
do...while循环
do{
//代码语句
}while(布尔表达式);//注意这里有一个分号!
for 循环
for(初始化;布尔表达式;更新){
//代码语句
}
输出一个换行:
System.out.println();
System.out.print("\n");
遍历数组:
int[] numbers = {10,20,30,40,50};
for(int i=0;i<5;i++){
System.out.println(numbers[i]);
//另一种简化版写法:
for(int x:numbers){
System.out.println(x);
}
}
一些快捷输入:
5.for//这样它就可以自己跳出来
label
Java没有goto语言但是有goto关键字
//打印101~150之间所有的质数
int count = 0;
outer:for(int i = 101;i<150;i++){
for(int j = 2;j<i/2;j++){
if(i%j == 0){
continue outer;//从内部循环跳到外部循环(但label难写一般不用
}
}
System.out.print(i);
}