java系统化基础-day02-运算符、选择结构、循环结构

1.java中的运算符

  1 package com.wfd360.day02;
  2 
  3 
  4 import org.junit.Test;
  5 
  6 import java.math.BigInteger;
  7 
  8 /**
  9  * 1.算术运算符[掌握]
 10  * <p>
 11  * 2.自增自减[掌握]
 12  * <p>
 13  * 3.赋值运算[掌握]
 14  * <p>
 15  * 4.比较运算符[掌握]
 16  * <p>
 17  * 5.逻辑运算符[掌握]
 18  * <p>
 19  * 6.位运算符[了解]
 20  * <p>
 21  * 7.三目运算符[掌握]
 22  */
 23 
 24 public class Demo01 {
 25     /**
 26      * 1.算术运算符[掌握]
 27      * 1)加法(+) 加法   正号  字符串拼接
 28      * 2)减法(-) 减法 负号
 29      * 3)乘法 (*) 乘法
 30      * 4)除法(/) 除法
 31      * 整数(小数)相除的例子
 32      * 10/3 =3;  10.0/3=3.33333…
 33      * 0/0
 34      * 0.0/0.0
 35      * 结果是NaN ,任何的NaN都不等于自己(面试题)
 36      * 1.0/0.0
 37      * Infinity,表示无穷大
 38      */
 39     @Test
 40     public void test() {
 41         int i1 = 3 + 2 - 5 * 6;
 42         int i2 = 10 / 3;  // 3
 43         // 3.0 代表整数相除,将运算结果,转变为double
 44         double d1 = 10 / 3;
 45         System.out.println("d1=" + d1);
 46         //double d2 = 10 / 3.0; // 3.3333333333333335
 47         double d2 = 10.0 / 3; // 3.3333333333333335
 48         System.out.println("d2=" + d2);
 49         // 0/0  报错  java.lang.ArithmeticException: / by zero
 50         //int i3=0/0;
 51         // System.out.println("i3="+i3);
 52         //  结果是NaN ,任何的NaN都不等于自己(面试题)
 53         double d3 = 0.0 / 0;
 54         System.out.println(" d3=" + d3);
 55         double d4 = 1.0 / 0; // Infinity,表示无穷大
 56         System.out.println(" d4=" + d4);
 57     }
 58 
 59     /**
 60      * 取模(%) , 取余数
 61      * 案例:假设大学的一个寝室可以住6个人,那么计算1024个大学生一共需要多少个寝室? (本质就是生产中经常用到的分页算法)
 62      */
 63     @Test
 64     public void test2() {
 65         int n = 6;
 66         int m = 1024;
 67         //取余数
 68         int y = m % n;
 69         System.out.println("y=" + y);
 70         //=====================
 71         //如果余数为零那么,一共需要的寝室数=m/n;
 72         //如果余数 不 为零那么,一共需要的寝室数=(m/n)+1;
 73     }
 74 
 75     /**
 76      * 2. 自增自减[掌握]
 77      * ++(自增)     --(自减)
 78      * 自增自减只能够用于 变量,不能用于常量
 79      * 自增自减运算的优先级  比  算术运算符  高
 80      */
 81     @Test
 82     public void test3() {
 83         //===========基本使用==================
 84         int i = 3;  // 表示把3赋值给变量i
 85         i++;      //表示变量i的值加1,i的值变成4
 86         ++i;      //表示变量i的值加 1,i的值变成5
 87         System.out.println("i=" + i);
 88     }
 89 
 90     /**
 91      * 面试题1
 92      */
 93     @Test
 94     public void test4() {
 95         int i = 3;
 96         int j = i++;  // 先复制,在运输算
 97         // i等于多少,j等于多少?
 98         System.out.println("i=" + i);// 4
 99         System.out.println("j=" + j);// 3
100     }
101 
102     /**
103      * 面试题2
104      */
105     @Test
106     public void test5() {
107         int i = 3;
108         int j = ++i;  // 先运算,在赋值
109         // i等于多少,j等于多少?
110         System.out.println("i=" + i);// 4
111         System.out.println("j=" + j);// 4
112     }
113 
114     /**
115      * 面试题3
116      */
117     @Test
118     public void test6() {
119         int i = 3;
120         i = ++i;  // 先运算,在赋值
121         // i等于多少,j等于多少?
122         System.out.println("i=" + i); // 4
123         int j = 3;
124         j = j++;
125         System.out.println("j=" + j); // 3
126     }
127 
128     /**
129      * 面试题3
130      * 破题关键点:
131      * i++是先赋值在执行 自增
132      * ++i 是先执行自增 在赋值
133      */
134     @Test
135     public void test7() {
136         int i = 3;
137         //      3(4)  4(5)  5(6)
138         int a = i++ + i++ + i++;
139         //      7      8     9
140         int b = ++i + ++i + ++i;
141         //请问 a=?  b=? i=?
142         System.out.println("a=" + a);
143         System.out.println("b=" + b);
144         System.out.println("i=" + i);
145     }
146 
147     /**
148      * 3. 赋值运算[简单,与平时的数学逻辑一样]
149      * =    +=     -=     *=     /=    %=
150      * 1)赋值符号的运算顺序?
151      * 从右到左,把符号右边的值赋值到左边的变量中
152      * 2)上面 后五个分别看成是一个整体: 例如 += 看成是一个符号,不要看成两个;
153      */
154     @Test
155     public void test8() {
156         //请先在每行的后面给出i的值,然后用断点观察i值得变换
157         int i = 3;
158         i += 2;// 表示把2 累加到变量 i 中
159         i -= 1; // 表示把-1 累加到变量 i 中
160         i *= 3; // 等价  i=i*3;   划重点:等价不是等于
161         i /= 3; // 等价  i=i/3;
162         i %= 3;  // 等价 i=i%3;
163         System.out.println("i=" + i);
164     }
165 
166     /**
167      * 超级面试题
168      */
169     @Test
170     public void test9() {
171         short s = 3;
172         s += 2; //正常
173         System.out.println("s=" + s);
174         //===========================
175         short s2 = 3;
176         // 语法错误,结果值是int,int不能自动转换为short
177         // s2 = s2+2;
178     }
179 
180     /**
181      * 4.比较运算符[掌握]
182      * ==    !=     >    <    >=    <=    instanceof
183      * 规律:比较运算的结果是一个布尔类型的值(true 或false);
184      * 举例:
185      * 定义一个布尔表达式,打印输出
186      * 特别说明:instanceof 是判断一个对象是否属于某种类型
187      * 是否可以用于我们之前学习的基本数据类型
188      */
189     @Test
190     public void test10() {
191         System.out.println(1 == 2); //false
192         System.out.println(1 <= 2); //true
193         // instanceof
194         //是否可以用于我们之前学习的基本数据类型  ==> 不可以
195         // System.out.println( 1 instanceof int);
196         System.out.println("爱老虎油" instanceof String); // true
197     }
198 
199     /**
200      * 5.逻辑运算符[掌握]
201      * &    |     &&     ||   ^    !
202      * 是应用于多个条件的组合判断。
203      * 示例说明:
204      * 例如小明参加2个学科的考试 java php
205      * 1)java 和 php 同时考100分,奖励 欧洲十日游
206      * 伪代码描述:java==100 并且 php==100
207      * 2)java 和php,只要有一门考100分,奖励 奖励棒棒糖一个
208      * 伪代码描述:java==100 或者 php==100
209      * <p>
210      * 逻辑运算的两边结果值都必须是什么类型?  布尔
211      * <p>
212      * &   :两边都为true ,结果为true
213      * |    : 只要有一边为true,结果为true
214      * && :   两边都为true ,结果为true
215      * ||    : 只要有一边为true,结果为true
216      * ^    : 两边不一样,结果为true ,否则为false,举个例子打印一下
217      * !  : 逻辑非,举个例子打印一下
218      */
219     @Test
220     public void test11() {
221         int java = 100;
222         int php = 100;
223         int c = 90;
224         int mysql = 80;
225         // ||    : 只要有一边为true,结果为true
226         System.out.println(java == 100 || php == 100); //true
227         System.out.println(java == 100 || c == 100); //true
228         System.out.println(mysql == 100 || c == 100); //false
229         // && 两边都为true ,结果为true
230         System.out.println(java == 100 && php == 100); //true
231         System.out.println(java == 100 && c == 100); //false
232         // 逻辑非
233         System.out.println(java != 100); //false
234         System.out.println(c != 100); // true
235 
236         // ^    : 两边不一样,结果为true ,否则为false,举个例子打印一下 (用的很少)
237         System.out.println(java == 100 ^ php == 100); //false
238         System.out.println(mysql == 100 ^ c == 100); //false
239         System.out.println(java == 100 ^ c == 100); //true
240     }
241 
242     /**
243      * &&  ||   和   & |    区别?
244      * 1) & | 既可以充当逻辑运算,也可以是位运算符,怎么区分是逻辑运算还是位运算?
245      * 根据表达式的结果是否为 布尔类型 来判断
246      * 2)双与  双或  具有短路行为  什么意思?
247      * 举个例子 上面小明的考试的成绩 要求是两科都为100分,看到第一科低于100分之后没有必要再看第二科成绩
248      * 代码表示:Java = 100  && php = 100   (java只考了5分)
249      * 如果逻辑运算左边的值能够确定整个逻辑运算表达式的值,那么右边就不执行了,短路了。
250      * && 何时短路 ?    左边表达式结果为false
251      * ||  何时短路 ?    左边表达式结果为true
252      * 思考:如何验证短路行为?
253      * 提示:
254      * 右边表达式用  自增自减,例如 ++i = 5
255      * 或者使用一个编译正常,运行报错的表达式,例如 1/0
256      */
257     @Test
258     public void test12() {
259         int java = 5;
260         int php = 100;
261 
262         // 区分 && 与 &
263         System.out.println(java == 100 && (++php) == 100); // php=100  &&具有短路行为,左边为false时,不在执行右边
264         System.out.println(java == 100 & (++php) == 100); // php=101
265 
266         php = 100;
267         // 区分 || 与 |
268         System.out.println(php == 100 || (++java) == 100); // java=5  ||具有短路行为,左边为true时,不在执行右边
269         System.out.println(php == 100 | (++java) == 100); // java=6
270         System.out.println("java=" + java + " php=" + php);
271     }
272 
273     /**
274      * 面试错误题
275      * 例如:判断一个整数的变量 a里面的数据  在0-100之间
276      * 正确写法: a>0   &&  a<100
277      * 错误写法:   0<  a < 100  (java没有这种语法,不支持)
278      */
279     @Test
280     public void test13() {
281         int a = 10;
282         System.out.println(a > 0 && a < 100);
283 
284         //System.out.println(0 < a < 100); 错误
285     }
286 
287     /**
288      * 十进制转成二进制
289      * String s = Integer.toBinaryString(n)  //将十进制数转成字符串,例如n=5 ,s = "101"
290      * <p>
291      * 将字符串转成整形
292      * int a = Integer.valueof("1002");  //当然s只能是数字类的字符串
293      */
294     @Test
295     public void test14() {
296         //十进制转成二进制
297         String s = Integer.toBinaryString(5);
298         System.out.println("s=" + s);
299         //二进制转变为十进制
300         BigInteger bi = new BigInteger("011", 2);    //转换为BigInteger类型
301         int a = Integer.parseInt(bi.toString());
302         System.out.println("a=" + a);
303     }
304 
305     /**
306      * 6.位运算符[了解]
307      * &    |    ^     ~    <<      >>     >>>
308      * 位运算就是 二进制的位进行运算。
309      * 示例:比如计算 125+176 ,从数学的角度是怎么计算的?
310      * 同理,位运算也类似,比如 3&4
311      * <p>
312      * 可以把1看成是true,把0看成是false
313      * &  :与 位运算,两边为1,结果为1
314      * |   :或 位运算,有一个为1,结果为1
315      * ^  :  异或,两边不一样,就为1,否则为0
316      * ~  :  取反,1变成0  ,0 变成1
317      * << :  向左位移动,例如1<<3
318      * >> :   向右位移动,例如8>>2
319      * >>>:  无符号向右移动
320      * <p>
321      * 注意:
322      * 正数的补码,反码,原码 都一样;
323      * 负数的反码:符号为不变,其他位取反;
324      * 负数的补码:它的反码+1;
325      */
326     @Test
327     public void test15() {
328         // &  :与 位运算,两边为1,结果为1
329         System.out.println(20 & 30); //得到的是十进制数
330         System.out.println("20的二进制:" + Integer.toBinaryString(20));
331         System.out.println("           &");
332         System.out.println("30的二进制:" + Integer.toBinaryString(30));
333         System.out.println("----------------------------------------");
334         System.out.println("            " + Integer.toBinaryString(20 & 30));
335     }
336 
337     @Test
338     public void test16() {
339         // |   :或 位运算,有一个为1,结果为1
340         System.out.println(20 | 30); //得到的是十进制数
341         System.out.println("20的二进制:" + Integer.toBinaryString(20));
342         System.out.println("           |");
343         System.out.println("30的二进制:" + Integer.toBinaryString(30));
344         System.out.println("----------------------------------------");
345         System.out.println("            " + Integer.toBinaryString(20 | 30));
346     }
347 
348     @Test
349     public void test17() {
350         //<< :  向左位移动,例如1<<3  , 左位易的本质运算是,假设 a<<b ,相当于数学中的运算 a乘以2的b次方
351         System.out.println(2 << 3); //得到的是十进制数
352         System.out.println("2的二进制:000" + Integer.toBinaryString(2));
353         System.out.println("           <<3");
354         System.out.println("----------------------------------------");
355         System.out.println("           " + Integer.toBinaryString(2 << 3));
356     }
357 
358     /**
359      * 注意:
360      * 正数的补码,反码,原码 都一样;
361      * 负数的反码:符号为不变,其他位取反;
362      * 负数的补码:它的反码+1;
363      */
364     @Test
365     public void test18() {
366         //~  :  取反,1变成0  ,0 变成1
367         System.out.println(~(-5)); //得到的是十进制数
368         System.out.println("原码:00000000000000000000000000000" + Integer.toBinaryString(5));
369         System.out.println("反码:" + Integer.toBinaryString(-5));
370         System.out.println("补码:00000000000000000000000000000" + Integer.toBinaryString(~(-5)));
371     }
372 
373     /**
374      * 7.三目运算符[掌握]
375      * 语法格式: X ? Y : Z
376      * 1)上面的三目运算整体看成是一个表达式,应该有一个结果值
377      * 2)X ?  布尔类型的值或者结果为布尔类型的表达式
378      * 3)Y  Z  ? 一般来说数据类型相同的值或者表达式
379      * 4)运算的规则?
380      * X 为true,就是 Y 的结果值 ( 冒号前面的表达式的值)
381      * X为false,就是Z的结果值 ( 冒号后面的表达式的值)
382      * x ? y : z
383      * <p>
384      * 注意:  不要受  ? 和    :  的干扰,它们只是一个固定语法格式而已
385      */
386     @Test
387     public void test19() {
388         //举例:找出两个整型变量中的最大值
389         int a = 6;
390         int b = 7;
391         int c = a > b ? a : b;
392         System.out.println("c=" + c);
393         //举例 判断一个数是 奇数 还是 偶数
394         int i = 9;
395         System.out.println(i % 2 == 0 ? "偶数" : "奇数");
396     }
397 
398 }
View Code

2.条件选择结构-if

  1 package com.wfd360.day02;
  2 
  3 
  4 import org.junit.Test;
  5 
  6 public class Demo02If {
  7     /**
  8      * if(判断条件){
  9      * 满足 判断条件(true),就执行此大括号里面的内容
 10      * }
 11      */
 12     @Test
 13     public void test1() {
 14         //案例:如果a>90,输出:优秀
 15         int a = 96;
 16         if (a > 90) {
 17             System.out.println("优秀");
 18         }
 19     }
 20 
 21     /**
 22      * if(判断条件A){
 23      * 满足 判断条件A(true),就执行此大括号里面的内容,后面的else不会执行
 24      * }else{
 25      * 前面的 判断条件A(false),执行else大括号里面的内容
 26      * }
 27      */
 28     @Test
 29     public void test2() {
 30         //案例:如果a>90,输出:优秀,否则输出:一般
 31         int a = 96;
 32         if (a > 90) {
 33             System.out.println("优秀");
 34         } else {
 35             System.out.println("一般");
 36         }
 37     }
 38 
 39     /**
 40      * if(判断条件A){
 41      * 满足 判断条件A(true),就执行此大括号里面的内容,后面的else-if不执行
 42      * }else if(判断条件B){
 43      * 满足 判断条件B(true),就执行此大括号里面的内容
 44      * }
 45      */
 46     @Test
 47     public void test3() {
 48         //案例:如果a>90,输出:优秀
 49         // 如果80<a<=90 ,输出: 良好
 50         int a = 96;
 51         if (a > 90) {
 52             System.out.println("优秀");
 53         } else if (a > 80) {
 54             System.out.println("良好");
 55         }
 56     }
 57 
 58     /**
 59      * if(判断条件A){
 60      * 满足 判断条件A(true),就执行此大括号里面的内容,后面的else-if不执行
 61      * }else if(判断条件B){
 62      * 满足 判断条件B(true),就执行此大括号里面的内容
 63      * }else{
 64      * 前面的if  esle-if 都不满足条件(false),执行此大括号里面的内容
 65      * }
 66      */
 67     @Test
 68     public void test4() {
 69         //案例:如果a>90,输出:优秀
 70         // 如果80<a<=90 ,输出: 良好
 71         // 否则,输出一般
 72         int a = 96;
 73         if (a > 90) {
 74             System.out.println("优秀");
 75         } else if (a > 80) {
 76             System.out.println("良好");
 77         } else {
 78             System.out.println("一般");
 79         }
 80     }
 81 
 82     /**
 83      * else if 可以有多个
 84      */
 85     @Test
 86     public void test5() {
 87         //案例:如果a>90,输出:优秀
 88         // 如果80<a<=90 ,输出: 良好
 89         // 如果70<a<=80, 输出: 合格
 90         // 否则,输出一般
 91         int a = 96;
 92         if (a > 90) {
 93             System.out.println("优秀");
 94         } else if (a > 80) {
 95             System.out.println("良好");
 96         } else if (a > 70) {
 97             System.out.println("合格");
 98         } else {
 99             System.out.println("一般");
100         }
101     }
102 
103     /**
104      * 简写
105      * if 后面的大括号如果不写,表示执行是后面的第一行代码(不建议这样写)
106      */
107     @Test
108     public void test6() {
109         //案例:如果a>90,输出:优秀
110         int a = 96;
111         if (a > 90)
112             System.out.println("优秀");
113     }
114 
115     /**
116      * 练习(学编程有捷径,那就是多敲,疯狂的敲代码,不论是简单的还是复杂的代码)
117      * 1.求出2个变量中的最大值
118      * 2.判断一个数是否是3的倍数
119      * 3.小明java 考试成绩  按等级分   A B C  D ,判断变量值在不同的范围的,打印输出不同的等级
120      * 90~100 A等。
121      * 80-89 B等。
122      * 70-79 C等。
123      * 60-69 D等。
124      * 60以下E等。
125      */
126     @Test
127     public void test7() {
128         //自己动手写,写完之后给老师检查
129     }
130 }
View Code

 

3.条件选择结构-switch 

 1 package com.wfd360.day02;
 2 
 3 import org.junit.Test;
 4 
 5 /**
 6  * 条件选择结构-switch
 7  * 作用和if差不多,只是语法结构不一致而已。
 8  * <p>
 9  * <p>
10  * switch(变量或者一个表达式){
11  * case 变量的可能值1: 功能语句;break;
12  * case 变量的可能值2: 功能语句;break;
13  * case 变量的可能值3: 功能语句;break;
14  * ........
15  * default:功能语句;break;
16  * }
17  */
18 public class Demo03Switch {
19     /**
20      * 案例:将数字1,2,3....7 输出对应的星期:周一,周二,周三,.....周末
21      */
22     @Test
23     public void test1() {
24         int week = 5;
25         switch (week) {
26             case 1:
27                 System.out.println("周一");
28                 break;
29             case 2:
30                 System.out.println("周二");
31                 break;
32             case 3:
33                 System.out.println("周三");
34                 break;
35             case 4:
36                 System.out.println("周四");
37                 break;
38             case 5:
39                 System.out.println("周五");
40                 break;
41             case 6:
42                 System.out.println("周六");
43                 break;
44             case 7:
45                 System.out.println("周天");
46                 break;
47             default:
48                 System.out.println("没有对应数字的星期");
49         }
50     }
51 
52     /**
53      * 1) case的顺序(包括default) 可以是任意的,但是建议先按照case的值的大小顺序排列,default放最后
54      * 2)执行顺序,是先依次找完所有的case,如果都不匹配才会执行default
55      * 3) break的作用,结束当前的这个switch结构
56      * 从第一个匹配的条件开始,到第一个break之间的所有case判断失效 (这个特点非常重要,结合下面的例子理解)
57      * 在执行功能语句时,如果到末尾都没有break,自动结束,不会再循环回去。
58      * 最后一个break 可以省略掉,但是建议还是写上
59      * 4) case后面的值应该和变量的类型一致;
60      * 5) switch中的()中的变量地方类型可以是哪些?
61      * java5之前   :  byte short char int
62      * java5支持   :   enum枚举  (面向对象部分学习了之后回头测试)
63      * java7支持   :  String 类型
64      */
65     @Test
66     public void test2() {
67         //根据月份,输出春夏秋冬 ,从第一个匹配的条件开始,到第一个break之间的所有case判断失效 (这个特点非常重要,结合例子理解)
68         int month = 2;
69         switch (month) {
70             case 1:
71             case 2:
72             case 3:
73                 System.out.println("春天");
74                 break;
75             case 4:
76             case 5:
77             case 6:
78                 System.out.println("夏天");
79                 break;
80             case 7:
81             case 8:
82 
83             case 9:
84                 System.out.println("秋天");
85                 break;
86             case 10:
87             case 11:
88             case 12:
89                 System.out.println("冬天");
90                 break;
91             default:
92                 System.out.println("月份数字错误");
93                 break;
94         }
95     }
96 }
View Code

 

4.java中的循环结构-while

  1 package com.wfd360.day02;
  2 
  3 import org.junit.Test;
  4 
  5 /**
  6  * Java中提供了3  种循环
  7  * while  do-while  for
  8  * 1.上面的3中循环功能都是一样的,只是语法结构不一样,很多时候是可以相互交换的
  9  * , 既然都差不多,为什么有多个呢?
 10  * 不同的循环结构,有不同的使用场景和优势
 11  * <p>
 12  * 2.在写循环代码之前呢?
 13  * 1)要做什么事情
 14  * 2)次数
 15  * 3)要写循环,必须知道循环的语法
 16  */
 17 public class Demo04While_循环 {
 18     /**
 19      * while 基本用法[掌握]
 20      * 语法格式:
 21      * while(条件(布尔类型的)){
 22      * // 循环体具体做什么事情
 23      * }
 24      * <p>
 25      * 执行流程
 26      * 1.一个循环可能会循环执行多次
 27      * 第一次判断条件true,继续执行
 28      * 第二次判断条件true,继续执行
 29      * 第三次判断条件true,继续执行
 30      * 。。。。。
 31      * 直到第n次判断条件false,终止循环
 32      * <p>
 33      * 为什么第一次 第二次是true 。。。 n次就是false?
 34      */
 35 
 36     /**
 37      * 条件可以是一个常量
 38      * 举个例子(条件为布尔值true)
 39      * <p>
 40      * 这个例子是死循环,小心电脑崩溃,启动后建议马上手动停止
 41      */
 42     @Test
 43     public void test1() {
 44         while (true) {
 45             System.out.println("------死循环中-------");
 46         }
 47     }
 48 
 49     /**
 50      * 一般我们使用一个变量来充当条件循环,
 51      * 举个例子:播放一首歌,循环播放10次
 52      * 1)定义一个整数的变量记录循环的次数
 53      * 2)循环一次,自增一次
 54      * 根据次数进行判断是否继续循环
 55      */
 56     @Test
 57     public void test2() {
 58         int i = 1;// 1. 初始值
 59         while (i <= 10) {// 2. i<==10 循环条件
 60             System.out.println("北京欢迎你----" + i);
 61             i++; //变化量,很重要,否则就是死循环
 62         }
 63     }
 64 
 65     /**
 66      * 写一段代码计算1-10的和。
 67      * 1)传统的做法
 68      * 1+2+3+4+5+6+7+8+9+10
 69      * 如果要求计算1-100 , 1-1000 这样写是否合理?
 70      * 可以动态的获得每一个加数
 71      * 2)使用while循环,每循环一次,把取到的加数累加起来
 72      * 3)在循环的外面定义一个变量用来放计算的和的值
 73      */
 74     @Test
 75     public void test3() {
 76         //案例:计算 1 +2+3...10
 77         int n = 1;
 78         int sum = 0;
 79         while (n <= 10) {
 80             sum += n;
 81             n++;
 82         }
 83         System.out.println("sum=" + sum);
 84     }
 85 
 86     /**
 87      * 练习:
 88      * 1.求出10以内2的倍数的数字 和 个数。
 89      */
 90     @Test
 91     public void test4() {
 92 
 93     }
 94 
 95     /**
 96      * 练习:
 97      * 2.求出 1-10的所有偶数的和
 98      */
 99     @Test
100     public void test5() {
101 
102     }
103 
104     /**
105      * do-while 基本用法[掌握]
106      * do-while    先执行一次,再判断  (*****)
107      * 语法格式:
108      * do{
109      * // 循环体
110      * }while(条件);
111      * <p>
112      * 举例:循环10次
113      * 和while区别?
114      * 1)定义一个 布尔变量,默认值false
115      * 2)将这个布尔变量放在 while  和 do-while 条件中,看有什么区别
116      */
117     @Test
118     public void test6() {
119         boolean b = false;
120         System.out.println("-----执行while之前--------");
121         while (b) {
122             System.out.println("------正在执行while------------");
123         }
124         System.out.println("-----执行while之后--------");
125 
126         System.out.println("-----执行do-while之前--------");
127         do {
128             System.out.println("------正在执行do-while------------");
129         } while (b);
130         System.out.println("-----执行do-while之后--------");
131     }
132 
133     /**
134      * 案例:使用do-while  求出1-100的和
135      */
136     @Test
137     public void test() {
138 
139     }
140 }
View Code

 

5.java中的循环结构-for

  

 

posted @ 2019-05-16 11:54  李东平|一线码农  阅读(228)  评论(0编辑  收藏  举报