美文网首页你不知道的JAVASE
你不知道的JAVASE(1)——基础篇

你不知道的JAVASE(1)——基础篇

作者: CANAlan | 来源:发表于2020-04-15 00:35 被阅读0次

    心情: :ok:

    笔名: 花美

    行业: telecommunication

    TIME: 2020-4-12

    java数据类型

    数据类型 说明 字节
    Byte 字节型 1
    Short 短整型 2
    Int 整型 4
    Long 长整型 8
    Float 单精度浮点 4
    Double 双精度浮点 8
    Char 字符型 2
    Boolean 布尔型 1
    class a{
        public static void  main(String[] args)
        {
            int x,y;
                x=3;y=4;
            char ch='h';
            double d = 1.23E5;//E可以大小写 1.23*10的5次方
            float f = 1.23e5f;//与double不同多加个f 不加f默认double
            double dl = .2;
            System.out.println(x+","+y+","+ch+","+d+","+f+","+dl);
            
            //结果:3,4,h,123000.0,123000.0,0.2
            
        }
    }
    

    Unicode编码

    Unicode表示法,在值的前面加上 \u 例子:char c = '\u005d'

    运算符

    名称 运算符 含义
    三目运算符 a>b?a:b a大于b取a,否则取b
    operator1 && operator1 乘 ; 同时满足
    operator1 || operator1 相加 ; 满足一个即可
    !operator1 取反
    % 相除取余数

    &&||为短路运算符

    • & 前后两个操作数都会进行计算
    • && 前面条件正确时,才执行后面,==不正确时,就不执行(直接false)==,就效率而言,这个更好
    • | 前后两个操作数都会进行计算
    • || 前面条件正确,后面不执行(直接true)==,不正确时,后面执行 ,就效率而言,这个更好

    运算符-优先级

    优先级从上至下 : 由高到低

    运算符
    ( )
    !,++,— —
    *,/,%
    +,—
    <,<=,>,>=
    = = ,! =
    &&
    ||
    =,+ =,* =,/ =,% =,— =

    综合例子:

    import java.util.*;
    public class a{
        public static void main(String[] args){
            System.out.println("亲爱的\n你想判断的年份是:");
            Scanner sc = new Scanner(System.in);
            while(true){
            int year = sc.nextInt();
            if(((year%4==0)&&(year%100!=0))||(year%400==0)){
                System.out.println("亲爱的\n"+year+"是闰年O!");
            }else{
                System.out.println("亲爱的\n"+year+"并不是闰年!");
            }
                    //运行结果:          
                    //亲爱的
                    //你想判断的年份是:
                    //2002
                    //亲爱的
                    //2002并不是闰年!
                    //2004
                    //亲爱的
                    //2004是闰年o!
      
            }
        }
    }
    

    数组

    public class a{
        public static void main(String[] args){
            int[] intArray;
            String strArray[];  //第二种写法
            intArray =  new int[10];
            strArray =  new String[10];
            float floatArray []= new float[10];
            char[] ch = {'a','b','c'};
            System.out.println("ch数组长度"+ch.length
            +"\t"+"intArray数组第二个元素为"+intArray[1] +"\t"
            +"strArray数组第二个元素为"+strArray[1]+"\t"
            +"float数组最后一个元素"+floatArray[floatArray.length-1]
            );
            for(int i = 0;i<10;i++)
            {
                intArray[i] = i+1;
                System.out.print(intArray[i]+"\t");
            }
    
        //运行结果:
        // ch数组长度3     intArray数组第二个元素为0       
        //strArray数组第二个元素为null   float数组最后一个元素0.0
        //1       2       3       4       5       6       7       8       9       10
        
        }
    }
    

    方法—函数

    方法重载:

    例如plus方法名字起的一样,形参写的不一样,就是对方法的重载,不考虑方法的返回值类型int,void

    数组常识易错点:

    全局变量数组给形参数组传值(数组的形参与实参名可-同,可-不同)——函数内部被改变数据 ,

    此时全局变量的数组也变值,因为 :

    数组和对象是引用数据类型 :原理是数组与java中以new创建的-对象会在堆(Heap)中分配内存空间

    用完不会马上消 失,而是有垃圾回收机制控制。Stak中的var指向Heap中的var——就是java中的指针!!

    class Mathdemo{
        public int plus(int m,int n){
            return m+n;
        }
        public float plus(double m,double n){
                return (float)(m+n);//复习一下强制转换吧
        }
        public int plus(int[] arr){
            int sum=0;
            for(int i = 0 ;i<arr.length;i++)
            {
                sum+=arr[i];
            }
            return sum;
        }
        public int pluss(int[] aarr){
            aarr[0] = 12;
            return 0;
           
        }
        public static void main(String[] args){
            int m=5,n=10;
            int[] arr ={1,2,3,4,5};
            Mathdemo md=new Mathdemo();
            System.out.println("int和:"+md.plus(m,n));
            System.out.println("double和:"+md.plus(5.1919219191931919,6.7));
            System.out.println("arr和:"+md.plus(arr));
             md.pluss(arr);
            System.out.println("arr[0]:"+arr[0]);//数组给形参传值被改变数据 全局变量的数组也变值
            //结果:
            //int和:15
            // double和:11.891922
            // arr和:15
            //arr[0]: 12
    
    
        }
    }
    

    可变参数列表:

    型如int... a 这样的 形参叫做可变参数列表,在函数重载时候,可变参数列表的方法是最后被访问的

    public void search(int a,int... a){}
    对象.search(3,1,2,3)//123为参数列表的实参 也就相当一个数组变量
    

    相关文章

      网友评论

        本文标题:你不知道的JAVASE(1)——基础篇

        本文链接:https://www.haomeiwen.com/subject/pawfvhtx.html