Java基础知识(下)

来源:互联网 发布:你好旧时光 知乎 编辑:程序博客网 时间:2024/06/11 02:41
Java基础知识(下)

1、循环

        1、什么时候使用

               如果我们发现有很多重复内容的时候就要使用循环

        2、好处

               让我们的代码看起来更简洁了

          3、循环的组成

               1 初始化条件:一般定义的是一个初始变量

               2 判断条件:控制循环结束

               3 语句体:就是要做的事情

               4 控制条件:我们一般都是++/--

        4、循环的分类

               1、for循环

                         1、 格式

                                     for(初始化条件;判断条件;控制条件){

                                           语句体;

                                     }

                         2、 执行流程

                                     A:先执行初始化表达式。

                                      B:执行判断条件。

                                      C:根据判断条件的返回值

                                               如果true,执行循环体。

                                               如果false,for循环结束。

                                      D:执行控制条件,接着返回B
                         3、初始化条件只执行一次,判断条件比控制条件肯定多执行一次

               2、while循环

                           1、 格式

                                     初始化条件;

                                     while(判断条件){

                                           语句体;

                                           控制条件;

                                     }

                            2、 执行流程

                                     A:先执行初始化表达式。

                                      B:执行判断条件。

                                      C:根据判断条件的返回值

                                               如果true,执行循环体。

                                               如果false,for循环结束。

                                      D:执行控制条件,接着返回B
                            3、与for循环区别
                                   1、如果for循环的初始化条件定义到for循环里,在for循环执行完以后不能使用,比如 for(int i=0;;){ }//当循环执行完以后i变量不可使用
                                        而while循环肯定是可以使用的
                                        那什么情况下for循环的初始化条件在执行完毕后还可以使用?
                                             int num =0 ;
                                             for(; num<10; num++){}                       
                                   2、如果循环次数明确,用for
                                        如果循环次数不明确,用while

               3、do..while循环

                            1、 格式

                                        do{

                                             语句体;

                                             控制条件;

                                        }while(判断条件);

                             2、执行流程

                                        A 先执行语句体和控制条件

                                        B 执行判断条件

                                        C 根据返回值        

                                                 如果是true,继续执行循环体和控制条件

                                                 如果是false,就结束循环
                              3、与while循环的区别
                                   do..while循环至少执行一次,而while循环可能一次都不执行

         5、注意

                   for循环和while循环是可以等价的

                   do…while循环至少执行一次循环体

         6、嵌套循环
                    嵌套语句:语句中包含语句

                    关键是你要谁控制行,谁控制列

                    外循环控制行,内循环控制列
                    
                         //外循环控制行
                         for(int i=0; i<10; i++)
     {
         //内循环控制列
          for(int j=0; j<=8; j++)
          {
               System.out.print();
          }

          System.out.println();

     }
          7、转义字符
               \n:换行
               \t:一个tab键的位置
               \":双引号
               \':单引号
               \\:斜杠

2、循环终止

    break continue

    break:结束当前循环,循环不在继续

    continue:结束本次循环,循环进入下一次
     开发过程中如果要使用break或者continue,一般在前面我们都要加一个判断
     break 和continue后面不能写语句,一般配合if语句使用

3、函数
1、格式
     修饰符      返回类型     函数名(参数类型     形式参数...){
     函数体;
     return 返回值;
     }
     解释:A、修饰符:public static
               B、返回值类型:就是数据类型
               C、函数名:见名知意,如果一个单词,首字母小写,如果多个单词组成,从第二个单词开始首字母大写
               D、参数类型:数据类型
               E、形式参数:接受实际参数的变量
               F、实际参数:就是实际参与运算的变量
               G、函数体:实现功能的代码
               H、返回值:函数的结果,如果没有明确返回值可以不写
               I 、return返回值:哪里调用程序,return就把结果返回到哪里,比如int num=max(1,2);return把结果返回给num
2、特点
               A函数和函数时平级关系,且只能定义在类中,不能在函数中嵌套函数
               B函数只有被调用才会执行
3、注意
               无论函数的返回值是具体的数据类型还是void,函数都是以return语句结束的
4、函数的调用
               A有明确返回值函数的调用
                    单独调用//没有意义
                    输出调用//视频中老师用得最多
                    赋值调用//开发中用的最多的
               B没有明确返回值函数的调用
                    单独调用
5、函数的重载-overload
          概念:
               函数名相同,参数列表不同(参数类型和个数),与返回值类型无关
          举例:
               public static void print(intx,int y);
               public static void print(int a,int b,int c);
               public static void print(double a);
               public static void print(int a);
4、数组
 1.概念
               数组是存储多个同一类型的数据元素的容器(container)
2、好处
               数组中的元素会被自动从0开始编号,方便我们获取
3、格式
          A、int[] arr=new int[2];//念法:int类型的数组arr
          B、int arr[]=new int[2];//念法:int类型的arr数组,不推荐这么写,他和第一种格式其实一样的
          C、int[] arr=new int[]{1,2,3,7},//大括号内可以没有任何东西
          D、int[] arr={3,4,65,4};//大括号内可以没有任何东西
          推荐使用AD,如果是给方法直接传递实际参数可以用c
          获取数组的长度:变量名.length;
4、存储文职及默认值
          堆:所有new出来的东西都在堆里
          1、每一个实体都有地址值
          2、每一个实体内的内容都有默认值
               整数:0
               浮点数:0.0
               字符:'\u0000',//char c='\u0000';
               布尔:false
5、数组操作
          1、数组遍历
          2、获取数组最值
          3、数组查找:给定一个值,查找该值在数组中对应的索引
6、常见问题
          A数组越界异常:ArrayIndexOutOfBoundsException
                你访问了不存在的索引
          B空指针异常:NullPointerException
               一个实例(对象)已经不存在了,你还去访问它的内容
7、二维数组(格式)
                   第一种定义通过定义长度的方式定义了二维数组的长度,并且定义了一维数组的长度int[] []arr=new int[6][3]
                    第二种定义通过长度仅定义了二维数组的长度,没有初始化一维数组int[][] arr=new int[2][]
                      第三种定义通过直接给出元素定义了二维数组的长度和每一个一维数组的长度int[][] arr={{2,23},{33}}
5、JAVA中的参数传递问题

     基本类型:形式参数的改变对实际参数没有影响

     引用类型:形式参数的改变直接影响实际参数

代码:
int a = 1;
change(a);//chXange方法中改变a的值,执行完该方法后,a的值还是1
int[] arr = {1,2};
change(arr);//change方法中改变arr指向的对象的内容,执行完该方法后,arr指向的对象中的内容被改变了

0 0
原创粉丝点击