用户交互Scanner(java.util.Scanner获取用户的输入)
//基本语法 Scanner s = new Scanner(System.in)
通过Scanner类的next()与nextLine()方法获取输入的字符串,使用hasNext()与hasNextLine()判断是否还有输入的数据(Next不能得到带有空格的字符串,NextLine可以获得空白)
import java.util.Scanner;public class operator {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner = new Scanner(System.in);System.out.println("使用next方式接收:");//判断用于有没有输入的字符串if (scanner.hasNext()){//使用next方式接收String str = scanner.next();System.out.println("输出的内容为:"+str);}scanner.close();} }
import java.util.Scanner;public class operator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("使用NextLine方式接收:");if (scanner.hasNextLine()){String str = scanner.nextLine();System.out.println("输出的内容为:"+str);}scanner.close();} }
import java.util.Scanner;public class operator {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();sum = sum + x;m = m + 1;System.out.println("当前输入的是第"+m+"个数据,总数为"+sum);}System.out.println("输入的总和为"+sum);System.out.println("平均数为"+(sum/m));scanner.close();} }
顺序结构(基本结构)
选择结构
if(单选择,双选择,多选择,嵌套)
//语法 if(布尔表达式){ //如果布尔表达式为true将执行语句 }
import java.util.Scanner;public class operator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入内容:");String s = scanner.nextLine();//equals:判断字符串是否相等if (s.equals("Hello")){System.out.println(s);}System.out.println("End");scanner.close();} }
//语法
if(布尔表达式){
//如果布尔表达式为true将执行语句
}else{
//如果布尔表达式为false将执行语句
}
import java.util.Scanner;public class operator {public static void main(String[] args) {//考试分数大于60就是及格,小于60就是不及格Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");int i = scanner.nextInt();if (i>60){System.out.println("及格");}else{System.out.println("不及格");}scanner.close();} }
import java.util.Scanner;public class operator {public static void main(String[] args) {//公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发Scanner scanner = new Scanner(System.in);System.out.println("请输入软件收购状态:");boolean s = scanner.nextBoolean();if (s){System.out.println("支付100万元");} else {System.out.println("找人开发");}scanner.close();} }
//语法 if(布尔表达式1){ //如果语句为true将执行 }else if(布尔表达式2){ //如果语句为true将执行 }else if(布尔表达式3){ //如果语句为true将执行 }else{ //如果语句为false将执行 }import java.util.Scanner;public class operator {public static void main(String[] args) {//输入学习成绩,大于60分为及格,小于60分为不及格,其中大于90分为优秀,大于80分为良好Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");int i = scanner.nextInt();if (i>90){System.out.println("优秀");} else if (i>80) {System.out.println("良好");} else if (i>70) {System.out.println("良");} else if (i>60) {System.out.println("及格");}else {System.out.println("不及格");}scanner.close();} }
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 } } 优点:提高计算效率
switch(多选择)switch case语句(判断一个变量与一系列的值中的某一个值是否相等,每一个值称为一个分支)
swithc(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 //可以有任意数量的case语句 default://可选 //语句 } //case穿透现象,输出所有结果,需要使用break进行终止。switch匹配一个具体的值import java.util.Scanner;public class operator {public static void main(String[] args) {char next = 'A';switch (next){case 'A':System.out.println("优秀");break;case 'B':System.out.println("良好");break;case 'C':System.out.println("及格");break;case 'D':System.out.println("不及格");break;default:System.out.println("找不到结果");}} }
循环结构(while循环,do...while循环,for循环)
while(布尔表达式){ //循环内容 } //在业务编程中应该避免死循环public class operator {public static void main(String[] args) {int i = 0;while(i<100){i++;System.out.println(i);}} }
public class operator {public static void main(String[] args) {//计算1+2+3+...+100int i = 0;int sum = 0;while(i<=100){i++;sum = sum + i;}System.out.println(sum);} }
do { //代码语句 }while(布尔表达式)先执行后判断public class operator {public static void main(String[] args) {//计算1+2+3+...+100int i = 0;int sum = 0;do{sum = sum + i;i++;}while(i<=100);System.out.println(sum);} }
for(初始化;布尔表达式;更新){ //代码语句 }public class operator {public static void main(String[] args) {int a = 1;//初始化条件while (a<=100){//条件判断System.out.println(a);//循环体a+=2;//迭代}System.out.println("while循环结束");
//初始化//条件判断//迭代for (int i=1;i<=100;i++){System.out.println(i);}System.out.println("for循环结束");} }for循环快捷键(100.for)
//死循环
for(;;){
}
public class operator {public static void main(String[] args) {//计算0到100之间的奇数和偶数和int oddNum = 0;int evenNum = 0;for (int i = 0; i < 100; i++) {if (i%2!=0){//奇数oddNum = oddNum + i;//oddNum+=i;}else {//偶数evenNum = evenNum +i;//evenNum+=i; }}System.out.println("奇数的和"+oddNum);System.out.println("偶数的和"+evenNum);} }
public class operator {public static void main(String[] args) {//用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个int A = 0;while (A<1000){A++;if(A % 5 == 0){System.out.println(A+"\t");}if (A%(5*3)==0) {System.out.println();}}} }
public class operator {public static void main(String[] args) {//用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个for (int i = 0; i <= 1000; i++) {if (i%5==0){System.out.println(i+"\t");}if (i%(5*3)==0){System.out.println();}}} }
//println 输出完会换行
//print 输出完不会换行