1.java中的运算符

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

2.条件选择结构-if

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

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

  

java系统化基础-day02-运算符、选择结构、循环结构的更多相关文章

  1. Java流程控制以及顺序、选择、循环结构

    目录 用户交互Scanner Scanner对象 hasNext()与next() hasNextLine()与nextLine() Scanner进阶用法 求和与平均数 顺序结构 选择结构 if单选 ...

  2. [零基础学JAVA]Java SE基础部分-04. 分支、循环语句

    转自:http://redking.blog.51cto.com/27212/116751 1.课程名称:分支.循环 本季为JAVA程序中最重要的部分,在讲解的时候除了讲解各种主要的控制语句(分支语句 ...

  3. Java05-Java基础语法(四)循环结构

    Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...

  4. Python基础三(选择,循环)

    序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...

  5. Java基础(三)选择和循环结构

    一.选择结构,条件判断 1.if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句.如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. impor ...

  6. java 基础 03 运算符 分支结构 循环结构

    今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...

  7. Java探索之旅(3)——选择与循环

    1.选择结构与输出 ❶Switch语句: Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住:Value1----ValueN,对应有相同数据类型且为常量或者 ...

  8. java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

    JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...

  9. 刘强1109 JavaScript基础二(分支与循环结构)

    [if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ...

随机推荐

  1. CentOS 使用官方源yum安装最新nginx版本

    CentOS 使用官方源yum安装最新nginx版本 1.创建nginx.repo # vi /etc/yum.repos.d/nginx.repo 2.添加内容#如果是CentOS6,文件内容如下: ...

  2. Anaconda(三)

    五.TensorFlow安装 这一天由于版本问题走了太多弯路.之前用的conda版本是最新的,自带Python3.7.5,装了之后倒是各种包都能装,用命令: pip install xxx conda ...

  3. 【454】ML-DL相关链接

    GD(梯度下降)和SGD(随机梯度下降) 机器学习中的Bias和Variance 机器学习之判别式模型和生成式模型 笔记 | 什么是Cross Entropy

  4. Java 待学习知识

    Java 工厂模式和策略模式 Java 面向对象与面向接口的设计模式 Java 六大设计原则 - 单一职责原则 设计模式之禅     大话设计模式

  5. iOS 基于 itemServices 进行本地安装 ipa 应用安装包

    itemServices 协议 itemServices 是苹果推出的一款协议.基于这款协议,我们在本地部署一个服务器,将 ipa 包存放到本地服务器.然后,测试人员只要通过 iOS 测试设备的 Sa ...

  6. Linux whereis、find和locate命令区别以及应用场景

    查找某个文件是我们在使用使用linux中非常常用的一个命令. linux中有多个查找文件的指令:whereis.find.locate都有类似查找的功能,下面将讲解这些指令之间的区别. whereis ...

  7. 【记录】【mysql】的REPLACE()用法

    操作前数据 操作 UPDATE `test_replace` SET PASSWORD ') WHERE id REPLACE(PASSWORD, '1', '77')意思就是password中的1替 ...

  8. 基于面绘制的MC算法以及基于体绘制的 Ray-casting 实现Dicom图像的三维重建(python实现)

    加入实验室后,经过张老师的介绍,有幸与某公司合共共同完成某个项目,在此项目中我主要负责的是三维 pdf 报告生成.Dicom图像上亮度.对比度调整以及 Dicom图像三维重建.今天主要介绍一下完成Di ...

  9. 处理html换行问题

    String.prototype.replaceAll = function (FindText, RepText) { regExp = new RegExp(FindText, "g&q ...

  10. 卓金武《MATLAB在数学建模中的应用》 第2版

    内容介绍 本书的作者都具有实际的数学建模参赛经历和竞赛指导经验.书中内容完全是根据数学建模竞赛的需要而编排的,涵盖了绝大部分数学建模问题的matlab求解方法.本书内容分上下两篇.上篇介绍数学建模中常 ...