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); } }
运行结果: