一、Random的使用
1.格式:import java.util.Random;
Random 标识符(如:b) = new Random();
int 变量名称 = (标识符)b.nextInt(取值范围(如:99));(从0到99产生随机数,包括0不包括99)
2.作用:系统随机给出随机数。
二、数组
1、定义:
数组是存储多个变量(元素)的东西(容器)
这多个变量的数据类型要一致
2、1数组概念
数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
2.2数组的定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的。
3、1数组的初始化
数组初始化概述:
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
3、2数组的初始化方式
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
如:int[] arr = new int[3];
解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
如:int[[ arr = new int[]{1,2,3,4};
4、数组的内存分配
4、1 JVM内存划分
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈 存储局部变量
堆 存储new出来的东西
方法区 (面向对象进阶讲)
本地方法区 (和系统相关)
寄存器 (给CPU使用)
三、方法
1、方法格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
1、1格式解释
修饰符 目前记住 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法
参数类型 用于接收调用方法时传入的数据的类型
参数名 用于接收调用方法时传入的数据的变量
方法体 完成功能的代码
return 结束方法,把返回值带给调用者
1、2定义的注意事项
写一个方法首先有两点需要明确
返回值类型 明确功能结果的数据类型
参数列表 明确有几个参数,以及参数的类型
按照格式和两个明确来完成如下功能
2、方法的调用
有明确返回值的方法调用:
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式
3、方法的重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
四、面向对象
1、面向过程特点与面向对象特点
A:面向过程:
强调的是过程,所有事情都需要自己完成
B:面向对象:
是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换
2、类与对象概述:
A:我们学习编程是为了什么
为了把我们日常生活中实物用学习语言描述出来
B:我们如何描述现实世界事物
属性 就是该事物的描述信息(事物身上的名词)
行为 就是该事物能够做什么(事物身上的动词)
C:Java中最基本的单位是类,Java中用class描述事物也是如此
成员变量 就是事物的属性
成员方法 就是事物的行为
D:定义类其实就是定义类的成员(成员变量和成员方法)
a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
E:类和对象的概念
a:类:是一组相关的属性和行为的集合(我们班所有的同学都具备相同的属性和行为,比如:姓名,年龄,学习,这样就把所有的学生成为学生类)
b:对象:是该类事物的具体体现(说某个同学时,他都具备自己特有的属性和行为)
c:举例:
类 学生
对象 具体的某个学生就是一个对象
比如:车是一个类,具体的开的奔驰、宝马,就是对象
五、常用API
Scanner:
nextLine(用于键盘录入一个字符串内容);
System:
字符串定义方式的区别:
new一个新字符串,对象在堆里面,内部的地址指向堆;
不new的字符串直接指向方法区的常量池;
注意:字符串的内容是存储在方法区的常量池的,是为了方便字符串的重复使用;
注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据;
1:把字符串封装成字符串对象String 对象名称 = new String();
2.把数组变成字符串对象(只能是字符数组):String 对象名称 = new String(数组名称);
3.直接封装字符串对象 String 对象名称 = "字符串内容";
4:截取数组:String 对象名称 = new String(数组名称,起始索引,结束索引);
六、集合
集合类:
ArrayList<对象类型> 集合名称 = new ArrayList<对象类型>();
添加元素:
集合名称.add(赋值数据);
集合名称.add(赋值索引,赋值数据);
获取元素:
public E gei(int index):返回指定索引的元素;
集合长度:
public int size():返回集合中元素的个数;
删除元素:
public boolean remove (Object o):删除指定的元素,返回删除是否成功;
public E remove(int index):删除指定索引处的元素,返回被删除的元素;
修改元素:
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素;
System.exit(0) JVM退出;
七、IO流
1、1 IO流概述及分类
IO流用来处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的类都在IO包中
流按流向分为两种:输入流,输出流
1、2 FileWriter类使用
A:打开帮助文档
B:点击显示,找到索引,看到输入框
C:你要学习什么内容,你就在框框里面输入什么内容
举例:Random
D:看包
java.lang包下的类在使用的时候是不需要导包的
E:看类的描述
Random类是用于生成随机数的类
F:看构造方法
Random():无参构造方法
Random r = new Random();
G:看成员方法
public int nextInt(int n):产生的是一个[0,n)范围内的随机数
调用方法:
看返回值类型:人家返回什么类型,你就用什么类型接收
看方法名:名字不要写错了
看形式参数:人家要几个参数,你就给几个,人家要什么数据类型的,你就给什么数据类型的
int number = r.nextInt(100);
1、3 FileWriter向文件中写数据
A:FileWriter向文件中写数据操作步骤:
a:使用FileWriter流关联文件
b:利用FileWriter的写方法写数据
c:利用FileWriter的刷新方法将数据从内存刷到硬盘上
d:利用FileWriter的关流方法将释放占用的系统底层资源
B:FileWriter方法:
构造方法
FileWriter(String fileName) 传入一个文件的路径
成员方法
void write(String?str) 向文件中写str
void flush() 将内存中的数据刷新到文件中
void close() 关流释放系统底层资源
1、4 FileWriter其它写方法
void write(String str):写一个字符串数据
void write(String str,int index,int len):写一个字符串中的一部分数据
void write(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值。'a',97
void write(char[] chs):写一个字符数组数据
void write(char[] chs,int index,int len):写一个字符数组的一部分数据
|
|