T.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. package com.sf.javase.day03;
  2. import org.junit.jupiter.api.Test;
  3. import java.util.Arrays;
  4. /**
  5. * day03 while
  6. */
  7. public class T {
  8. /**
  9. * while循环的语法结构:
  10. * while(循环条件){ true 永真循环 死循环
  11. * //循环体
  12. * }
  13. */
  14. @Test
  15. public void t1(){
  16. //利用while循环计算1-100的和
  17. int i = 1;
  18. int sum = 0;
  19. while (i<=100){
  20. sum += i;
  21. i++;
  22. }
  23. System.out.println("总和 = "+sum);
  24. }
  25. /**
  26. * do while
  27. * do{
  28. *
  29. * }while();
  30. *
  31. * do while 无论条件是否满足 都先执行一次
  32. * while 先判断条件是否满足
  33. */
  34. @Test
  35. public void t2(){
  36. //用 do while循环写一下1-100的和
  37. int i = 1;
  38. int sum = 0;
  39. do {
  40. sum += i;
  41. i++;
  42. }while (i <=100);
  43. System.out.println(sum);
  44. }
  45. /**
  46. * 9*9乘法表
  47. */
  48. @Test
  49. public void t3(){
  50. for (int i = 1;i<=9;i++){
  51. for (int j = 1;j<=i;j++){
  52. System.out.print(i+"*"+j+"="+i*j+"\t");
  53. }
  54. System.out.println();
  55. }
  56. }
  57. /**
  58. * //1—100之间的所有质数
  59. * (质数是只能被1和他本身整除的数称为质数,1既不是质数也不是合数)
  60. */
  61. @Test
  62. public void t4(){
  63. for (int i = 2;i<=100;i++){
  64. boolean flag = true;
  65. for (int j = 2;j<i;j++){
  66. if(i%j == 0){
  67. flag = false;
  68. break;
  69. }
  70. }
  71. if(flag){
  72. System.out.println(i);
  73. }
  74. }
  75. }
  76. /**
  77. * 打印5行直角三角形
  78. */
  79. @Test
  80. public void t5(){
  81. for(int i = 1;i<=5;i++){
  82. for (int j = 1;j<=i;j++){
  83. System.out.print("*");
  84. }
  85. System.out.println();
  86. }
  87. }
  88. /**
  89. * 将一天的时间打印到当前控制台上
  90. */
  91. @Test
  92. public void t6(){
  93. for(int hour = 0;hour<24;hour++){
  94. for(int min = 0;min<60;min++){
  95. for(int s = 0;s<60;s++){
  96. System.out.println(hour+"时"+min+"分"+s+"秒");
  97. }
  98. }
  99. }
  100. }
  101. @Test
  102. public void t7(){
  103. /**
  104. * 生成 1-100 之间的随机数,直到生成了 97 这个数,看看一共用了几次?
  105. */
  106. int count = 0;//记录次数
  107. while (true){
  108. int random = (int) (Math.random()*100)+1;
  109. count++;
  110. if(random == 97){
  111. break;
  112. }
  113. }
  114. System.out.println(count);
  115. }
  116. /**
  117. * 方法:也称之为函数
  118. * 方法的语法结构:权限修饰符 【其他修饰符】 方法的返回值类型 方法名(参数) throws异常{
  119. * //方法体
  120. * }
  121. *
  122. * 权限修饰符;public
  123. * 其他修饰符:static 静态的 静态方法
  124. * 方法的返回值类型:有/无 int string 对象 数组 集合 .... 无 void
  125. * 方法名 :标识符 创建规则:见名知意
  126. * 参数:入参 出参 语法结构 数据类型 参数名 , ....
  127. * 入参:形参和实参 : 形参? 形式参数 get(int a);
  128. * 实参:实际参数 我们在调用方法时传过来的参数
  129. * //代码体: 有返回值 return 返回值
  130. * void return; 可以 在java不建议
  131. * C: int main(){
  132. * return 1;
  133. * }
  134. * 注意点:方法不能单独存在 必须在类中 main函数 自定义的方法 并行
  135. * 在同个类中 方法名不能相同
  136. *
  137. * static:静态方法 : 调用 在同类 不同类
  138. *
  139. * 重载方法: 在一个类中,方法名相同 参数列表不同(参数个数不同 参数数据类型不同 顺序)) (权限修饰符 返回值类型)X
  140. */
  141. @Test
  142. public void t8(){
  143. // 实例方法可以调用实例方法、静态方法
  144. insert();
  145. insert("admin");
  146. update();
  147. }
  148. //主函数
  149. public static void main(String[] args) {
  150. // insert();
  151. // 静态方法必须调用静态
  152. update();
  153. String[] studentsInfos = getStudentsInfos();
  154. System.out.println(Arrays.toString(studentsInfos));
  155. int studentIndex = 1;
  156. String student= getStudentInfosByIndex(studentIndex);
  157. System.out.println(student);
  158. char aChar = getChar();
  159. System.out.println(aChar);
  160. }
  161. //自定义个一个方法
  162. public void insert(){
  163. System.out.println("信息插入");
  164. }
  165. public void insert(String name){
  166. System.out.println("信息插入");
  167. }
  168. public void insert(int age,String name){
  169. System.out.println("信息插入");
  170. }
  171. public void insert(String name,int age){
  172. System.out.println("信息插入");
  173. }
  174. public static void update(){
  175. System.out.println("update");
  176. }
  177. public static String[] getStudentsInfos(){
  178. String[] str = new String[]{"zs","ls","ww"};
  179. return str;
  180. }
  181. public static String getStudentInfosByIndex(int index){
  182. String[] str = new String[]{"zs","ls","ww"};
  183. return str[index];
  184. }
  185. public int sum(int ... args){
  186. int sum1 = 0;
  187. for (int i = 1;i<args.length;i++){
  188. sum1 += args[i];
  189. }
  190. return sum1;
  191. }
  192. /**
  193. * //设计一个方法可以返回A-Z之间的随机字符。 [65 90]
  194. * public char getChar() {
  195. * }
  196. */
  197. public static char getChar() {
  198. return (char) ((Math.random()*26)+65);
  199. }
  200. /**
  201. * 计算n 的阶乘
  202. * @return
  203. */
  204. public int jc(int n){
  205. if(n == 1){
  206. return 1;
  207. }
  208. return n * jc(n-1);
  209. }
  210. @Test
  211. public void t10(){
  212. int jc = jc(8);
  213. System.out.println(jc);
  214. }
  215. }