java顺序和选择结构
顺序结构
- 顺序结构是Java的基本结构,除非特别指明,否则一步步执行。
- 语句与语句之间,框与框之间自上而下执行,由若干个依次执行的处理步骤组成,任何算法结构的基本结构。
- 基本示例:
public class Sequence {
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
}
选择结构
1.if单选择结构
- 语法结构:if(布尔表达式){
//如果布尔表达式为true,执行此处语句。
}
实例:
System.out.println("请输入hello:");
String s = scanner.nextLine();
if (s.equals("hello")){ //eauals:判断字符串是否相等
System.out.println(s);
}
else {
System.out.println("输入错误");
}
scanner.close();```
### 2.if双选择结构
+ 语法结构:if(布尔表达式){
//如果布尔表达式为true,执行此处语句。
}
else{
//如果布尔表达式为false,执行此处语句。
}
实例:
```package com.ilzy.blog.structure;
import java.util.Scanner;
public class IfTest2 {
public static void main(String[] args) {
//考试分数大于60及格,小于60不及格。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入考试分数:");
double score = scanner.nextDouble();
if(score>=60){
System.out.println("及格");
}
else {
System.out.println("不及格");
}
scanner.close();
}
}
3.if多选择结构
- 语法结构:if(布尔表达式){
//如果布尔表达式为true,执行此处语句。
}
else if(布尔表达式2){
//如果布尔表达式2为false,执行此处语句。
}
else if(布尔表达式3){
//如果布尔表达式3为false,执行此处语句。
}
else{
//如果以上布尔表达式均不为true,执行此处语句。
}
实例:
import java.util.Scanner;
public class IfTest3 {
public static void main(String[] args) {
//考试分数大于60及格,小于60不及格。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入考试分数:");
double score = scanner.nextDouble();
if(score==100){
System.out.println("满分");
}
else if (score<100 && score>=90){
System.out.println("A");
}
else if (score<90 && score>=70){
System.out.println("B");
}
else if (score<70 && score>=60){
System.out.println("C");
}
else if (score<60 && score>=0){
System.out.println("D");
}
else {
System.out.println("请输入正确成绩!");
}
scanner.close();
}
}
4.if嵌套结构
- 语法:if(布尔表达式1){
//如果不二表达式1的值为true,执行此处。
if(布尔表达式2){
//如果布尔表达式2为true,执行此处。
}
}
5.Switch多选择结构
- 语法:Switch(){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//任意数量的case语句
default://可选
//语句
}
实例:
public class SwitchTest1 {
public static void main(String[] args) {
// case穿透
//匹配一个具体的值
char grade = 'B';
switch (grade){
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("未知等级");
}
}
}```
+ Switch语句中变量类型可以是byte,short,int或者char。
+ 自java se7开始,Switch支持字符串String类型。
+ case标签必须为字符串常量或字面量。
支持String实例:
```package com.ilzy.blog.structure;
public class SwitchTest2 {
public static void main(String[] args) {
//JDK7新特性,表达式结果可以是字符串。
//反编译 java文件编译>class字节码文件>反编译为可读懂文件(iead可以反编译)
String name = "23";
switch (name){
case "安全":
System.out.println("安全");
break;
case "ilzy":
System.out.println("ilzy");
break;
default:
System.out.println("what?");
}
}
}
- idea反编译:将生成的class文件拷贝到idea工程文件夹里即可打开。每一个对象都有自己的hashCode,string字符是通过hashCode视为数字操作的。