-
数据类型:
基本类型:byte 1、short 2、int 4、long 8、float 4、double 8、char 2、boolean 1(后面是字节数)
引用类型:数组、类、接口、Lambda(除基本以外的) -
字符串:用String定义;支持用运算符”+“进行拼接。
-
引用类型的使用规则:
导包:import 包路径名–>创建:数据类型 变量名称 = 数据类型();–>使用:变量名称.方法名();
-
数据输入:
Scanner使用的基本步骤:
-
导包
import java,util.Scanner; //导包的动作必须出现在类class定义的上边
-
创建对象
Scanner sc = new Scanner(System.in); //上面这个格式里面,只有sc是变量名可以变,其他都不允许变
-
接收数据
int i = sc.nextInt(); //上面这个格式里面,只有i是变量名可以变,其他都不允许变
-
-
数组:定义+初始化
//初始化的两种方式 //动态初始化:指定数组长度 数据类型[] 数组名称 = new 数据类型[数组长度]; //静态初始化:指定数组内容 数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,...};//也可分成两步 //简便格式:数据类型[] 数组名称 = {元素1,元素2,...};
//访问数组 System.out.println(array); //直接打印数组名称,输出16进制的地址值的哈希值 System.out.println(array[0]); //打印第0号元素 //获取数组长度 System.out.println(array.length);
-
Java内存分配
1.栈(Stack):主要用来存放局部变量。2.堆(Heap):凡是new出来的东西,都在堆当中。堆当中的数据有默认值规则:
a)如果是整数,默认是0;
b)如果是浮点数,默认是0.0;
c)如果是字符,默认是’\u0000’ (Unicode 写法);
d)如果是布尔值,默认为false ;
e)如果是引用类型(包含字符串)默认为null(空常量)。3.方法区(Method Area)︰存放与class相关的信息。
4.本地方法区(Native Method Area):与 *** 作系统相关。
5.寄存器(pc Register): 与CPU相关,性能极高。
-
Java中的方法(Method)即其他语言中的函数(Function):
//定义一个方法的格式: 修饰符 返回值类型 方法名称(参数类型 参数名称){ //修饰符:目前为public static 方法体 return 返回值; //返回值只能有0个或1个 }
-
方法的重载(Overload)技术:对于类似功能的多个方法,只要记住一个相同的方法名即可。可以根据参数列表的不同自动适配。方法的名称相同,但参数列表不同。
参数列表相同的情况下,方法名称不同相同(即要重载的方法名称相同)
e.g. ... { System.out.println(sum(10,20)); } public static int sum(int a, int b){ System.out.println("有2个int参数的方法执行! "); return a + b; } public static int sum(int a, int b, int c){ System.out.println("有3个int参数的方法执行! "); return a + b + c; } public static int sum(int a, int b, int c, int d) { System.out.println("有4个int参数的方法执行!"); return a + b + c + d; }
参数列表不同:参数的个数不同 或 参数的类型不同 或 参数的多类型顺序不同。
重载与返回值类型无关,与参数的名称无关。
-
参数传递的过程中,有两项规则:
对于基本数据类型(以及String)来说,形式参数的 *** 作【不会】影响实际参数
对于引用数据类型(除了String)来说,形式参数的 *** 作【会】影响实际参数。
-
类与对象的关系:
属性:事物的特征描述信息,“是什么”。
行为:事物的能功行动方案,“能做什么”。
面向对象的语言当中,"类"就是用来模拟现实事物的。类中也有属性、行为两个组成部分,而“对象"是类的具体实例。
例如:类∶抽象的,是一张"手机设计图";对象:具体的,是一个“真正的手机"。"
-
类的定义:
类是用来模拟现实事物的代码手段,事物分成属性、行为两个部分,类当中也对应地包含两个部分:
1.成员变量(属性):将变量位置直接定义在类中,在方法外,即为成员变量。
2.成员方法(行为):将普通的方法去掉static关键字,即为成员方法。
-
一个类通常情况下无法直接使用,类似于手机设计图不能直接打电话。如果要想使用这个类,通常都需要根据类创建一个真正的对象来使用。类似于根据设计图来创造一个真正的手机才能用。
//根据类创建对象的格式: 类名称 对象名 = new 类名称(); //使用对象当中的成员变量格式: 对象名.成员变量名 //使用对象当中的成员方法格式: 对象名.成员方法名(参数);//若无参数则为空
-
private关键字用法:
在成员变量定义前加private,外部使用这个类时就不能改变该成员变量的值;可以间接访问:
为这个成员变量编写Setter(
pubilc void setAge(int num){}
)和Getter(public int getAge(){}
)方法。(专门定义了一个成员方法来设置或获取成员变量的数据)privat可以对成员变量的值进行限制,保持其在固定取值范围内。
-
this关键字用法:
当局部变量和成员变量重名的时候,方法当中会根据就近原则使用局部变量。如果希望区分一下,就需要使用格式:
this.成员变量名
this关键字的经典作用:将重名的成员变量和局部变量区分开,只在成员变量前加this
通过谁调用的方法,谁就是this
-
构造方法(Constructor)
构造方法就是就专门用来创建对象的方法。当通过new关键字创建对象时,其实就是在调用构造方法。
//定义一个构造方法的格式: public 构造方法名 (参数类型 参数名称){ 方法体 //return; //通常最后一行return省略不写 } ```
调用构造方法的格式就是创建对象的格式:
new 类名称()
注意:
1、构造方法不能写返回值类型,连void都不能写。2、构造方法的名称必须和所在的类名称完全一样,连大小写也要一样。
3、构造方法也是可以进行重载(Overload):
4、构造方法如果没有自定义,那么将会默认赠送一个。如果自定义了至少一个,那么就不再赠送默认的。
-
定义一个“标准的类”:
1、所有的成员变量都雾要使用private关键字私有化。2、为每一个成员变量编写一对儿Getter Setter方法。
3、编写一个无参数的构造方法。
4、编写一个全参数的构造方法。
POJO:Plain Old Java object标准××类
e.g. public class Student { //成员变量 private String name; private int age; //无参数的构造方法 public Student() { } //有参数的构造方法 public Student(String name, int age) { this.name = name; this.age = age; } //成员方法 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println(name + "," + age); } } /* 创建对象并为其成员变量赋值的两种方式 1:无参构造方法创建对象后使用setXxx()赋值 2:使用带参构造方法直接创建带有属性值的对象 */ public class StudentDemo { public static void main(String[] args) { //无参构造方法创建对象后使用setXxx()赋值 Student s1 = new Student(); s1.setName("林青霞"); s1.setAge(30); s1.show(); //使用带参构造方法直接创建带有属性值的对象 Student s2 = new Student("林青霞",30); s2.show(); } }
对于所有的数据类型,Getter都必须叫getXxx,Setter都必须叫setXxx,但是有一个特例:如果是基本数据类型当中的boolean值,那么setXxx规则不变,而getXxx需要写成isXxx的形式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)