Java基本语法

1、注释(comments)

        1、单行注释 //...
        2、多行注释 /*...*/
        3、文档注释 /**...*/文档注释中可以有很多可选参数@author、@param等
            命令:
                javadoc -d doc(生成后的API存放位置) (-author -version...) className.java
                javadoc -d doc (-author -version...) *.java
                javadoc -d doc (-author -version...) @file(文件中保存着源文件的路径)

2、标识符(需要程序员自己起名字的)

        1、标识符组成:字母、数字、下划线和美元符号,没有长度限制(java中)
        2、命名规则:
            1、标识符不能是关键字、保留字(主要是C语言中的关键字)               
            2、第一个字母不能是数字
            3、标识符不能是[true、false(非关键字)]和null  
            4、标识符区分大小写
            注意:中文、特殊词(System、String等)可以用,但不建议

3、数据类型

        1、基本数据类型(四类八种)

            逻辑类型:boolean(true、false)

            整数类型:byte(8位)、short(16位)、int(32位)、long(64位)[最高位为符号位,其余为数值位]

            字符类型:char(16位)

            浮点类型:float(32位)、double(64位)[最高位为符号位,其余为数值位]

          注:

            精度从低到高的排列:byte、short、char、int、long、float、double

            在计算机中整型可以精确存储,很多小数不能精确存储

                小数一般使用double数据类型进行保存,保留16位有效数字(没有进位):0.123456789123456789(18位)存在计算机中为0.1234567891234567(16位)

                采用float数据类型进行保存时,保留8位有效数字(有进位):0.123456789123456789f(18位)存在计算机中为0.12345679(8位)

            char 'a'可以用字符'a'、(ASCll码)数字97、(Unicode)'\u0060'进行表示

          

          数据类型转换

            1、整形之间(或浮点型之间):

                    窄类型转宽类型 隐式转换    int i; long l = i;

                    宽类型转窄类型 强制转换    long l; int i = (int)l;

            2、整形转浮点型 隐式转换    int i; float f = i;

            3、浮点型转整形 强制转换    float f; int i = (int)f;

        2、引用数据类型

            1、类类型

            2、接口类型

            3、数组

            4、枚举类型

 4、变量(基本变量、引用变量)

    1、定义

                数据类型 变量名=value; //声明(statement)变量并初始化

                数据类型 变量名; 变量名=value;

    2、局部变量

            定义在类中的{}中的变量,可以是在方法、代码块、构造器中等

            作用范围(生命周期):从声明初始化变量这一行开始到变量所在的{}结束

            使用:局部变量没有默认值,使用之前需要赋值(初始化)

    3、实例变量(成员变量、属性、field)

            定义在类中的任意位置的变量(不在类中的{}内)

            作用范围(生命周期):从创建这个变量所在的类的对象(实例)开始到对象的销毁(垃圾回收器回收)

            使用:实例变量等到创建对象(实例)时才有意义,JVM会给其默认初始化值(被final修饰的成员变量需要显示的进行赋值)

            整形是0(long 0L),浮点型是0.0f(d),char是'\u0000',boolean是false,其他的为null

    4、局部变量不能被访问控制修饰符和static修饰;局部变量和实例变量可以被final修饰

5、操作符

    1、赋值操作符

        =、+=、-=、/=、*=

    2、算术操作符

        +(还可以做连接字符串的连接符)、-、*、/、%(mod)取余

    3、比较操作符

         >=、>、<=、<、==、instanceof(判断一个引用类型所引用的对象是否是一个类的实例。该操作符左边是一个引用类型,右边是一个类)

    4、相等操作符

         ==、!=

        ==和equals的区别

                1、两者都用于比较,返回值都是布尔类型的值;

                2、==是运算符,equals是Object类【该类是Java体系中所有的父类】中的方法;

                3、==和equals在默认情况下都是比较两个对象的内存地址

                4、当重写了Object类中的equals方法,则会按照重写的规则进行比较;

                5、==既能比较基本数据类型也能比较引用数据类型,而equals只能比较引用数据类型

    5、对二进制数操作

            1、移位运算符

                >>(算术右移)、<<(算术左移)、>>>(逻辑右移)

                算术移位:带符号  逻辑移位:不带符号位

            2、位运算操作符

                &(按位"与")[同为1为1,否则为0]、|(按位"或")[同为0为0,否则为1]、^(按位"异或")[相同为0,不同为1]、~(按位"取反")[int x=6; int y=~x; y=-7;]

    6、逻辑运算符

            &&(逻辑"与")[同为true为true,否则为false]

            ||(逻辑"或")[同为false为false,否则为true]

    7、条件运算符

            逻辑表达式(true or false) ?表达式1(true) :表达式2(false);

            表达式的结果会根据表达式12中精度最高的进行隐式转化

            显示转化:false?int:char(byte、short);  输出结果为char(byte、short)、char和byte、short结果均为int

            隐式转换:浮点型和其他基本类型(除Boolean),long和其他基本数据类型(除boolean和浮点型)

6、流程控制语句

        条件控制语句

            1、if else(连续性)

            2、switch case(离散性)

                放在case 数据类型 :byte,short,char,int,String(JDK1.7后),枚举类型(enum)(JDK1.5后)

                case中的{}可以不写;没有break的情况下:先去匹配case中的值,如果没有,则执行default以及default以下的;如果有,则执行这个case及case以下的。等case匹配完才执行的default。无论default处于什么位置,都不会首先执行。

        循环控制语句

            1、for

                明确了循环次数

            2、while

            3、do while

                先执行一次代码

        其他

            1、continue

                跳出当前循环的当次循环执行下一次循环

            2、break

                跳出当前循环

            这两个一般放在循环语句中执行;其后面可以加标签,表示跳到(跳出)标签指定的程序,eg:continue b1;break b1;

7、数组(array)

        1、数组是什么?什么时候用数组?

              程序运行过程中帮我们临时存放相同数据类型数据的容器

        2、数组是对象,数组不是类,数组是引用类型

        3、声明数组

             int[] arr;

             int arr[];

        4、数组的初始化

              int[] arr = new int[3(也可以是变量)];JVM会给其开3块连续的内存空间,并初始化

              如果是变量:

                int len=0;

                if(args.length!=0){

                    len = Intager.parseInt(args[0]);

                }

                int[] arr = new int[len];

        5、数组的遍历

              1、主要是边界问题(数组越界):编译没问题,运行报错(ArrayIndexOutOfBoundsException)

              2、数组浪费空间

        6、基本数据类型的数组和引用数据类型的数组

              一个存放的是基本数据类型的数据,一个存放的是引用(地址值)

        7、多维数组(225维数组)

              JVM一共可以创建225维;数组的数组的...

        8、可变参数

              public void print(int... args){}

              ...表示可变参数,必须放在参数列表的最后   eg:print(1,2,3,4);print(1,2,3);个数不限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值