1、概念
2、方法
2.1本章方法
2.2复习方法
2.3新方法
I Scanner类中的方法 next(),nextInt(),nextDouble()
II
3、代码
3.1、
4、扩展
4.1 问:数组可不可以不定义长度?
答:1、声明数组 一个数组type[] typeName,这时不用定义数组的长度
但是,初始化就必须设定长度,如int[] arr = new int[10];
这时只能改变数组里的值,而不能改变其长度。
2、但有一种方法可以实现数组可变长度: int num;int[] a=new int[num]
4.2 读取键盘的两种方式
i、使用扫描仪Scanner。
1:导包 java.util.Scanner;
2:建立扫描仪对象 Scanner Scanner'name = new Scanner(System.in);
3:接收键盘录入
整型:int i = Scanner'name.nextInt();
双精度:double dou = Scanner'name.nextDouble();
字符串:String str = Scanner'name.nex()
4:关闭流 Scanner'name.close();
ii、BufferedReader bufr = new BufferedReader (new InputStreamReader(System.in));
String line = null;
line = bufr.readLine();
MARK:需要复习
4.3 java继承时构造方法的调用
子类创建实例对象时,必先调用父类的构造函数,
情况1:父类没有无参构造函数,这时子类在实例化对象时,必先显式调用父类的构造函数,
方法: 在子类的构造函数方法体开头,加入语句super(parameter),
子类的构造函数参数列表没有限制。
情况2:父类没有无参构造函数,这时如果可能,我们可以为父类加入无参构造函数。
情况3:父类有私有的无参构造函数,编译不通过。
4.4 Array 类和Arrays区别
Array是java.lang.reflect包中的类,它没有toString方法
Arrays是java.util包中的类它有toString(数组类型的参数)方法,这个方法可以形象显示数组
4.5 加标记的方法:flag: 语句 break flag;
4.6 JVM是先把switch(i)中选择表达式的值i与各个case对应执行,
然后才会执行default,不论default在case前还是case后.
4.7 主函数中调用本类中的方法时,这个方法要是静态的才可以。
4.8 数组的可变参数 returnType methodName(参数列表);
//可变参数 class VariableParameter_ForStarNum { //只用可变参数传入单一类型 static void add_1(int... arr){ for(int i:arr){ System.out.println("这是方法add_3中传入的整型数组中的元素:"+i); } } //要实现方法1的效果,我们也可以不用可变参数,直接传入数组,但我们需要在调用方法时传入数组对象 static void add_2(int[] arr){ for(int i:arr){ System.out.println("这是方法add_2()中传入的整型数组中的元素:"+i); } } //传入不同类型 static void add_3(boolean boo,int...arr){ System.out.println("方法add_3中传入的变量boo:"+boo); for(int i:arr){ System.out.println("这是方法add_3中传入的整型数组中的元素:"+i); } } //传入多种类型参数 static int add_4(Object... objs){ System.out.println(objs[0]); System.out.println(objs[1]); System.out.println("add_4;arr.length:"+((int[])objs[2]).length); for(int i=0;i<((int[])objs[2]).length;i++) //要强制转换 System.out.println("add_4;arr:"+((int[])objs[2])[i]); return 0 ; } public static void main(String[] args) { add_1(1,2,3,4); add_2(new int[]{1,2,3,4}); add_3(true,1,2,3,4); } }