Java流程控制
交互scanner
next只接收空格之前的字符 和nextline接收所有字符
package com.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.*in*);
System.*out*.println("使用next方式接收;");
//判断用户是否输入字符串
if(scanner.hasNext()){
//使用next方式接收
String next = scanner.nextLine();
System.*out*.println("输出的内容为:" + next);
}
scanner.close();
}
}
nextDouble
nextInt 和nextFloat
package com.scanner;
import java.util.Scanner;
public class Demo02 {
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;
sum = sum + x;
System.out.println("输入第"+m+"个数据,结果为"+sum);
}
System.out.println(m+"个数据,和为"+sum);
scanner.close();
}
}
顺序结构
java基本结构就是顺序结构,一句一句执行。
选择结构
if(布尔表达式1){
如果布尔表达式1为true则执行
}else if(布尔表达式2){
如果布尔表达式2为true则执行
}else{
如果都不为true则执行代码
}
If嵌套
Switch多选结构
变量类型可以是byte,short,int,char,从java7开始支持字符串String类型。
switch(expression){
case value://注意是冒号
语句
break;//注意是分号,可选
case value://注意是冒号
//语句
break;//注意是分号,可选
default://冒号,可选
//语句
}
package com.scanner;
public class Demo03 {
public static void main(String[] args) {
char grade = 'f';
//case穿透
switch (grade){
case 'a':
System.out.println("a优秀");
break;
case 'b':
System.out.println("b良好");
break;
case 'c':
System.out.println("c及格");
break;
default:
System.out.println("未知等级");
}
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
package com.scanner;
public class Demo05 {
public static void main(String[] args) {
//计算1+2+...100
int i=1;
int sum=0;
while (i <= 100) {
sum=sum+i;
i++;
}
System.out.println("sum="+sum);
}
}
do…while循环
do-while至少执行一次。先执行后判断,while先判断后执行。
do{
//代码语句
}while(布尔表达式);
for循环
for(初始化;布尔表达式;更新){
//循环语句
}
package com.scanner;
public class For {
public static void main(String[] args) {
//1到100分别计算奇数的和,偶数的和
int oddsum=0;
int evensum=0;
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {//奇数
evensum+=i;
}else {//偶数
oddsum+=i;
}
}
System.out.println("奇数和是"+evensum);
System.out.println("偶数和是"+oddsum);
}
}
package com.scanner;
public class ForDemo02 {
public static void main(String[] args) {
//输出1-1000能被5整除的数,并且没行输出3个
for (int i = 1; i <= 1000; i++) {
if (i % 5 == 0) {
System.out.print(i+"\t");
}
if(i%(5*3)==0){
System.out.print("\n");
}
}
}
}
package com.scanner;
public class ForDemo03 {
public static void main(String[] args) {
//输出九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+ i*j+"\t");
}
System.out.println("");
}
}
}