、、、、、、在学习过程中再补充修改、、、、、

打印

System.out.print()
如果是println就是输出后换行

注释

三种方法,前两种与C语言一样(单行和多行注释),第三种是Java特有文档注释,文档注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式(html)体现的该程序的说明文档
文档注释使用方法:
相比于多行注释,在第一个斜杠后有两个星号,就这样

引用数据类型

类(string在类里面)、接口、数组

整型变量的声明

声明long型变量,必须要以“l”或“L”型结尾,如long a=342412342134123L,否则会自动将该变量变为int型,然后报出“整数太大”的提示

浮点型变量的声明

声明float型变量必须要以“F”和“f”结尾,否则报错
double型就不要写

bool类型

Java中只有true和false,没有非0等于true和0等于false,输入输出都只能是true和false

位运算

与C类似,但是还是那句话,只有true与false,不能用0和1了,比如只能while(true)

进制转换

二进制 用0b或0B开头 0b11
八进制 用0开头 06
十六进制 用0x或0X开头 如0x21AF

Scanner类

要从键盘输出,需要用Scanner类,实现步骤:
导包:import java.util.Scanner;
这玩意要写在class的外面
输入的格式是

Scanner a=new Scanner(System.in);//a就是一个接收输入的变量
 int age;
 age=a.nextInt();
 String name;
 name=a.next();


各种数据类型的都不一样的
这个东西要多看API
Scanner里面没有char,用string就行
但真要整个char的话,可以

String s=scan.next();
 char ch=scan.charAt(index);//index为该字符在字符串中的位置(下标)

数组

数组也是引用数据类型
用 type[ ] 变量名来声明一个数组

动态初始化和静态初始化

动态是指定长度,静态是指定内容
动态:int[] array=new int[300];
静态:int[] array==new int[]{5,10,15};//长度会根据内部元素个数再给出

静态初始化可以省略格式,如:
int[] array={5,15,20};

只要用new出来的数组,都可以拆分,如
动态:int []array;
array=new int [5];
静态:int []array;
array=new int []{5,10,15};
但是静态的省略格式不能这样拆分

数组的调用和赋值与C相同,都是下标,从0开始

获取数组的长度

数组名.length;

在程序运行期间,数组长度不可改变

但是int []array=new int[5];
array=new int[10];是可以的
因为array仅仅是个地址的引用,指向的内容可以变
实际上此时array的地址已经变了,换了一个有连续十个内存空间的区域的首地址

Arrays工具类

java poi不固定列_编程语言

boolean类型的初始化值

是false而非0

引用类型的初始化值

为null

方法

方法的明明规则与变量一样,使用小驼峰
固定写法:

public static void name(){
 }


方法的调用同函数
Java的方法也可重载

IDEA

IDEA中新建代码在src中新建,用"."可以将两个名字隔开,创建两个文件夹的嵌套

IDEA中写public static void main可以只输入psvm或者psv或者main然后回车,就会出来

写System.out.println可以只输入sout

IDEA自动进行编译和保存,不需要随时按ctrl+s

红色的部分是有错误的东西 光标放在上面按Alt+回车会出现修改建议

java poi不固定列_java poi不固定列_02

Java内存分配

java poi不固定列_java poi不固定列_03

创建数组中的内存分配

int[] array=new int[3];

此时在栈区中开辟了一个内存空间存放array数组的首地址,然后在堆区中开辟3个内存空间存放数组元素,将第一个内存空间的地址赋给array

java poi不固定列_java_04

shift+f6

选择当前光标所在元素当前行即以下的所有同名元素
地址的赋值
如int[] array_a=new int [6];
int []array_b=array_a;
这样子array_a和array_b就是同一个地址,动array_b相当于动了array_a数组

空指针

没有new的数组就是个空指针,会有NullPointerException的报错

数组可以作为函数返回值,可以在函数中将多个结果存在数组里,在返回后在主函数里调用

可变个数形参的方法

即传入的参数个数可以是多个,在方法里面形参要写成
数据类型…变量名(那里是三个点)
实际上这里这个变量名就相当于一个数组首地址,可以像数组一样输出
但是这样的可变个数形参必须放在形参最右边
并且每个方法最多可声明一个可变形参
int…arr与int[] arr是一样的形参

面向对象

java poi不固定列_数组_05


用toString()方法,可以把数组变成[1,2,3,4,5]这样的样子,输出就行

定义类

public class stu{
 //成员变量(属性)
 //成员方法(行为)
 }

注意事项:

1、成员变量定义在类当中,在方法外面

2、成员方法不要写static

高内聚,低耦合

封装性的体现:权限修饰符

从小到大:private、缺省(default)//即什么权限都不写、protected、public

java poi不固定列_java poi不固定列_06

导包

通常情况下,一个类并不能直接使用,需根据类创建一个对象。导包,就是指出需要使用的类,在什么位置。
import 包名称.类名称(包名称就是你这个package的名称)

创建对象的格式

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

使用的方法

同结构体,"."

因为类也是引用数据类型,所以对象可以像数组一样相互等于,对象名就是指针一样

对象可以作为方法参数,也可作为返回值

局部变量定义在方法的内部,成员变量定义在方法的外部。直接写在类当中

局部变量没有默认值,成员变量有默认值

没有static的方法不可以直接调用,有static的可以

匿名对象

就是比起普通的new对象,不用一个东西去接收该对象的地址,只是纯粹的想调用一下里面的方法

private关键字

使该变量只能在本类(class)中访问,不能在别的类直接访问,但可以间接访问,如图

java poi不固定列_构造器_07


java poi不固定列_构造器_08


用private可以使不好的参数在传入时被阻止

在"code"的“generate”中可以找到getter and setter,右键也有

成员变量在类中相当于全局变量,他的值不需要传入成员函数就可以直接使用

this.变量名

当方法的局部变量和类的成员局部变量重名时,根据就近原则,优先使用局部变量(即传来的参数)
如果需要访问本类当中的成员变量,需要用this.变量名
this实际上也是个引用,如定义的类为A,new的对象为a,则在A中写的this在main方法中实际上就等于a,两个都是地址。this.member实际上就是a.member。
一般还是不写this的,只有有重名情况才写
如果在某个类里面要把自己作为一个对象,直接this
哪个对象调用该方法,则该方法里面的this就是该对象

构造器

构造方法是专门用来创建对象的方法,我们用new创建对象时其实就是在调用构造器
new+构造器
格式:public 类名(参数类型 参数名称){
方法体
}
通过构造器可以从在new对象的时候传参数进去,创建的同时给属性初始化
注意事项
1、构造方法的名称必须与类名完全一样
2、构造方法不要写返回值类型,void也不用写
3、构造方法不能return一个具体的返回值
4、如果没有写构造方法,编译器会有一个无参、无行为的构造方法
5、构造方法可以写多个,可以重载

初始化顺序

java poi不固定列_编程语言_09

this调用构造器

如出现下图情况

java poi不固定列_构造器_10


即有多个重载构造器,但各个构造器里面有几十行代码相同,直接写会导致代码冗余,可以通过在其他构造器中只调用某个内部有那几十行代码的构造器实现不冗余,操作是this(那个构造器的形参);

如图

java poi不固定列_java_11


java poi不固定列_数组_12


这个this()调用其他构造器的操作必须写在该构造器内部首行。

不能一个构造器内部调用几个构造器(不满足首行),只能第一个调第二个,然后第二个再调第三个这种嵌套调用操作

在一个类内可以定义一个另一个类的对象

可以定义对象数组

JavaBean

java poi不固定列_编程语言_13

UML图

java poi不固定列_java poi不固定列_14

package关键字

java poi不固定列_构造器_15

MVC设计模式

java poi不固定列_java_16


java poi不固定列_数组_17

import关键字

java poi不固定列_java poi不固定列_18