java学习

package fangFa;

import java.lang.reflect.Array;

import org.omg.CORBA.PUBLIC_MEMBER;
import org.omg.PortableServer.ImplicitActivationPolicyOperations;

/*
 * 变量:程序运行期间,内容可以发生改变的量。
 * 数据类型 变量名称;//创建一个变量
 * 变量名称=数据值;//赋值,将右边的数据值,赋值交给左边的变量
 * 一步到位的格式
 * 数据类型 变量名称=数据值;//在创建一个变量的同事,立刻放入指定的数据值
 */
public class dem01 {
    public static void main(String[] args){
        //创建一个变量
        //格式:数据类型 变量名称;
        int num1;
        //格式:变量名称=数据值;
        num1=19;
        System.out.println(num1);
        num1=20;
        System.out.println(num1);
        //格式:数据类型 变量名称 =数据值
        int num2=25;
        System.out.println(num2);
        System.out.println("======");
        byte num3=30;
        System.out.println(num3);
        short num5=50;
        System.out.println(num5);
        long num6=300000001L;
        System.out.println(num6);
        float num7 =2.5F;
        System.out.println(num7);
        double num8=1.2;
        System.out.println(num8);
        char zifu1='a';
        System.out.println(zifu1);
        boolean var1=true;
        System.out.println(var1);
        boolean var2=var1;
        int num3;
        num3=30;
        int num4;
        System.out.println(num4);//直接打印没有赋值变量是错误的
        int a,b,c;
        a=10;
        b=20;
        c=30;
        System.out.println(a);
        int x=100,y=200,z=300;
        System.out.println(x);
        System.out.println(3.14);
//        自动类型转换float-->double
        double num2=2.5F;
         //long --->float,范围是float更大一些,符合从小到大的规则
        float num3=30L;
        System.out.println(num3);
    }
public class DEM1{
    public static void main(Sring[] args){
    //long-->>int不是从小到大
        //不能发生自动类型转换
        /*
         * 强制类型一般不推荐使用
         */
        int num=(int)100L;
        System.out.println(num);
        
    }
}
/*
 * char-->int 自动转换
 * 从小到大
 */
public class demo{
    public static void main(String[] args){
        int a=20;
        System.out.println(a*10);
        int x=10,y=3;
        int result=x/y;
        int result2=x%y;
        System.out.println(result);
        System.out.println(result2);
        double result3=    x+2.5;
        System.out.println(result3);
        /*
         * 对于字符串char提升为int再计算 对饮关系ASCII unicode;
         * 对于字符串String(首字母大写,并不是关键字)来说,加号代表了字符串的连接操作。
         */
        //字符串类型的变量基本使用
        //数据类型 变量名称=数据值
        String str1="Hello";
        System.out.println(str1);
        System.out.println("hello"+"world");
        String str2="java";
        System.out.println(str2+20);//java20
        int num1=19;
        System.out.println(num1);
        num1++;
        ++num1;
        System.out.println(num1);
        int num3=30;
        int num4=40;
        System.out.println(num4);
        int x=10,y=29;
        int result3=++x+y--;
        System.out.println(result3);
        /*
         * +=    a=a+ 1  a+=1
         * -=
         * *=
         * /=
         *  %=    
         */
        int a=10;
        a+=5;
        System.out.println(a);
        byte num=30;
        System.out.println(true && false);
        
        /*
         * 定义一个方法的格式
         * public static void 方法名称(){
         * 方法体
         * }
         */
        public static void famer(){
        
        
        }
        public static void cook(){
        short byn=10;
        short a=12
        }
        public static void main(String[] args){
        famer();
        cook();
        }
        int num=1;
        switch(num){
        case 1:
            System.out.println("星期一");
            
      
        
            public static int sum(int x,int y){
                return x+y;
                
            }
public class demo1{
    public static void main(String [] args){
        
    }
    public static boolean isName(byte 1,byte b){
        boolean same;
        if(a=b)
        {same=true;}
        else{same=false;}
    public static void main(String [] args)    
    {
        /*
         * 数组是一种引用类型,类型必须统一数组的长度在程序运行期间不可改变
         * 数组的初始化 :在内存中创建一个数组 并且向其中赋予一些默认值
         * 两种常见的初始化方式
         * 动态初始化(指定长度)
         * 静态初始化(指定内容)
         * 动态初始化数组的格式  数据类型【】 数组名称=呢哇数据类型【数组长度】
         *
         */
    }    }
}
for(int i -0;i<array.length;i++){
    if(i==Array.getLength(1y))
    
}
System.out.println(Arrays.toString(array));
String brand;
double price;
String color;
int[] array={1,2,3,4};
public static int getMax(int[] array){
    int max=array[0];
    for(int i=1;i<array.length;i++){
        if
    }
    Person person
    public void setAge(){
        if(num<100&&num>9){
            age=num;    
        }else{
            sys
        }
        public Void setMale(boolean b){
            male=b;
        }
        public Void isMale(){
            return male;
        }
        
    }
    public int getAge(){
        return age;
    }
    person.setAge(20);
    
}
public class Person{
    String name;//我自己的名字
    //参数who是对方的名字//
    //成员变量name是自己的名字
//    public void  sayHello(String who){
//        System.out.println(who+",你好。我是"+name);
//    }
    /*
     * 当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
     * 如果需要访问本类中的成员变量,需要使用格式:
     * this.成员变量;
     * 通过谁调用的方法,谁就是this;
     *
     */
    public void  sayHello(String name){
        System.out.println(name+",你好。我是"+this.name);
    }
}
public class Demo01Person{
    public static void main(String[] args){
        Person person= new Person();
        person.name="王健林";
        person.sayHello("王思聪");
    }
}

 

 

 

 

 

 

 

 

 

 

        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    }
}
/*
 * 构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法
 * public 类名称(参数类型 参数名称){
 * 方法体
 * }
 * 注意事项“
 * 1.构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
 * 2.构造方法不要返回值,连void都不写;
 * 3.构造方法不能return一个具体的返回值;
 */
public class Student{
    public Student(){
        System.out.println();
    }
    private String name;
    private int age;
    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }
}


public class Student{
    private String name;
    private int age;
    
}
/*
 * API现成的类 了解常用的类JDK_API_1.6_ZH_CN.CHM
 */
/*
 * Scanner 类的功能 ,可以实现键盘输入数据到程序中  看包构造方法成员方法
 * 1.导包
 * import 包路径.类名称;
 * 如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写;
 * 只有java.lang包下的内容不需要导包
 * 2创建
 * 类名称 对象名=new 类名称();
 *
 * 3使用
 * 对象名.成员方法名()
 * 获取键盘输入的一个int数字:int num=sc.nextInt();
 * 获取键盘输入的一个字符串:String str=sc.next();
 *
 */
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;

//2.创建
        //备注:System.in代表从键盘输入
        Scanner sc=new Scanner(System.in);
        //3.获取键盘输入的一个int数字:
        int num=sc.nextInt();
        System.out.println("输入的int数字是:"+num);
        
        
    }
    
}

public class Dem

int temp=a>b?a:b;
int max=temp>c?temp:c;
/*
 * 创建对象的标准格式:
 * 类名称 对象名=new 类名称;
 * 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符;
 * new 类名称();
 * 注意事项:匿名对象只能使用一次 。下次再用不得不再创建一个新对象
 * 使用建议:如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象;
 *
 */
public class Demo1Anonyous{
    public static void main(String[] args){
        Person one=new Person();
        one.name="高圆圆";
        one.showName();
        System.out.println("============");
        
        //匿名对象
        new Person().name="赵又廷";
        new.Person().showName();
        
    }
}

//匿名对象方式
int num=new Scanner(System.in).nextInt();
methodParam(new Scanner(System.in));
public static void methodParam(Scanner sc){
    int num=sc.nextInt();
}

import java.util.Random;
public class Demo01Random{
    public static void main(String[] args){
        Random r=new Random();
        int num=r.nextInt();
        System.out.println("随机数:"+num);
    }
}

public class Demo03Random{
    public static void main(String[] args){
        int n=5;
        Random r=new Random();
        int num=r.nextInt(n)+1;
        System.out.println("随机数:"+num);    
    }
        
}
/*用代码模拟猜数字小游戏
 * 思路:
 * 1.首先产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法
 * 2.需要键盘输入,所以用到了scanner
 * 3.获取键盘输入的数字,用scanner当中的nextInt方法
 * 4.已经得到了两个数字,判断(if)一下:如果太大(太小),提示太大(taixiao),并且重试。直到猜中游戏结束
 *
 * 5.重试就是再来一次,循环次数不确定,用while(true)
 */
public class Demo04RandomGame{
    public static void main(String[] args){
        
        Random r=new Random();
        int randomNum=r.nextInt(100)+1;
        Scanner sc=new Scanner(System.in);
        while(true){
            System.out.println("请输入你的猜测随机数:");
            int guessNum=sc.nextInt();//键盘输入猜测数字
            if(guessNum>randomNum){
                System.out.println("太大了,请重试");
            }else if(guessNum<randomNum){
                System.out.println("太小了,请重试");
            }else {
                System.out.println("恭喜你,猜中啦");
                break;//如果猜中不再试
            }    
        }
            
    }
        
}

public class Demo04RandomGame{
    public static void main(String[] args){
     Person[] array=new Person[3];
     Person one=new Person("迪丽热巴",19);
     Person two=new Person("古力娜扎",23);
     Person three=new Person("马儿扎哈",23);
    
     array[0]=one;
     array[1]=two;
     array[2]=three;
    
     System.out.println(array[0]);
     System.out.println(array[1]);
     System.out.println(array[2]);
    
     System.out.println(array[1].getName());
    
        
        
        
        
    }
}
//ArrayList是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素,ArrayList中可以不断添加元素,其大小也是自动增长
//java.util.ArrayList <E>
//<E>是一种指定的数据类型,叫做泛型。
//基本格式:
//ArrayList<String>List=new ArrayList<String>();
/*数组的长度不可以改变  但是ArrayList集合的数据长度可变
 *
 */
public class Demo04ArrayList{
    public static void main(String[] args){
        //创建了一个ArrayList集合,集合名称是list,里面装的全都是String字符串类型的数据
        //备注:从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
        ArrayList<String>list=new ArrayList<>();
        System.out.println(list);/*对于Arraylist集合来说,直接打印得到的不是地址值,而是内容 如果内容是空,得到的是中括号[]*/
        
        //向集合中添加一些数据,需要用到Add方法;
        list.add("赵丽颖");
//        ArrayList<E>当中的常用的方法有:
//        public boolean add(E e):向集合中添加元素,参数类型和泛型一致。
//        public E get(int index):从集合中获取元素,参数是索引编号,返回值就是对应位置的元素;
//        public E remove(int index):从集合中删除元素,参数是索引编号,返回值就是被删除掉的元素;
//        public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数;
        
    }
}
public class Demo04ArrayList{
    public static void main(String[] args){
        ArrayList<String>list=new ArrayList<>();
        boolean success=list.add("柳岩");
        System.out.println(list);
        System.out.println("添加动作是否成功:"+success);
        list.add("123w");
        list.add("ew");
        list.add("re");
        list.add("rd");
        //遍历集合
        
        for (int i =0;i<list.size();i++){
            System.out.println(list.get(i));
    
    }
}

/*
 *泛型只能是引用类型,不能是基本类型
 *如果希望集合中ArrayList当中存储基本数据类型,必须使用 基本类型对应的包装类
 *基本类型                         包装类(引用类型,包装类都位于java.lang包下)】
 *byte           Byte
 *short          Short
 *int            Integer
 *long           Long
 *float          Float
 *double         Double
 *char           Character
 *boolean        Boolean
 * 从JDK1.5支持自动装箱,自动拆箱
 * 自动装箱:基本类型-->包装类型
 * 自动拆箱:包装类型-->基本类型
 */

public class Demo04ArrayList{
    public static void main(String[] args){
            ArrayList<Integer>list=new ArrayList<>();
            list.add(100);
            int num=list.get(1);
            
    }
}

public class Demo04ArrayList{
    public static void main(String[] args){
            ArrayList<Integer>list=new ArrayList<>();
            Random r=new Random();
            for(int i =0;i<6;i++){
                int num=r.nextInt(33)+1;
                 
                list.add(num);
            }
            //遍历集合
            for(int i =0;i<list.size();i++){
            System.out.println(list.get(i));
            
            }
            int num=list.get(1);
            
    }
}
public class Demo04ArrayList{
    public static void main(String[] args){
            ArrayList<Student>list=new ArrayList<>();
            Student one=new Student("wq");
            Student twe=new Student("wqq");
            Student three=new Student("waq");
            Student four=new Student("wcq");
            
            for(int i =0;i<6;i++){
                int num=r.nextInt(33)+1;
                 
                list.add(num);
            }
            //遍历集合
            for(int i =0;i<list.size();i++){
                Student stu=list.get(i);
            System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
            
            }
            int num=list.get(1);
            
    }
}

public class Demo04ArrayList{
    public static void main(String[] args){
            ArrayList<String>list=new ArrayList<>();
            list.add("asdq");
            list.add("asq");
            list.add("ahsq");
            list.add("asgq");
            list.add("afsq");
            printArraylist(list);
    }
            /*
             * 定义方法的三要素
             * 返回值类型:只是进行打印,没有运算,没有结果,所以用void
             * 方法名称:printArrayList
             * 参数列表:ArrayList
             *
             */
    public static void printArrayList(ArrayList<string> list){
        //{10@29}
        System.out.print("{");
        for(int i=0;i<list.size();i++){
            String name=list.get(i);
            if(i==list.size()-1){
                System.out.println(name+"}");
            }else{
            System.out.print(name+"@");
            }
        }
    }
            for(int i =0;i<6;i++){
                int num=r.nextInt(33)+1;
                 
                list.add(num);
            }
            //遍历集合
            for(int i =0;i<list.size();i++){
                Student stu=list.get(i);
            System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
            
            }
            int num=list.get(1);
            
    }
}
/*
 * 用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合中,用自定义的方法
 * 分析:
 * 1需要创建一个打集合,用来存储int数字:<Integer>
 * 2.随机数字用Random nextInt
 * 3.循环20次,把随机数字放入大集合:for循环/add方法
 * 4.定义一个方法,用来进行筛选;
 *    三要素:
 *    返回值类型:ArrayList小集合(里面元素个数不确定)
 *    方法名称:getSmallList
 *    参数列表:ArrayList大集合(装着20个随机数字)
 * 5.判断(if)是偶数:num%2==0
 * 6.如果是偶数,就当到小集合,否则不放/
 */
public class Demo04ArrayList{
    public static void main(String[] args){
            ArrayList<Integer> bigList=new ArrayList<>();
            Random r=new Random();
            for(int i=0;i<20;i++){
                int num=r.nextInt(100)+1;
                bigList.add(num);
            }
        Arraylist<Integer> smallList=getSmallList(bigList);
        for(int i=0;i<smallList.size();i++){
            System.out.println(smallList.get(i));
        }
    }
    //这个方法,接收大集合参数,返回小集合结果
    public static ArrayLiat<integer> getSmallList(ArraryList<Integer>bigList){
        //创建一个小集合,用来装偶数结果
        ArrayList<Integer> smallList=new ArrayList<>();
        for(int i=0;i<bigList.size();i++){
            int num=bigList.get(i);
            if(num%2==0){
                smallList.add(num);
            }
                }
        return smallList;
        
}
//使用空参构造
String str1=new String();
System.out.println("第一个字符串:"+str1);
//根据字符数组创建字符串
char[] charArray={'A','B'};
String str2=new String(charArray);
System.out.println("第二个字符串:"+str2);
//根据字节数组创建字符串
byte[] byteArray={97,98};
String str3=new String(byteArray);
System.out.println("第san个字符串:"+str3);
/*
 * String当中与获取相关的常用方法有:
 * public int length():获取字符串当中含有字符的个数,拿到字符串的长度
 * public String concat(String str):将当前字符串和参数字符串拼接成为返回的新值
 * public char charAt(int index):获取指定索引位置的单个字符(索引从0开始)
 * public int indexOf(String str):查找参数字符串在本字符当中首次出现的索引位置,如果没有返回-1值;
 *
 *
 */    
    }

}
public class MyClass{
    int num;//成员变量
    static int numStatic;//静态变量
    //成员方法
    public void method(){
        System.out.println("这是一个普通的成员方法");
        //成员方法可以访问成员变量
        System.out.print(num);
        //成员方法可以访问静态变量
        System.out.println(numStatic);
    }
    public static void methodStatic(){
        System.out.println("这是一个静态方法");
        //静态方法可以访问静态变量 静态方法不能用this关键字
         System.out.println(numStatic);
    }
}
/*一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。
 * 如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它;
 * 无论是成员变量还是成员方法。如果有了static,都推荐类名称进行调用
 * 静态变量:类名.静态变量
 * 静态方法:类名称.静态方法()
 */
public class Demo02StaticMethod{
    public static void main(String[] args){
        MyClass obj=new MyClass();//首先创建对象
        //然后才能使用没有static关键字的内容
        obj.method();
        //对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名进行调用;
        obj.methodStatic();
        MyClass.methodStatic();
    }
    //对于本类当中的静态方法 可以省略类名称
}
/*静态代码块
 * public class 类名称{
 *   static{
 *   
 *   }
 *   }
 *   特点:当第一次用到本类时,静态代码块执行唯一的一次
 *   静态代码块的典型用途:
 *   用来一次性的对静态成员变量进行赋值。
 */
/*
 * java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作
 * public static String toString(数组):将参数数组变成字符串
 */
public class Demo01Arrays{
    public static void main(String[] args){
        //将int[]数组按照默认格式变成字符串
        int[] intArray={10,23,4,43};
        String intStr=Arrays.toString(intArray);
        System.out.println(intStr);
        String str="eytr68yhdhbnxjdk";
        //如何进行升序排列:sort
        //必须是一个数组,才能用Arrays.sort方法
        //String-->数组,用toCharArray
        char[] chars=str.toCharArray();
        Arrays.sort(chars);
        //需要倒序遍历
        for(int i =chars.length-1;i>=0;i--){}
    public class Fu{
        int num=20;
        public Fu(){
            System.out.println("父类无参构造方法");
        }
        public Fu(int num){
            System.out.println("父类有参构造方法");
        }
        public void method(){
            System.out.println("父类方法");
        }
    }
        public class Zi extends Fu{
            public Zi(){
                //super();//在调用父类无参的构造方法
                super(20);
                System.out.println("子类构造方法");
            }
            public void methodZi(){
                System.out.println(super.num);
            }
            public void method(){
                System.out.println("子类方法");
            }
            System.out.println(super.num);
            System.out.println(this.num);
            public void methodA(){
                System.out.println("子类方法a");
            }
            public void methodB(){
                methodA();
                this.methodA();
                System.out.println("子类方法b");
            }
        }
    }
    }
    
}
/*
 * 接口可以定义抽象方法
 * 格式:public abstract 返回值类型 方法名称(参数列表);
 * 接口中的抽象方法 修饰符必须是两个固定的关键字:public abstract
 * 接口不能直接使用 必须有一个“实现类”来“实现”接口;
 * 格式:
 * public class 实现类名称 implements 接口名称{}
 * 接口的实现类必须覆盖重写(实现)接口中所有的抽象方法
 * 创建实现类对象,进行使用
 */
public interface MyInterfaceAbstract{
    public abstract void methodAbs();
}
/*
 * 对象向上转型 格式:
 * 父类名称 对象名 =new 子类名称()
 * 对象的向下转型
 * 格式
 * 子类名称 对象名=(子类名称)父类对象;
 * 含义:将父类对象,还原成子类对象
 * Animal animal=new Cat()父类名称 对象名 =new 子类名称()
 * Cat cat=(Cat)animal;子类名称 对象名=(子类名称)父类对象;
 * 如何才能知道一个父类引用的对象,本来时什么子类
 * 格式:
 * 对象 instanceof 类名称
 * 这将会得到一个boolean值结果,也就是判断前面的对象能不能当作后面类型的实例
 *
 */
//if(animal instanceof Dog){
//       Dog dog=(Dog) animal;
//       dog.watchHouse();
//      }
/*
 * 如何使用成员内部类 两种方式
 * 1.间接方式:在外部类的方法当中,使用内部类,然后main只是调用外部类的方法
 * 2.直接方式 公式
 * 外部类名称。内部类名称 对象名=new 外部类名称().new 内部类名称();
 * Body body=new Body();//外部类的对象
 * body.methodBody();//通过外部类的对象,调用外部类的方法,里面间接使用内部类Heart
 * Body.Heart heart=new Body().new Heart();
 * heart.beat();
 */
public class Outer{
    int num=10;//外部类成员变量
    public class Inner{
        int num=20;//内部类成员变量
    }
    public void methodInner(){
        int num=30;//内部类方法的局部变量
        System.out.println(num);//局部变量就近原则
        System.out.println(this.num);//内部类成员变量
        /*
         * 如果出现重名现象,格式:外部类名称.this.外部类成员变量
         */
        System.out.println(Outer.this.num);//外部类成员变量
    }
}
/*
 * 如果一个类时定义在一个方法内部的,那么这就是一个局部内部类
 * 定义格式:
 * 修饰符 class 外部类名称{
 *    修饰符 返回值类型 外部类方法名称)(参数列表){
 *         class 局部内部类名称{
 *         //...........
 *         }
 * }
 * }
 */
public class Outer{
    public void methodOuter(){
        class Inner{
            int num=10;
            public void methodInner(){
             sysout
            
                
            }
        }
    }
}
/*左边是接口名称,右边是实现类名称,这就是多态写法
 * List<String> list=new ArrayList<>();
 *
 *
 */
//int avg=totalMoney/totalCount;
//int mod=totalMoney%totalCount;
//for(int i=0;i<totalCount-1;i++){
//    list.add(avg);
//}
//list.add)(avg+mod);
//return list;
public boolean equals(object obj){
    //增加一个判断,传递的参数obj如果是null,直接返回false
    if(obj==null){
        return false;
    }
    //增加一个判断,防止类型转换一次ClassCastException
    if(obj instanceof Person){
        //使用向下转型,把obj转换为person类型
        Person p=(Person)obj;
        //比较两个对象属性,一个对象是this(P1),一个对象是P(obj-p2)
        boolean b=this.name.equals)(p.name)&&this.age=p.age;
        return b;
    }
    //不是Person类直接返回false
    return false;
}
/*
 * java.text.DateFormat:是日期/时间格式化子类的抽象类
 * 作用:格式化(也就是日期->文本)、解析(文本-日期)
 * 成员方法:
 *    String format(Date date)按照指定的模式,把Date日期,格式化为符合模式的字符串
 *    Date parse(String source)把符合模式的字符串,解析为Date日期
 * DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat类的子类
 * SimpleDateFormat  
 */
 
public class Demo02StringBuilder{
    public static void main(String[] args){
        StringBuilder bu=new StringBuilder();//创建StringBuilder对象
        //使用append方法往StringBuilder中添加数据
        StringBuilder bu2=bu.append("cdv");
        /*
         * 基本类型与字符串类型之间的相互转换
         * 基本类型->字符串
         * 1.基本类型的值+“ ”
         * 2.包装类的静态方法toString(参数),不是Object类的toString()重载
         *   static String toString(int i)返回一个表示指定整数的String对象。
         * 3.String类的静态方法valueOf(参数)
         *    static String valueOf(int i)返回int参数的字符串表示形式。
         * 字符串(String)->基本类型
         *  使用包装类的静态方法parseXXX("字符串");
         *     Integer类:static int parseInt(String s)
         *     Double类:static double parseDouble(String s)
         */
    }
}

 

 

public class Demo1Iterator{
    main
    //创建一个集合对象
    collection<String> coll=new ArrayLit<>();
    coll.add("23er");
    coll.add("er");
    coll.add("3er");
    /*
     * 多态 接口  实现类对象
     * Iterator<String> it=coll.iterator();
     * 不知道集合中有多少个元素,使用while循环 循环结束条件hasNext方法返回false
     *
     */
    while(it.hasNext()){
        String e= it.next();
        System.out.println(e);
    }
}
/*
 * for(集合/数组的数据类型 变量名:集合名/数组名)
 */
ArrayList<String> list=new ArrayList<>();
for(String s:list){
    //ll
}
int[] arr={1,2,3};
for(int i :arr){}
 GenericClass gc=new  GenericClass();
 /*
  * 定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间
  * 格式:
  *   修饰符<泛型> 返回值类型 方法名(参数列表(使用泛型)){
  *      方法体
  *   }
  */
public class GenericMethod{
    public M void method01(M m){
        System.out.printIn(m);
    }
}        
public class Demo03GenericMethod{
    public static void main(){
        GenericMethod gm=new GenericMethod();
        public static void printArray(ArrayList<?>list){
            ///使用迭代器遍历集合
            Iterator<?> it=list.iterator();
            while(it.hasNext()){
                 /*
                  * 泛型的上限:格式 类型名称<? extends 类> 对象名称
                  *          意义:只能接收该类型及其子类
                  * 泛型的下限 格式:
                  * 类型名称<? super 类> 对象名称
                  *  意义:只能接收该类型及其父类
                  */
            }
        }
    }
    
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落雪snowflake

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值