06day_Java基础语法
1、引用数据类型
(1)第一种:Java为我们提供好的类,如Scanner类,Random类等;
第二种:自定义的类。
类,是引用数据类型。
自定义类:使用类的显示,对现实中的事物进行描述。
事物:方法,属性;
方法:这个事物具备的功能;
属性:变量;
格式:
public class 类名{
属性定义:修饰符数据类型变量名=值;
方法定义:修饰符返回值类型方法名(参数列表){
}
}
(2)用Java中的类,描述生活中的手机这个事物
手机事物具备哪些属性?
颜色、品牌、大小
public class Phone{
/*
定义手机的属性
*/
String color;
String brand;
bouble size;
}(3)测试手机类
在同一个文件夹不需要导包
/*
测试自定义的Phone类
*/
public class TestPhone{
public static void main(String args[]){
//创建引用类型的变量
Phone p=new Phone();
//System.out.println(p);输出内存的地址
//使用变量p.的方式,调用类中的属性
p.color="red";
p.brand="Nokia";
p.size=5.0;
//获取属性值
System.out.println(p.color+" "+p.brand+" "+p.size);
}
}运行结果:
(4)自定义类的练习
自定义电饭锅类:
public class DianFanGuo{
String brand;//品牌
String color;//颜色
double size;//大小
}自定义汽车类:
public class Car{
String brand;//品牌
double paiLiang;//排量
String type;//类型
}自定义学生类:
public class Student{
String name;//姓名
int age;//年龄
char sex;//性别
}测试类:
public class Test{
public static void main(String args[]){
//创建电饭锅引用类型
DianFanGuo dfg=new DianFanGuo();
dfg.brand="Midea";
dfg.color="red";
dfg.size=30;
System.out.println(dfg.brand+" "+dfg.color+" "+dfg.size);//输出电饭锅属性
//创建汽车引用类型
Car c=new Car();
c.brand="巨力";
c.type="拖拉机";
c.paiLiang=0.5;
System.out.println(c.brand+" "+c.type+" "+c.paiLiang);//输出汽车属性
Student stu=new Student();
stu.name="张三";
stu.age=20;
stu.sex='男';
System.out.println(stu.name+" "+stu.age+" "+stu.sex);//输出汽车属性
}
}运行结果:

2、ArrayList集合
(1)ArrayList集合的使用
ArrayList也是数据类型
步骤:
1、导包,java.util文件夹中
2、创建引用类型的变量,数据类型<集合存储的数据类型>变量名=new数据类型<集合存储的数据类型>( );
集合存储的数据类型:要将数据存储到集合的容器中
创建集合引用变量的时候,必须要指定好存储的类型是什么
3、变量名.方法
(2)集合的创建
集合存储的数据,8个基本类型对应8个引用类型
存储引用类型,不存储基本类型

import java.util.ArrayList;
public class ArrayListDemo{
public static void main(String args[]){
//创建集合容器,存储字符串
ArrayList<String> array=new ArrayList<String>();
//创建集合容器,存储整数
ArrayList<Integer> array2=new ArrayList<Integer>();
//创建集合容器,存储手机类型
ArrayList<Phone> array3=new ArrayList<Phone>();
}
}(3)ArrayList的常见方法
add(参数)向集合中添加元素,数据存储进去,方法中的参数类型和定义集合对象时候的类型是一致的;
get(int index)取出集合中的元素,get方法的参数,写入索引
size()返回集合的长度,集合存储元素的个数
import java.util.ArrayList;
public class ArrayListDemo_1{
public static void main(String args[]){
//定义集合,存储字符串元素
ArrayList<String> array=new ArrayList<String>();
//调用集合方法add存储元素
array.add("i");
array.add("love");
array.add("Java");
//输出集合的长度,调用集合方法size,size方法的返回值类型int
int size=array.size();
System.out.println(size);//输出4
//获取出集合中的一个元素,获取1索引的元素
//集合的方法get,获取元素后结果数据类型
String s=array.get(1);
System.out.println(s);
}
}运行结果:

(4)集合的遍历
集合的遍历也是索引思想
集合的索引是从0开始到size()-1
方法get(int index)
import java.util.ArrayList;
public class ArrayListDemo_2{
public static void main(String args[]){
ArrayList<Integer> array=new ArrayList<Integer>();
//添加元素
array.add(11);
array.add(12);
array.add(21);
array.add(22);
//遍历集合,使用size+get组合进行遍历
for(int i=0;i<array.size();i++){
System.out.println(array.get(i));
}
}
}运行结果:

(6)ArrayList补充方法
add(int 索引,存储的元素)将元素添加到指定的索引上;
set(int 索引,修改后的元素)将指定索引的元素,进行修改;
remove(int 索引)删除指定索引上的元素;
clear()情况集合中的所有元素
import java.util.ArrayList;
public class ArrayListDemo_3{
public static void main(String args[]){
ArrayList<Integer> array=new ArrayList<Integer>();
array.add(1);
array.add(2);
array.add(3);
array.add(4);
//在索引上添加元素7
array.add(2,7);
//将0索引上的元素修改成10
array.set(0,10);
//将3索引上的元素删除
array.remove(4);
//清空元素
array.clear();
//遍历集合,使用size+get组合进行遍历
for(int i=0;i<array.size();i++){
System.out.println(array.get(i));
}
}
}3、随机点名器
需求分析:
1、存储全班同学信息(姓名、年龄);
2、打印全班同学的信息(姓名、年龄);
3、随机点名一个同学的信息(姓名、年龄)。
import java.util.ArrayList;
import java.util.Random;
public class CallName_03{
public static void main(String args[]){
ArrayList<StudentName> array=new ArrayList<StudentName>();
//调用添加方法
add(array);
//调用遍历集合
printArrayList(array);
//调用随机方法
randomStudentName(array);
}
/*
存储学生的姓名和年龄
*/
public static void add(ArrayList<StudentName> array){
StudentName sn1=new StudentName();
StudentName sn2=new StudentName();
StudentName sn3=new StudentName();
StudentName sn4=new StudentName();
StudentName sn5=new StudentName();
sn1.name="张三";
sn1.age=21;
sn2.name="李四";
sn2.age=22;
sn3.name="王五";
sn3.age=23;
sn4.name="李六";
sn4.age=24;
sn5.name="赵七";
sn5.age=25;
//将StudentName遍历存储到集合中
array.add(sn1);
array.add(sn2);
array.add(sn3);
array.add(sn4);
array.add(sn5);
}
/*
总览学生的信息
*/
public static void printArrayList(ArrayList<StudentName> array){
//遍历集合,使用size+get组合进行遍历
for(int i=0;i<array.size();i++){
//存储集合的时候,集合.add(sn1) sn1是StudentName类型变量
//获取的时候,集合.get方法获取的StudentName类型变量
StudentName s=array.get(i);
System.out.println(s.name+" "+s.age);
}
}
/*
随机点名
*/
public static void randomStudentName(ArrayList<StudentName> array){
Random r=new Random();
int number=r.nextInt(array.size());
//随机数,索引,到集合中get
StudentName s=array.get(number);
System.out.println("随机点到的同学:"+s.name+" "+s.age);
}
}运行结果: