首页 > 代码库 > Java学习笔记(03)

Java学习笔记(03)

一.回顾运算符:

一.控制语句

1.1 顺序结构 (最常见的)

特点:代码从上往下依次执行

技术分享

 

 

1.2 选择结构 :

<1.if 判断语句 :

格式一

/*
1.if(判断条件){
2.    如果符合条件执行的代码;
3.    执行的代码块1;
4.    执行的代码块2;
5.    ……………….;
6.    执行的代码块n;
7.}
*/

技术分享

 

格式二

/*
if(判断条件){
      如果符合条件执行的代码;
      执行的代码块1;
   } else{
      执行的代码块2;
}
*/

技术分享

 

 

格式三

/*
if(外部的条件成立) {
    执行代码块1
    if(内部的条件成立){
        执行代码块2
    }
}
*/

 

<2.switch语句

switch 判断语句:

Switch语句使用的注意事项:

1.每一个语句结束后需要有一个break,防止switch的穿透

2.switch语句中用于判断的额变量只能是int ,short,char,byte String(jdk7之后才有)

Case后面跟的数据必须是常量。

switch语句的优点 :语句结构清晰,运行速率快。

switch语句的缺点:

If能过做的switch不一定能做,switch能够做的if一定可以实现

 

 

1.3循环结构

/*
<1.while语句
While循环 : 先判断在执行
结构:
while(循环条件){
循环体。
}
*/

 

 

<2.do while语句

/*
do while循环:先执行后判断,循环体一定会执行一次.
结构:
do{
循环体;
}while(循环条件); 
*/

 

 

<3.for语句

/*
for循环:
  结构:
  for(;;){
     死循环
  }
}
*/

 

 

 

二、数组

//定义一个int类型的数组
        //数组的长度可以指定也可以不是定
        int[] arr = new int[10];
        //数组中添加元素
        arr[0] = 1;
        arr[1] = 2;
        //如果元素没有被赋值 默认以0来填充。

 

//-------------数组的初始化方式-------------
        //1.静态初始化 : 这个值给多少就是多少,不能过改变
            int[] arr1 = {1,2,3,4,5,6};
        //2.动态初始化 : 不可变的数组  可变数组--->集合  ArrayList
            int[] arr = new int[10];
        //定义一个字符串数组
        //默认为:null
            String[] strArr = new String[10];
//遍历数组
        for(int i = 0 ; i <arr.length ;i++){
            System.out.println(arr[i]);
        }

 

 

三、数组的内存分析

1、数组的内存管理

用一块连续的空间来存储元素。

 

基本原理:

//创建一个int类型的数组
        //arr : 是一个变量  只是数组的一个引用地址
        //局部变量存在栈中
        //成员变量 -- 属性  --- > 对堆区中
        //静态变量  --- >  共享区域
        int[] arr = new int[2];
        arr[1] = 10;

 

 技术分享

 

 技术分享

 

 

技术分享

 

2、数组的使用工具:Arrays

     常用来查找元素和排序

int[] arr = {1,2,4,5};
int num = 3;    //查找数组中是否有某一个数
int result = Arrays.binarySearch(arr,num);//对应索引位置
Arrays.sort(arr);  //用Arrays排序
for (int i = 0;i < arr1.length ;i++ )  {
            System.out.println(arr[i]);
}

 

 

3、二维数组

java中数组一样存在多维 : 二维数组 ,三维数组,....

<1.二维数组的定义

 数据类型[][] 数组名 = new 数据类型[][];

动态初始化:

                 数据类型[][] 数组名 = new 数据类型[][];

                 注意 :前面中括号中数值指的是二维数组元素个数后面一个是指二维数组中一维数组的元素个数

静态初始化:

                 数据类型[][] 数组名称 = {{元素1,..},{元素1,..},{元素1,..}};

 

//二维数组中的元素一定是一维数组。
            int[][] arr = new int[3][4];
            arr[0][0] = 1;
            int[][] arr1 = {{1,2,3},{2,3},{1,4}};
            int num = arr1[2][1];  // 4
            //想要接收二维数组中的元素 : 需要用一个一维数组来接收。
            int[] arr2 = new int[];
            arr2 = new int[3];  // 定义了一个二维数组 ,数组中的元素维3.
//初始化数组int arr3[] = {};  不推荐这样写

 

 

<2.总结:数组的特点-->

1.数组中只能存同一种数据类型的数据。

2.数组他会给存入的元素默认分配一个索引值 ,索引从0开始。

3.数组一旦初始化,长度就固定了。

4.数组中元素的内存地址是连续的

 

2、对象

1、对象

 万物皆对象,是真实存在的唯一的事物

面向对象:处理程序的过程

面向对象的核心 : 找到合适的对象做合适事情

语法:

//通过自定义的类来创建一个对象

                            格式:

                                  类名  对象名(变量名) = new 类名();

 技术分享

 

 

2、类

类是模子,用来描述对象的属性(特征)和方法(行为)

Java程序的实现都是以class类名为组织单元

定义类:类名à 类的属性à 类的方法

语法:

类的定义格式 :

                       class 类名 {

                       属性(成员变量) : 描述事物的公共的特点。

                       方法 : 描述事物的行为 (做什么事情)

                       }

 

3、属性

对象自身 的各种特征 是抽象的、客观存在的

 

//属性 格式 : 数据类型 变量名
     String color;
     String name;
     int num;

 

4、方法

对象执行的操作/行为

语法:

修饰符  返回值类型  方法名  (参数列表){具体的实现}

                      public  : 公开的方法 , 任何人都可以访问

                      private : 私有的,只能自己访问。

public void run(){
        System.out.println("司机开车了,请系好安全带");
};

 

 

5、成员变量和局部变量

1.成员变量和局部变量额区别:

<1定义的位置 :

                 1.定义在类中,方法外。

                 2.局部变量是定义在方法中。

<2.作用上:

                 1.成员变量是用来描述同一类事物(对象)的公共属性。

                 2.局部变量就是提供一个变量给方法使用

 

成员变量 : 作用范围是整个类中 ,如果需要在当前类中使    

用成员变量,直接拿到变量名就可以使用

 

//方法
    public void eat(){ //在括号里定义的参数也是局部变量
        int age; //局部变量
        age = 20;
        System.out.println(name +"在吃饭,今年刚满:"+age);
    }

 

<3.生命周期 :

                 1.成员变量随着对象的创建而创建,随着对象的消失而消失。

                 2.局部变量随着方法调用而创建,出了方法的作用域就消失。

 

<4.初始值来区分:

                 1.成员变量,如果你没有赋值,它是有默认值的。

                      int   默认是0

                      float 默认是0.0f

                      double  默认是 0.0

                      boolean 默认 false

                      char    默认 ‘ ‘

                      String (引用类型)null;

 

 

2.局部变量:

                      局部变量是没有初始值的,必须初始化才能使用

           成员变量在当前类中是可以直接通过变量名来使用,如果变量需要在其他类中使用,就需要创建对象(目前是这个样子的)

 

 

 

Java学习笔记(03)