二.Java中的基本语法

1.标识符
  给属性,类,方法起的名字,第一位不可以是数字,不可以是关键字,以_$字母开头

2.八个基本数据类型:byte  short  int  long  char  float  double  boolean

  整型数的默认类型int
  浮点数的默认类型double

  int a=10;
  a++;true
  a=a+1;true
  a+=1;true

  short a=1;
  a++;true
  a=a+1;flase
  a+=1;true

  byte 同short
  long , float ,double同int

  float a=10.5报错 而 float a=10.5f正确

  double型数据有误区存在

3.System.out.println(student instanceof Object);//true

4.双目运算符
  (boolean)?'a':97有一个本宝宝没测过的实例,如下
  当一个类型为char,另一个为整型数时,输出ASCII码对应的值(如果没有值对应,输出一个?)
  当超出ASCII码的范围时输出它本身

5.Java显式初始化
  java中类的显示初始化会在首次被“主动使用”时执行初始化,为类(静态)变量赋予正确的初始值。
  在Java代码中,一个正确的初始值是通过类变量初始化语句或者静态初始化块给出的。而我们这里所说的主动使用 包括:
    1. 创建类的实例
    2. 调用类的静态方法
    3. 使用类的非常量静态字段
    4. 调用Java API中的某些反射方法
    5. 初始化某个类的子类
    6. 含有main()方法的类启动时
  初始化一个类包括两个步骤:
    1、 如果类存在直接父类的话,且直接父类还没有被初始化,则先初始化其直接父类
    2、 如果类存在一个初始化方法,就执行此方法
  注:初始化接口并不需要初始化它的父接口。

6.java中的变量与常量赋值:就近原则!!!

全局变量不一定初始化赋值(如果不显示初始化,则会在类加载时,引用变量会初始化为null,基本类型变量会初始化为0(布尔类型false))
局部变量可以不初始化赋值,但是如果在函数中用到,就一定要初始化赋值

java中的常量赋值:构造器,声明时,静态代码块!public final
java中静态常量赋值:声明时,静态代码块!public final static

7.Java中就近原则的体现

class Student {
    int a = 20;
    void test(int a) {
        a = 10;
    }
    void print() {
        System.out.println(a);
        test(a);
        System.out.println(a);
    }
}
class Student_0 {
    Student student = new Student();
    void Test(Student student) {
        student = new Student();
    }
    void print() {
        System.out.println(student.hashCode());
        Test(student);
        System.out.println(student.hashCode());
    }
}
public class Test2 {
    public static void main(String[] args) {
        new Student().print();
        new Student_0().print();
    }
}

8.this与super的用法
  This(表示当前类即将创造出的对象)
    1.访问当前类中的属性
    2.访问当前类中的方法
    3.访问当前类中的构造器
  Super(表示父类对象)
    1.访问父类中的属性
    2.访问父类中的方法
    3.访问父类中的构造器
  super.super.super.a//语法错误
9.Java中的数组类型
  数组有属性:length(String中有一个方法很象:length())
  数组是一个对象System.out.println(str instanceof Object);
  普通对象:都是先编写好的一个类,然后创建对象例如String中的的代码在运行之前就存在,原码在src.zip,字节码在rt.jar中
  数组对象:在运行的时候,JVM临时动态生成的数组对象

    String [] objects= {"1","0"};
    Object[] objects2= {"0","1"};
    objects=(String[]) objects2;
    System.out.println(Arrays.toString(objects));//false

  Arrays类是数组的一个工具类

    Arrays.soft(Object[])数组排序

    Arrays.copyOf(Object[] , int newlength)复制数组,常用于数组扩容

    Arrays.equals()比较两个数组是否相等

原文地址:https://www.cnblogs.com/Magic-Li/p/12786637.html