• java 基础


    关于标识符

    标识符:指程序中,我们自己定义的内容,比如类的名字、方法名字和变量的名字等。

    命令规则:硬性要求

    • 可以包含英文字母(区分大小写)、0-9数字、$和_
    • 不能以数字开头
    • 不能是关键字

    命令规范 软性建议

    • 类名规范:首字母大写,后面每个单词首写字母大写
    • 变量名规范:首字母小写,后面每个单词首字母大写
    • 方法名规范:桶变量名

    方法重载:

    • 参数个数不同
    • 参数类型不同
    • 参数的类型顺序不同

     数组

    标准格式:
    数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,...};
    省略格式:
    数据类型[] 数组名称 = {元素1,元素2,...};

     1 /*
     2 使用静态初始化数组的时候,格式还可以省略一下,
     3 标准格式:
     4 数据类型[] 数组名称=new 数据类型[]{元素1,元素2.。。};
     5 
     6 省略格式:
     7 数据类型[] 数组名称={元素1,元素2.。。};
     8 
     9 注意事项:
    10 1、静态初始化没有直接指定长度,但是仍然会自动推算得到长度。
    11 2、静态初始化标准格式可以拆分成为两个步骤。
    12 3、动态初始化也可以拆分成为两个步骤。
    13 4、静态初始化一旦使用省略格式,就不能拆分成为两个步骤了。
    14 
    15 使用建议:
    16 如果不确定数组当中的具体内容,用动态初始化;否则,已经确定了具体的内容,用静态初始化。
    17 
    18 直接打印数组名称,得到的是数组对应的内存地址哈希值。
    19 访问数组的格式:数组名称[索引值]
    20 索引值:就是一个int数字,代表数组当中元素的编号。
    21 【注意】索引值从0开始,一直到“数组的长度-1”为止。
    22 
    23 使用动态初始化数组的时候,其中的元素将会自动填充值,规则如下:
    24 如果是整数类型,那么默认是0
    25 如果是浮点类型,默认是0.0
    26 如果是字符型,默认是'u0000'
    27 如果是布尔类型,默认是false
    28 如果是引用类型,默认是null
    29 
    30 注意事项:
    31 静态初始化其实也有默认值的过程,只不过系统马上将默认值替换成了大括号中的具体数值。
    32  */
    33 public class ArrayTest{
    34     public static void main(String[] args){
    35         //省略格式的静态初始化
    36         int[] arrayA = new int[] {5,6,7,8,29};
    37 
    38         //静态格式化的标准格式,可以拆分成两个步骤
    39         int[] arrayB;
    40         arrayB = new int[]{1,2,3};
    41 
    42         //动态初始化也可以拆分成两个步骤
    43         int[] arrayC;
    44         arrayC = new int[5];
    45 
    46         //静态初始化的省略格式,不能拆分成两个步骤
    47         // int[] arrayD;
    48         // arrayD = {1,2,3};
    49 
    50         System.out.println(arrayA);
    51 
    52 
    53         boolean[] array = new boolean[3];
    54         System.out.println(array[0]);
    55 
    56     }
    57 }

    一个数组 

    两个不同数组

     指向同一个数组

    一个对象

    两个对象使用同一个方法的地址

    两个对象指向相同地址

     对象类型作为方法的参数

     对象类型作为返回值

     1 /**
     2  * 局部变量和成员变量
     3  * 1、定义的位置不一样【重点】
     4  * 局部变量:在方法内部
     5  * 成员变量:在方法的外部,直接写在类当中
     6  * 
     7  * 2、作用范围不一样【重点】
     8  * 局部变量:只有方法当中才可以使用,出了方法就不能使用
     9  * 成员变量:整个类全都可以使用
    10  * 
    11  * 3、默认值不一样【重点】
    12  * 局部变量:没有默认值
    13  * 成员变量:有默认值
    14  * 
    15  * 4、内存的位置不一样
    16  * 局部变量:位于栈内存
    17  * 成员变量:位于堆内存
    18  * 
    19  * 5、生命周期不一样
    20  * 局部变量:随着方法进栈而诞生,随着方法出栈而消失
    21  * 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
    22  */
    23 public class VariableDiff{
    24     String name;//成员变量
    25 
    26     public void methodA(){
    27         int num = 20;//局部变量
    28         System.out.println(num);
    29         System.out.println(name);
    30     }
    31 
    32     public void methodB(int param){//方法的参数是局部变量
    33         //参数在方法调用的时候,必须会被赋值的
    34         System.out.println(param);
    35     }
    36 }

     封装:

     1 /**
     2  * 面向对象三大特征:封装、继承、多态
     3  * 
     4  * 封装性在java当中的体现:
     5  * 1、方法就是一种封装
     6  * 2、关键字private也是一种封装
     7  * 
     8  * 封装就是将一些细节信息隐藏起来,对于外界不可见
     9  */
    10 
    11  public class Method{
    12      public static void main(String[] args){
    13          int[] array = {1,2,35,3,9};
    14          int max = getMax(array);
    15          System.out.println(max);
    16      }
    17 
    18      public static int getMax(int[] array){
    19          int max = array[0];
    20          for (int i = 0; i < array.length; i++) {
    21              if(array[i] > max){
    22                  max = array[i];
    23              }
    24          }
    25          return max;
    26      }
    27  }
    View Code
     1 /**
     2  * 
     3  * 一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
     4  * 但是,超出了本类范围之外就不能再直接访问了。
     5  * 
     6  * 间接访问private成员变量,就是定义一对儿Getter/Setter方法
     7  * 
     8  * 必须叫setXxx或者getX命名规则。
     9  * 对于Getter来说,不能有参数,返回值类型和成员变量对应;
    10  * 对于Setter来说,不能有返回值,参数类型和成员变量对应。
    11  * 
    12  * 对于基本类型当中的boolean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。
    13  * 
    14  * 当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
    15  * 如果需要访问本类当中的成员变量,那么使用格式:this.成员变量
    16  */
    17 
    18  public class Person{
    19      String name;//姓名
    20      private int age;//年龄
    21      private boolean male;
    22 
    23      public void show(){
    24          System.out.println("姓名:"+name+",年龄:"+age);
    25      }
    26 
    27      //参数name是对方的名字
    28      //成员变量name是自己的名字
    29      public void sayHelo(String name){
    30          System.out.println(name + ",你好,我是" + this.name);
    31      }
    32      public void setAge(int num){
    33          if(num <= 100 && num >0){
    34              age = num;
    35          }else{
    36             System.out.println("数据不对");
    37          }
    38      }
    39 
    40      public int getAge(){
    41          return age;
    42      }
    43 
    44      public void setMale(boolean b){
    45          male = b;
    46      }
    47 
    48      public boolean isMale(){
    49          return male;
    50      }
    51  }
    一个标准的类通常由下面四个部分组成:
    1、所有的成员变量都要使用private关键字修饰
    2、为每一个成员变量编写一对Getter/Setter方法
    3、编写一个全无参数的构造方法
    4、编写一个全参数的构造方法
    这个标准的类就叫Java Bean

    Java jdk api中的Scanner使用
     1 import java.util.Scanner;
     2 /***
     3  * Scanner类的功能,可以实现键盘输入数据,到程序当中
     4  * 
     5  * 引用类型的一般步骤:
     6  * 
     7  * 1、导包
     8  * import 包路径.类名称;
     9  * 如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句。
    10  * 只有java.lang包下面的内容不需要导包,其他的包都需要import语句
    11  * 
    12  * 2、创建
    13  * 类名称 对象名 = new 类名称();
    14  * 
    15  * 3、使用
    16  * 对象名.成员方法名()
    17  */
    18 
    19  public class ScannerTest{
    20      public static void main(String[] args){
    21         Scanner sc = new Scanner(System.in);
    22 
    23         System.out.println("请输入一个数字:");
    24         int num = sc.nextInt();
    25         System.out.println("输入的int数字是:"+num);
    26 
    27         String str = sc.next();
    28         System.out.println("输入的字符是:" + str);
    29 
    30      }
    31  }

     匿名对象的使用:

     1 import java.util.Scanner;
     2 /**
     3  * 创建对象的标准格式:
     4  * 类名称 对象名 = new 类名称();
     5  * 
     6  * 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
     7  * new 类名称();
     8  */
     9 public class Anonymous{
    10     public static void main(String[] args){
    11         // //普通使用方式
    12         // Scanner sc = new Scanner(System.in);
    13         // int num = sc.nextInt();
    14 
    15         // System.out.println(num);
    16 
    17         // //匿名对象的方式
    18         // int num2 = new Scanner(System.in).nextInt();
    19         // System.out.println(num2);
    20 
    21 
    22         // //使用一般写法传入参数
    23         // Scanner sc = new Scanner(System.in);
    24         // methodParam(sc);
    25 
    26         // //使用匿名对象来进行传参
    27         // methodParam(new Scanner(System.in));
    28 
    29         Scanner sc = methodReturn();
    30         int num = sc.nextInt();
    31         System.out.println("输入的是:" + num);
    32     }
    33 
    34     public static void methodParam(Scanner sc){
    35         int num = sc.nextInt();
    36         System.out.println("输入的是:"+ num);
    37     }
    38 
    39     public static Scanner methodReturn(){
    40         return new Scanner(System.in);
    41     }
    42 }

     ArrayList基本使用

     1 /**
     2  * 数组的长度不可以改变。
     3  * 但是ArrayList集合的长度是可以随意变化的。
     4  * 
     5  * 对于ArrayList来说,有一个尖括号<E>代表泛型。
     6  * 泛型:也就是装在集合中的所有的元算全部是同一种类型。
     7  * 注意:泛型只能是引用类型,不能是基本类型。
     8  * 
     9  * 注意事项:
    10  * 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
    11  * 如果内容是空,得到的是空的中括号:[]
    12  * 
    13  * 如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”
    14  * 
    15  * 基本类型     包装类(引用类型包装类都位于java.lang包下)
    16  * byte         Byte
    17  * short        Short
    18  * int          Integer
    19  * long         Long
    20  * float        Float
    21  * double       Double
    22  * char         Character
    23  * boolean      Boolean
    24  * 
    25  * ArrayList的常用方法:
    26  * public boolean add(E e);向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
    27  * 备注:对于ArrayLit集合来说,add添加动作一定是成功的,所以返回值可用可不用
    28  * 但是对于其他集合的add,不一定成功
    29  * public E get(int index);从集合中获取元素,参数是索引编号,返回值是对应位置的元素。
    30  * public E remove(int index);从集合中删除元素,参数是索引编号,返回值是被删除的元素。
    31  * public int size();获取集合的尺寸长度,返回值是集合中包含的元素个数。
    32  */
    33 import java.util.ArrayList;
    34 public class DemoArrayList{
    35     public static void main(String[] args){
    36         //创建一个ArrayList集合
    37         //备注:从JDK1.7+开始,右侧的尖括号可以不写内容,但是,尖括号不能省略
    38 
    39         ArrayList<String> list = new ArrayList<>();
    40         //System.out.println(list);
    41 
    42         //向集合中添加数据
    43         list.add("张");
    44         list.add("我");
    45         System.out.println(list);
    46 
    47         list.add("一");
    48         String val = list.get(2);
    49         System.out.println(val);
    50 
    51         //从集合中删除
    52         String rm = list.remove(2);
    53         System.out.println(rm);
    54 
    55         System.out.println(list);
    56 
    57         int size = list.size();
    58         System.out.println(size);
    59     }
    60 }


  • 相关阅读:
    [转] MathType的灵活运用
    [zz] 模式识别,计算机视觉领域,期刊
    SQL语句 合并列值 将一列的多个值合并成一行
    目标板识别为U盘
    android 事件传递机制
    linux有关文件权限的命令
    linux中的jiffies变量
    分析Android 根文件系统启动过程(init守护进程分析)
    2010年暂订读书目录
    Android Power Management
  • 原文地址:https://www.cnblogs.com/mantishell/p/11367682.html
Copyright © 2020-2023  润新知