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 }
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 }
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 }
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 }
5.java中的循环结构-for
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-05-16 05_ssm基础(三)之Spring基础
2018-05-16 05_ssm基础(二)之mybatis优化