No1_2. 流程控制_java学习笔记

  1 import java.util.Scanner;
  2 import java.lang.Math;
  3 
  4 public class HelloForWhile {
  5 
  6     /**
  7      * 文档注释,程序名称:HelloForWhile 流程控制 开发时间:2016-03-07 作者:嘿嘿
  8      * */
  9     public static void main(String[] args) {
 10         // TODO Auto-generated method stub
 11         System.out.println("test");
 12         int y = 50;
 13         int x = 800;
 14 
 15         // 复合语句又称块语句,用{}括起来
 16         {
 17             boolean z = y > x;
 18             System.out.println("【1】y>x成立吗?" + z);
 19         }
 20 
 21         // if语句,仅有一条语句可以省略大括号;
 22         if (x > y)
 23             System.out.println("【2】x大于y成立");
 24         // if...else...
 25         if (x > y) {
 26             System.out.println("【3】x大于y!");
 27         } else {
 28             System.out.println("【4】x小于等于y!");
 29         }
 30         // if...else if...多分支语句
 31         int math = 79;
 32         if (math > 90) {
 33             System.out.println("数学成绩“优”!");
 34         } else if (math > 80) {
 35             System.out.println("数学成绩“良”!");
 36         } else if (math > 60) {
 37             System.out.println("数学成绩“合格”!");
 38         } else {
 39             System.out.println("数学成绩“不及格”!");
 40         }
 41 
 42         // 多分支语句,switch语句表达式中的值必须是整型或者字符型。
 43         // 1.1,“ok”都是非法的
 44         int season = 3;
 45         System.out.println("输入个数字代表季节吧:" + season);
 46         switch (season) {
 47         case 1:
 48             System.out.println("Spring");
 49             break;
 50         case 2:
 51             System.out.println("Summer");
 52             break;
 53         case 3:
 54             System.out.println("August");
 55             break;
 56         case 4:
 57             System.out.println("Winter");
 58             break;
 59         default:
 60             System.out.print("season的值不是1-4的整数,不代表任何季节~");
 61         }
 62 
 63         // 示例一:验证登录信息的合法性
 64         Scanner scan = new Scanner(System.in);
 65         System.out.println("请输入用户名:");
 66         String username = scan.nextLine();
 67         System.out.println("请输入密码");
 68         String userpw = scan.nextLine();
 69         if (!username.equals("sunshine")) { // 为什么此处不可以用:(username="sunshine")
 70             System.out.println("用户名不正确!");
 71         } else if (!userpw.equals("123456")) {
 72             System.out.println("密码不正确!");
 73         } else {
 74             System.out.println("恭喜您,登录成功!");
 75         }
 76 
 77         // 示例二:为新员工分配部门
 78         System.out.println("员工姓名?");
 79         String staffname = scan.nextLine();
 80         System.out.println("员工编程语言?");
 81         String language = scan.nextLine();
 82 
 83         switch (language.hashCode()) { // 不清楚hashCode的用法
 84         case 3254818:
 85         case 2301506:
 86         case 2269730:
 87             System.out.println("员工" + staffname + "被分配到JAVA程序开发部门。");
 88             break;
 89         case 3140:
 90         case 2112:
 91             System.out.println("员工" + staffname + "被分配到C#程序开发部门。");
 92             break;
 93         default:
 94             System.out.println("本公司不需要" + language + "语言的程序人员。" + (char) 97);
 95 
 96         }
 97         int hash1 = "JAVA".hashCode();
 98         System.out.println(hash1);
 99 
100         /******************************************
101          * 循环语句(此处注释应该用于注释文档的)
102          ****************************************/
103         // while循环语句
104         int tenadd = 1, addten = 0;
105         while (tenadd <= 10) {
106             addten = addten + tenadd;
107             tenadd = tenadd + 1;
108         }
109         System.out.println("10以内的整数累加是" + addten);
110 
111         // do...while循环语句
112         int doa = 100;
113         while (doa == 60) {
114             System.out.println("ok! doa=100");
115             doa--;
116         }
117         int dob = 50;
118         do {
119             System.out.println("ok! dob=50,不判断条件,先执行该语句!!");
120             dob--;
121         } while (dob == 100);
122 
123         // for循环语句
124         // for(表达式 1;表达式2;表达式3;){语句块}
125         // 输出菱形!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
126 
127         System.out.println("要输出菱行了,请输入单数整数行数");
128         int n = scan.nextInt();
129         for (int stari = -(n - 1) / 2; stari <= (n - 1) / 2; stari++) {
130             for (int stara = 1; stara <= Math.abs(stari); stara++) {
131                 System.out.print(" ");
132             }
133             for (int starj = 0; starj < -Math.abs(stari) * 2 + n; starj++) {
134                 System.out.print("*");
135             }
136             System.out.println();
137         }
138 
139         // foreach语句~~在遍历数组时,为程序员提供方便(java5之后加的)
140         // for(元素变量x:遍历对象obj){ 引用了x的JAVA语名;}
141 
142         int arr[] = { 5, 2, 0 };
143         System.out.println("一维数组中的元素分别为:");
144         for (int fx : arr) {
145             System.out.print(fx + "\t");
146         }
147         System.out.print("\n");
148 
149         // 示例三:使用while循环遍历数组
150         String[] season1 = new String[] { "春", "夏", "秋", "冬" };
151         System.out.println("一年四季有啥:");
152         for (String fy : season1) {
153             System.out.print(fy + " ");
154         }
155         System.out.println("\n" + "一年四季有啥:");
156         int seasonCount = 0;
157         while (seasonCount < season1.length) {
158             System.out.print(season1[seasonCount++] + " ");
159         }
160         System.out.println();
161 
162         // 示例四:使用for循环输出九九乘法表
163 
164         for (int ninex = 1; ninex <= 9; ninex++) {
165             for (int niney = 1; niney <= ninex; niney++) {
166                 System.out.print(niney + "*" + ninex + "=" + ninex * niney
167                         + "  ");
168             }
169             System.out.println();
170         }
171         /******************************************
172          * 跳转语句(break\return\continue)
173          ****************************************/
174         // break语句,强制退出循环。使用break语句计算1~100之间所有连续整数的和,但累加超1000跳出循环
175         int sumHundred = 0;
176         for (int sumx = 1; sumx <= 100; sumx++) {
177             if (sumHundred > 1000) {
178                 System.out.println(sumx + "以内的整数累加是" + sumHundred);
179                 break;
180             }
181             sumHundred = sumHundred + sumx;
182         }
183         // continue语句,只能用在for\while\do...while循环中,跳过其后面的语句,进行下次循环
184         // 用while循环输出10以内的所有奇数~~
185 
186         int odd = 0;
187         System.out.print("10以内所有奇数是:");
188         while (odd <= 10) {
189             if (odd % 2 == 0) {
190                 odd = odd + 1;
191                 continue;
192             } else {
193 
194                 System.out.print(odd + " ");
195                 odd = odd + 1;
196             }
197         }
198         System.out.println();
199 
200         // return语句可以从一个方法返回,并把控制权交给调用它的语句;
201         // return [表达式];
202         /****************** 还没有实践这个语句。。 ***********************/
203         // 示例五:终止循环
204         // 中断单重循环的例子
205         System.out.println("中断单重循环的例子,看到鬼就跳出来。");
206         String[] array = new String[] { "钢铁侠", "金刚狼", "贞子", "变形金刚", "蝙蝠侠",
207                 "贞子", "绿巨人" };
208         for (String gost : array) {
209             if (gost == "贞子") {
210                 System.out.println("遇到鬼了");
211                 break;
212             } else {
213                 System.out.println(gost);
214             }
215         }
216         // 中断双重循环的例子
217         int[][] myScores = new int[][] { { 78, 98, 67 }, { 80, 89, 80 },
218                 { 78, 93, 99 } };
219         System.out.println("寶寶這次考試成績:\n 数学\t 语文 \t英语");
220         No1: for (int[] is : myScores) {
221             for (int q : is) {
222                 System.out.println(q + "\t");
223                 if (q < 70) {
224                     System.out.println("\n    等等" + q + "分的是什么?这个为什么不及格?");
225                     break No1;
226                 }
227             }
228         }
229         // 示例六:循环体的过滤器
230         System.out.println("最近一直在追美剧,最近还看了贞子,查一下看了几遍?");
231         int girlgost = 0;
232         for (String gost1 : array) {
233             if (gost1 == "贞子") {
234                 girlgost = girlgost + 1;
235                 continue;
236             }
237             System.out.println("最近看的美剧有" + gost1);
238         }
239         System.out.println("您一共看了" + girlgost + "次贞子");
240 
241         // 作业一:使用for循环输出空心的菱形
242         // 作业二:使用for循环输出杨辉三解。。。。
243         // 作业三:使用while循环语句计算1+1/2!+1/3!+。。。+1/20!之和
244 
245     }// main
246 
247 }// HelloForWhile

 输出结果:

test
【1】y>x成立吗?false2】x大于y成立
【3】x大于y!
数学成绩“合格”!
输入个数字代表季节吧:3
August
请输入用户名:
sunshine
请输入密码
123456
恭喜您,登录成功!
员工姓名?
liuyq
员工编程语言?
java
员工liuyq被分配到JAVA程序开发部门。
2269730
10以内的整数累加是55
ok! dob=50,不判断条件,先执行该语句!!
要输出菱行了,请输入单数整数行数
45
                      *
                     ***
                    *****
                   *******
                  *********
                 ***********
                *************
               ***************
              *****************
             *******************
            *********************
           ***********************
          *************************
         ***************************
        *****************************
       *******************************
      *********************************
     ***********************************
    *************************************
   ***************************************
  *****************************************
 *******************************************
*********************************************
 *******************************************
  *****************************************
   ***************************************
    *************************************
     ***********************************
      *********************************
       *******************************
        *****************************
         ***************************
          *************************
           ***********************
            *********************
             *******************
              *****************
               ***************
                *************
                 ***********
                  *********
                   *******
                    *****
                     ***
                      *
一维数组中的元素分别为:
5    2    0    
一年四季有啥:
春 夏 秋 冬 
一年四季有啥:
春 夏 秋 冬 
1*1=1  
1*2=2  2*2=4  
1*3=3  2*3=6  3*3=9  
1*4=4  2*4=8  3*4=12  4*4=16  
1*5=5  2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
46以内的整数累加是1035
10以内所有奇数是:1 3 5 7 9 
中断单重循环的例子,看到鬼就跳出来。
钢铁侠
金刚狼
遇到鬼了
寶寶這次考試成績:
 数学     语文     英语
78    
98    
67    

    等等67分的是什么?这个为什么不及格?
最近一直在追美剧,最近还看了贞子,查一下看了几遍?
最近看的美剧有钢铁侠
最近看的美剧有金刚狼
最近看的美剧有变形金刚
最近看的美剧有蝙蝠侠
最近看的美剧有绿巨人
您一共看了2次贞子
View Code

 

posted @ 2016-03-07 23:48  sunshine-habit  阅读(227)  评论(0编辑  收藏  举报