一.Scanner的深入用法
输入不同类型的数据,输出类型不同
package com.javaStudy.base.Scanner;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入整数");
if (input.hasNextInt()){
i = input.nextInt();
System.out.println("整数为:"+i);
}
else {
System.out.println("输入的不是整数");
}
System.out.println("请输入小数");
if (input.hasNextFloat()){
f = input.nextFloat();
System.out.println("小数为:"+f);
}
else {
System.out.println("输入的不是小数");
}
input.close();
}
}
2.输入多个数据,求其总和和平均值,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果
在看到该题目时,因知识储备有限,直接写出了一个只有三个的代码,没想到使用循环
package com.javaStudy.base.Scanner;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//输入多个数据,求其总和和平均值,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果
int num1 = 0;
int num2 = 0;
int num3 = 0;
System.out.println("请输入第一个整数:");
num1 = input.nextInt();
System.out.println("请输入第二整数");
num2 = input.nextInt();
System.out.println("请输入第三整数");
num3 = input.nextInt();
System.out.println("输入随意数,显示结果");
if (input.hasNextLine()){
String str = input.nextLine();
int sum = num1+num2+num3;
float avg = sum/3f;
System.out.println("其总数和为:"+sum+"其平均数为:"+avg);
}
input.close();
}
}
在听完老师讲课后恍然大悟,使用while循环可以解决很多类似问题
package com.javaStudy.base.Scanner;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
//输入多个数据,求其总和和平均值,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果
Scanner input = new Scanner(System.in);
int sum = 0 ;
int m = 0;
System.out.println("请输入要计算的数字");
while (input.hasNextInt()){
int x = input.nextInt();
System.out.println("当前输入的数字为:"+x+"总和为:"+sum);
sum = sum +x ;
m ++;
}
System.out.println("最后的总和为:"+sum+"平均数为:"+(sum/m));
}
}
二.if 的相关用法
1.if单选顺序执行
即没有else,只有if条件为ture时的执行结果
package com.javaStudy.base.Struct;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i = input.nextInt();
if (i>60){
System.out.println("及格");
}
}
}
2.if双选择的结果
即存在若if条件为false时的执行结果
package com.javaStudy.base.Struct;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i = input.nextInt();
if (i>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
}
3.if多条件选择
即多个if嵌套起来
package com.javaStudy.base.Struct;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入成绩");
int i = input.nextInt();
if (i == 100){
System.out.println("满分");
}else if (i>=90){
System.out.println("优秀");
}else if (i>=70){
System.out.println("良好");
}else if (i>=60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
}
4.if中包含if
双重if
package com.javaStudy.base.Struct;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i = input.nextInt();
if (i>60){
if (i>80){
System.out.println("youxiu");
}
System.out.println("jige");
}
}
}
三.swich的使用
package com.javaStudy.base.Struct;
public class Demo4 {
public static void main(String[] args) {
char num = 'B';
switch (num){
case 'A':
System.out.println("优秀");
break;
case'B':
System.out.println("良好");
break;
case'C':
System.out.println("及格");
break;
default:
System.out.println("未知");
}
}
}
要多使用break,否则会导致下面的结果全部输出
package com.javaStudy.base.Struct;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String num = input.next();
switch (num){
case "A":
System.out.println("优秀");
break;
case"B":
System.out.println("良好");
break;
case"C":
System.out.println("及格");
break;
default:
System.out.println("未知");
}
}
}
四.while的相关使用
while是用来表示循环,即当while中的条件为true时,则循环成立,当while中的条件为false时,循环暂停
package com.javaStudy.base.Struct;
public class Demo5 {
public static void main(String[] args) {
int i = 1;
int sum = 0;
while (i<100){
sum = sum + i ;
i++;
}
System.out.println(sum);
}
}
五.dowhile与while 的区别
首先,dowhile与while都是循环体,dowhile的使用如下
package com.javaStudy.base.Struct;
public class Demo6 {
public static void main(String[] args) {
int i = 1;
int sum = 0 ;
do {
sum = sum+i ;
i++;
}while (i<=100);
System.out.println(sum);
}
}
dowhile与while的区别在于,dowhile是先执行后判断,而while是判断再执行
package com.javaStudy.base.Struct;
public class Demo7 {
public static void main(String[] args) {
int a = 0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("==================================");
do {
System.out.println(a);
a++;
}while (a<0);
}
}
结果可看出,执行dowhile,而不执行while语句
六.for语句的用法
for(数据初始化,条件,变化)如
只输入偶数
package com.javaStudy.base.Struct;
public class Demo8 {
public static void main(String[] args) {
for(int i = 0 ;i<=50 ; i++){
int n = i*2;
System.out.println(n);
}
}
}
package com.javaStudy.base.Struct;
public class Demo8 {
public static void main(String[] args) {
for(int i = 1 ;i<=50 ; i++){
int n = 2*i-1;
System.out.println(n);
}
}
}
只输出单数