1 import java.util.Scanner;
2 /*
3 分支结构:
4 单分支结构:
5 只做单一条件的判断,如果符合,做某些事情
6 双分支结构:
7 当做条件判断的时候,只有两种选择
8 多分支结构:
9 可以进行多个条件的判断,每个匹配项可以选择不同的执行结果
10 嵌套分支结构:
11 在分支结构中嵌套分支结构
12 switch多分支结构:
13 一般用作等值判断
14 */
15 public class IfDemo{
16
17 public static void main(String[] args){
18
19 //单分支判断,Math.random()产生数据的范围是[0,1)
20 //得到0-5之间的随机数
21 //int i = (int)(Math.random()*6);
22 //if(i>3){
23 // System.out.println("值大于3");
24 //}
25 //System.out.println("number:"+i);
26
27 /*
28 double i = 6 * Math.random();
29 double j = 6 * Math.random();
30 double k = 6 * Math.random();
31 int count = (int) (i + j + k);
32 if(count > 15) {
33 System.out.println("今天手气不错");
34 }
35 if(count >= 10 && count <= 15) { //错误写法:10<count<15
36 System.out.println("今天手气很一般");
37 }
38 if(count < 10) {
39 System.out.println("今天手气不怎么样");
40 }
41 System.out.println("得了" + count + "分");*/
42
43
44 //双分支结构
45 /*
46 int r = 1;
47 double PI = 3.14;
48 double area = PI * r * r;
49 double length = 2 * PI * r;
50 if(area >= length){
51 System.out.println("面积大于等于周长");
52 }else{
53 System.out.println("周长大于面积");
54 }
55 */
56 //Scanner
57 //创建文件扫描器对象,System.in表示的是标准输入,可以从控制台读取数据(装饰者模式)
58 //注意:每次读取回来的值都是字符串类型,需要进行类型转换
59 //Scanner sc = new Scanner(System.in);
60 //System.out.println("请输入数据");
61 //String str = sc.nextLine();
62 //System.out.println(str);
63
64
65 //多分支结构
66 /*
67 int age = (int)(Math.random()*100);
68 if(age<10){
69 System.out.println("儿童");
70 }else if(age<20){
71 System.out.println("少年");
72 }else if(age<30){
73 System.out.println("青年");
74 }else if(age<50){
75 System.out.println("中年");
76 }else if(age<70){
77 System.out.println("老年");
78 }else{
79 System.out.println("耄耋");
80 }
81 */
82
83 //嵌套分支结构
84 /*
85 int time = (int)(Math.random()*40);
86 if(time<20){
87 System.out.println("恭喜进入决赛");
88 String sex = ((int)(Math.random()*2))==0?"girl":"boy";
89 if(sex=="girl"){
90 System.out.println("欢迎进入女子组");
91 }else{
92 System.out.println("欢迎进入男子组");
93 }
94 }else{
95 System.out.println("成绩太差,被淘汰");
96 }
97 */
98
99 //switch多分支结构
100 /*注意:
101 1、每个case模块中要添加break,防止多次匹配
102 2、如果多个case中处理的逻辑代码块的功能一致,可以考虑只在最后添加一次处理
103 3、default表示默认选项,当所有的case不匹配的时候,会执行此选项
104 4、defult可以有,也可以没有
105 */
106 int random = (int)(Math.random()*26);
107 char ch = (char)('a'+random);
108 switch(ch){
109 /*
110 case 'a':
111 System.out.println("元音:"+ch);
112 break;
113 case 'e':
114 System.out.println("元音:"+ch);
115 break;
116 case 'i':
117 System.out.println("元音:"+ch);
118 break;
119 case 'o':
120 System.out.println("元音:"+ch);
121 break;
122 case 'u':
123 System.out.println("元音:"+ch);
124 break;
125 case 'y':
126 System.out.println("半元音:"+ch);
127 break;
128 case 'w':
129 System.out.println("半元音:"+ch);
130 break;
131 default:
132 System.out.println("辅音:"+ch);*/
133 case 'a':
134 case 'e':
135 case 'i':
136 case 'o':
137 case 'u':
138 System.out.println("元音:"+ch);
139 break;
140 case 'y':
141 case 'w':
142 System.out.println("半元音:"+ch);
143 break;
144 default:
145 System.out.println("辅音:"+ch);
146 }
147
148
149
150
151
152
153
154
155
156
157
158 }
159 }