|
@@ -0,0 +1,237 @@
|
|
|
+package com.sf.day03;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import java.util.Arrays;
|
|
|
+
|
|
|
+/**
|
|
|
+ * day03 while
|
|
|
+ */
|
|
|
+public class T {
|
|
|
+ /**
|
|
|
+ * while循环的语法结构:
|
|
|
+ * while(循环条件){ true 永真循环 死循环
|
|
|
+ * //循环体
|
|
|
+ * }
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t1(){
|
|
|
+ //利用while循环计算1-100的和
|
|
|
+ int i = 1;
|
|
|
+ int sum = 0;
|
|
|
+ while (i<=100){
|
|
|
+ sum += i;
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ System.out.println("总和 = "+sum);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * do while
|
|
|
+ * do{
|
|
|
+ *
|
|
|
+ * }while();
|
|
|
+ *
|
|
|
+ * do while 无论条件是否满足 都先执行一次
|
|
|
+ * while 先判断条件是否满足
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t2(){
|
|
|
+ //用 do while循环写一下1-100的和
|
|
|
+ int i = 1;
|
|
|
+ int sum = 0;
|
|
|
+ do {
|
|
|
+ sum += i;
|
|
|
+ i++;
|
|
|
+ }while (i <=100);
|
|
|
+ System.out.println(sum);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 9*9乘法表
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t3(){
|
|
|
+ for (int i = 1;i<=9;i++){
|
|
|
+ for (int j = 1;j<=i;j++){
|
|
|
+ System.out.print(i+"*"+j+"="+i*j+"\t");
|
|
|
+ }
|
|
|
+ System.out.println();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * //1—100之间的所有质数
|
|
|
+ * (质数是只能被1和他本身整除的数称为质数,1既不是质数也不是合数)
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t4(){
|
|
|
+ for (int i = 2;i<=100;i++){
|
|
|
+ boolean flag = true;
|
|
|
+ for (int j = 2;j<i;j++){
|
|
|
+ if(i%j == 0){
|
|
|
+ flag = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(flag){
|
|
|
+ System.out.println(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印5行直角三角形
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t5(){
|
|
|
+ for(int i = 1;i<=5;i++){
|
|
|
+ for (int j = 1;j<=i;j++){
|
|
|
+ System.out.print("*");
|
|
|
+ }
|
|
|
+ System.out.println();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将一天的时间打印到当前控制台上
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t6(){
|
|
|
+ for(int hour = 0;hour<24;hour++){
|
|
|
+ for(int min = 0;min<60;min++){
|
|
|
+ for(int s = 0;s<60;s++){
|
|
|
+ System.out.println(hour+"时"+min+"分"+s+"秒");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void t7(){
|
|
|
+ /**
|
|
|
+ * 生成 1-100 之间的随机数,直到生成了 97 这个数,看看一共用了几次?
|
|
|
+ */
|
|
|
+ int count = 0;//记录次数
|
|
|
+ while (true){
|
|
|
+ int random = (int) (Math.random()*100)+1;
|
|
|
+ count++;
|
|
|
+ if(random == 97){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println(count);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 方法:也称之为函数
|
|
|
+ * 方法的语法结构:权限修饰符 【其他修饰符】 方法的返回值类型 方法名(参数) throws异常{
|
|
|
+ * //方法体
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ * 权限修饰符;public
|
|
|
+ * 其他修饰符:static 静态的 静态方法
|
|
|
+ * 方法的返回值类型:有/无 int string 对象 数组 集合 .... 无 void
|
|
|
+ * 方法名 :标识符 创建规则:见名知意
|
|
|
+ * 参数:入参 出参 语法结构 数据类型 参数名 , ....
|
|
|
+ * 入参:形参和实参 : 形参? 形式参数 get(int a);
|
|
|
+ * 实参:实际参数 我们在调用方法时传过来的参数
|
|
|
+ * //代码体: 有返回值 return 返回值
|
|
|
+ * void return; 可以 在java不建议
|
|
|
+ * C: int main(){
|
|
|
+ * return 1;
|
|
|
+ * }
|
|
|
+ * 注意点:方法不能单独存在 必须在类中 main函数 自定义的方法 并行
|
|
|
+ * 在同个类中 方法名不能相同
|
|
|
+ *
|
|
|
+ * static:静态方法 : 调用 在同类 不同类
|
|
|
+ *
|
|
|
+ * 重载方法: 在一个类中,方法名相同 参数列表不同(参数个数不同 参数数据类型不同 顺序)) (权限修饰符 返回值类型)X
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void t8(){
|
|
|
+ // 实例方法可以调用实例方法、静态方法
|
|
|
+ insert();
|
|
|
+ insert("admin");
|
|
|
+ update();
|
|
|
+ }
|
|
|
+
|
|
|
+ //主函数
|
|
|
+ public static void main(String[] args) {
|
|
|
+// insert();
|
|
|
+ // 静态方法必须调用静态
|
|
|
+ update();
|
|
|
+ String[] studentsInfos = getStudentsInfos();
|
|
|
+ System.out.println(Arrays.toString(studentsInfos));
|
|
|
+ int studentIndex = 1;
|
|
|
+ String student= getStudentInfosByIndex(studentIndex);
|
|
|
+ System.out.println(student);
|
|
|
+ char aChar = getChar();
|
|
|
+ System.out.println(aChar);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //自定义个一个方法
|
|
|
+ public void insert(){
|
|
|
+ System.out.println("信息插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void insert(String name){
|
|
|
+ System.out.println("信息插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void insert(int age,String name){
|
|
|
+ System.out.println("信息插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void insert(String name,int age){
|
|
|
+ System.out.println("信息插入");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public static void update(){
|
|
|
+ System.out.println("update");
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String[] getStudentsInfos(){
|
|
|
+ String[] str = new String[]{"zs","ls","ww"};
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getStudentInfosByIndex(int index){
|
|
|
+ String[] str = new String[]{"zs","ls","ww"};
|
|
|
+ return str[index];
|
|
|
+ }
|
|
|
+
|
|
|
+ public int sum(int ... args){
|
|
|
+ int sum1 = 0;
|
|
|
+ for (int i = 1;i<args.length;i++){
|
|
|
+ sum1 += args[i];
|
|
|
+ }
|
|
|
+ return sum1;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * //设计一个方法可以返回A-Z之间的随机字符。 [65 90]
|
|
|
+ * public char getChar() {
|
|
|
+ * }
|
|
|
+ */
|
|
|
+ public static char getChar() {
|
|
|
+ return (char) ((Math.random()*26)+65);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计算n 的阶乘
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int jc(int n){
|
|
|
+ if(n == 1){
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ return n * jc(n-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void t10(){
|
|
|
+ int jc = jc(8);
|
|
|
+ System.out.println(jc);
|
|
|
+ }
|
|
|
+}
|