程序逻辑控制

  • 顺序结构
  • 分支结构
  • 循环结构

  • 顺序结构

顺序编写,顺序执行

  • 支结构

if结构
if(布尔表达式){
     
	//满足条件的执行代码
}
if(布尔表达式){
     
	//条件满足的执行代码
}else{
     
	//条件不满足的执行代码
}
if(布尔表达式){
     
	//条件满足的执行代码
}ielse if(布尔表达式){
     
	//条件满足的执行代码
}else{
     
	//条件不满足的执行代码
}
注意

if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句). 此时 else 是和最接近的 if 匹配.但是实际开发中我们 不建议这么写最好加上-就近原则

switch语句
switch(整数|枚举|字符|字符串){
     
 case 内容1 : {
     
 内容满足时执行语句;
 [break;]
 }
 case 内容2 : {
     
 内容满足时执行语句;
 [break;]
 }
 ...
 default:{
     
 内容都不满足时执行语句;
 [break;]
 } 
}
注意

根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句.
如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句.
我们建议一个 switch 语句最好都要带上

switch中的值只能是byte,short,int,char String

  • 循环结构

while循环
while(循环条件){
      
循环语句; 
}
break

循环提前结束

continue

结束本次循环,进入下次循环

for循环
for(表达式1;表达式2;表达式3){
      
循环体; 
}

表达式1: 用于初始化循环变量.
表达式2: 循环条件
表达式3: 更新循环变量

do…while循环
do{
     
	循环语句;
}while(循环条件)

先执行一次循环语句,再判断循环条件

  • 输入输出

System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); //格式输出

键盘输入
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
陷阱
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
System.out.println(n);
String s=scanner.nextLine();
System.out.println(s);

输入10,然后打印10出来,由于第一个输入以回车结束,第二次输入直接将回车换行读入打印两个空行


程序逻辑控制_第1张图片


程序逻辑控制_第2张图片


Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
System.out.println(n);
String s=scanner.next();
System.out.println(s);

程序逻辑控制_第3张图片
程序逻辑控制_第4张图片

强调

nextInt():方法以空格或者回车结束的

nextLine():方法是以回车结束的,返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

next()会自动消去有效字符前的空格键、Tab键或Enter,只返回输入的字符,不能得到带空格的字符串。输入有效字符之后,将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符,但是这些符号仍然在缓冲区内,如果紧接着使用nextLine(),那么nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法从键盘输入值。

你可能感兴趣的:(JAVA,SE)