Java基础day02-流程控制
用户交互Scaner
获取用户的输入
基本语法:
new Scanner(System.in);
//Alt+回车*2即可变成下述代码
Scanner scanner = new Scanner(System.in);
next()一定要读取有效字符才可以结束输入,且next()不能得到带有空格的字符串,而nextLine()可以获得输入回车之前的所有字符,包括空白!
顺序结构
基本结构,是任何算法都离不开的基本结构
按顺序进行的结构
选择结构
if单选择
if(布尔表达式){
/ /如果布尔表达式为true将执行的语句
}
if双选择
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
if (str.equals("hello")){
System.out.println("太他妈对了,就是:"+str);
}else{
System.out.println("傻瓜,你错了!");
}
scanner.close();
//凡是属于IO流的类如果不关闭会一直占用资源
}
}
if多选择
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入你的成绩");
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
if (score>90){
System.out.println("优秀");
}else if(score>60){
System.out.println("良好");
}else{
System.out.println("不及格");
}
scanner.close();
//凡是属于IO流的类如果不关闭会一直占用资源
}
}
嵌套的if结构
所谓套娃,不做演示
switch多选择结构
switch case语法判断一个变量与一系列变量中某个值是否相等,每个值成为一个分支
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入你的成绩");
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
switch (score){
//case穿透,如果没有break直接穿透,一直往下,所以每一个case下面最好都来一个break
case(90):
System.out.println("刚好90,很稳");
break;
case(60):
System.out.println("低空滑行");
default:
System.out.println("未知");
}
scanner.close();
//凡是属于IO流的类如果不关闭会一直占用资源
}
}
循环结构
while
while (布尔表达式){
//循环内容
//我们一般是会让循环停止,需要一个让表达式失效的方式来结束循环
//像服务器的请求相应监听等,选哟一直循环的执行
}
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入计算前多少位的和");
Scanner scanner = new Scanner(System.in);
int sa = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
int a=0;
int sum=0;
while (a<=sa){
sum=sum+a;
a++;
}
scanner.close();
//凡是属于IO流的类如果不关闭会一直占用资源
System.out.println(sum);
}
}
do...while
do{
//代码语句
}while(布尔表达式);
//循环至少会被执行一次
for
for(初始化;布尔表达式;更新){
//代码语句
}
例一:计算0到自定义数之间的奇数和以及偶数和
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入");
Scanner scanner = new Scanner(System.in);
int sa = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
//计算0-sa中所有奇数,偶数的和
int ji =0;//奇数
int pu =0;//偶数
for(int i=0;i<sa;i++){
if(i%2!=0){
ji+=i;
}else{
pu+=i;
}
}
System.out.println(ji);
System.out.println(pu);
}
}
例二:用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个
public class HelloWorld {
public static void main(String[] args) {
for (int i = 0; i <=1000; i++) {
if(i%5==0){
// System.out.println(i);
System.out.print(i+"\t");
}
if(i%15==0){
System.out.print("\n");
//print输出完不会换行
//println输出完会换行
}
}
}
}
例三:打印九九乘法表
import java.util.Scanner;
public class HelloWorld {
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();
}
}
}
break&continue
可以用在循环语句的主体部分
break主要用于跳出循环,不执行循环中的剩余语句
continue在循环语句中用于终止循环过程,跳出循环中尚未执行的语句,进行下一次下是否执行循环的判定
浙公网安备 33010602011771号