Scanner 进阶
判断是否是整数:
public class A1014 {
public static void main(String[] args) {
Scanner a = new Scanner(System.in);
System.out.println("请输入整数:");
int Num1 = 0;
float Num2 = 0.0f;
if (a.hasNextInt()){
Num1=a.nextInt();
System.out.println("整数为:"+Num1);}else{
System.out.println("不是整数");
}
if (a.hasNextFloat()){
Num2=a.nextFloat();}
System.out.println("输入数字为:"+Num2);
a.close();
run1:
请输入整数:
220
整数为:220
1
输入数字为:1.0
run2:
请输入整数:
22.1
不是整数
输入数字为:22.1
求和,计算平均数
- if是判断语句,while是循环语句
public class A1014a {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
Scanner sca = new Scanner(System.in);
double sum = 0.0;
int n = 0;
System.out.println("输入:");
//if是判断语句,while是循环语句
while(sca.hasNextDouble()){
double x = sca.nextDouble();
sum = x+sum;
n = ++n; //n = n+1
System.out.println("已输入"+n+"个数字"+"和为:"+sum+"平均数为:"+(sum/n));
}
System.out.println("一共输入了"+n+"个数字,它们的和为:"+sum+"平均数为:"+(sum/n));
sca.close();
run:
输入:
2
已输入1个数字和为:2.0平均数为:2.0
4
已输入2个数字和为:6.0平均数为:3.0
6
已输入3个数字和为:12.0平均数为:4.0
8
已输入4个数字和为:20.0平均数为:5.0
10
已输入5个数字和为:30.0平均数为:6.0
a
一共输入了5个数字,它们的和为:30.0平均数为:6.0
顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺序结构是最简单的算法结构。
- 语句与语句之间,框框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
- 语法:
if(布尔表达式){
如果布尔表达式为true将执行的语句}
equals 判断字符串是否相等,例如:
public class A1014b {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
System.out.println("乌龟会飞吗?");
String str =sca.nextLine();
//equals 判断字符串是否相等
if(str.equals("不会")){
System.out.println("回答正确");
}else
System.out.println("在想啥?");
sca.close();
run:
乌龟会飞吗?
不会
回答正确
run2:
乌龟会飞吗?
会
在想啥?
if双选择结构
- 那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发,这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构。
- 语法:
if(波尔表达式){
如果布尔表达式的值为true}else{
如果布尔表达式的值为false}
public class A1014c {
public static void main(String[] args) {
//考试大于等于60分是及格,小于60分是不及格
Scanner sca = new Scanner(System.in);
System.out.println("输入考试成绩");
Double score = sca.nextDouble();
if(score>=60){
System.out.println("开心一下及格啦");
}else{
System.out.println("这么简单还能不及格");
sca.close();
}
}
}
if多选择结构
- 选择不仅仅只有两个的时候,需要使用多选择结构来处理这类问题!
- 语法:
if(布尔表达式1){
如果布尔表达式1的值为true执行代码}else if(布尔表达式2){
如果布尔表达式2的值为true执行代码}else if(布尔表达式3){
如果布尔表达式3的值为true执行代码}else{
如果以上布尔式都不为true执行代码}
public class A1014d {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
System.out.println("输入考试成绩吧:");
Double score = sca.nextDouble();
if(score==100){
System.out.println("真厉害满分耶");
}else if(score<100 && score>80){
System.out.println("不错不错");}
else if(score<=80 && score>60){
System.out.println("下次加油");}else{
System.out.println("搞啥呢");
}
sca.close();
嵌套的if结构
- 使用嵌套的if…else语句是合法的,也就是说可以在另一个if或者else if 语句中使用if 或者else if语句。你就可以像if语句一样嵌套 else if…else。
- 语法:
if(布尔表达式 1){如果布尔表达式1为true执行代码if(布尔表达式 2){如果布尔表达式2为true执行代码}
}
public class A1014e {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
System.out.println("输入一个大于20的整数");
if(sca.hasNextInt()){
int x = sca.nextInt();if (x>20){
System.out.println("嗯嗯,对了"+x+">20");
}else{
System.out.println("你确定输入的数大于20吗??");
}}else{
System.out.println("你输入的是啥?这是整数吗?");
}
sca.close();
}
switch多选择结构
(明天继续~~~~)