1.DOS命令
1.cd.. (两个点)返回上一级
2.cd\ 返回根目录
3.cd d:// 进入D盘
cd Java// 进入Java文件夹
4.c.... cd d:\2018.11.03//未报错,成功进入,还需切换盘符
d:
5.dir//显示内容
6.cls//clear all
7.使用命令行运行时,写类的名称即可
2.基础语法
1.引用数据类型scanner
数据类型 变量名=new 数据类型();
2.random r=new random();
r.nextInt(int i)//产生的随机数字范围,[0,i-1);
3.random r=new random();
r.nextDouble( )//产生的随机数字范围,[0.0,1.0);
如果需要[0.0,0.3)之间,直接乘以0.3即可
r.nextDouble( )*0.3;
1.JVM将内存分为5个部分
1.寄存器:内存和CPU之间
2.本地方法栈:JVM调用的系统功能
3.方法和数据共享:class文件进入
4.方法栈:运行的时候所有的方法进入
5.堆:对象和容器
2.数组为引用数据类型
int [ ]array=new int[3]
array作为引用数据类型,实际上保存是内存的地址
ArrayDemo.class先加载,之后main方法压栈,JVM在堆内存开辟空间
3.数组操作
1.赋值
int [ ] a=new int [ ] {1,2,3,4,5,6} //第二个[ ]不能写任何内容
int [ ] a={1,2,3,4,5,6}
4.方法重载
1.在同一个类中,允许定义的方法名字相同,但是参数类型和个数不同,和修饰符无关
5.修改
1.方法是基本数据类型,不可在方法中对原数据进行修改,进行的是值传递。
public static void main(String [] args){
int a=1;
int b=2;
change(1,2);
sop(a);//1
sop(b);//2
}
public static void change(int a,int b){
a=a+b;
b=a+b;
}
2.方法是引用数据类型,可在方法中对原数据进行修改,因为引用数据类型,传递的是内存的地址。
public static void main(String [] args){
int a []={1,2,3,4};
change(a);
sop(a[2]);//3
}
public static void change(int a[]){
a[2]=100;
}
1.引用数据类型(三种)
1.Array,Class,接口
打印引用数据类型,输出的是内存地址
Testphone.class, main, phone.class依次进入方法和数据共享区
运行时,JVM将main方法复制一份压栈
堆内存为Phone开辟空间,类中属性跟随容器进入堆,赋予默认值
堆内存中的地址传给引用变量,P保存的内存地址。
2.ArrayList也是引用数据类型,不存储基本数据类型,只存储引用数据类型
存储的数据数量没有限制。如Integer,
3.使用ArrayList集合来存储其他的类比如student,goods
student s=array.get(i);//接收的是student数据类型,返回的也是student数据类型,使用student类型接收。否则直接输出i,输出的是student存储的内存地址。
System.out.println(s.name+" "+s.age);
4.public class student{//定义student类
String name;
int age;
}
ArrayList<student> array=new ArrayList<student>();//定义存储student的ArrayList集合
public void add(ArrayList<student> array){//定义添加函数
Student s1=new Student(); //先创建student类型变量,之后添加进ArrayList
s.name="三";
s.age=12;
array.add(s1);
}