黑马程序员——JAVA基础之语言组成

来源:互联网 发布:淘宝手工回收是真的吗 编辑:程序博客网 时间:2024/05/09 22:23

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


一.关键字

    1.被java赋予了特殊含义的单词,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。

二.标示符

    1.程序中所定义的一些名称,比如类名,他们是由26个英文单词,数字0-9,符号_$组成

    2.规定:

        (1)不能数字开头

        (2)不能使用关键字

三.注解

    1.注释就是用于解释说明程序的文字,包含三种形式:

        (1)单行注释://要注释内容

        (2)多行注释:/*要注释内容*/

        (3)文档注释:/** 要注释内容 */

    2.作用:

        (1)对程序进行说明,使程序易懂,可通过javadoc.exe将程序提取出形成网页形式的使用说明书,为其他开发者使用

        (2)调试代码

四.常量和变量

    1.常量:表示不能改变的数值,如整数,小数,布尔型,字符串,字符,null

    2.变量:将不确定的数据进行存储,需要在内存中开辟一个空间

      定义变量的格式: 

            数据类型  变量名 = 初始化值;

            如 int x = 4;

    3.数据类型:

        基本数据类型:byte,short,int,long,char,boolean,float,double

        引用数据类型

五.运算符

    1.算数运算符:

        +,-,*,/,常见加减乘除

        %,取模,即取余数  5%2 = 1;

        ++,自增,相当于加一

        --,自减,相当于减一

    2.赋值运算符:

        =,赋值

        +=,-=,*=,/=,%= ,以+=为例:x += 1; 相当于 x = x+1;其他的与之相同

    3.比较运算符:

        ==,判断是否相同

        !=,>,<,>=,<=,常见比较符号

        instanceof,判断是否为类的对象

    4.逻辑运算符:

        & 与,相同返回true,不同返回false。如:true&true = true;

        |  或,有一个为true返回true,否则返回false。如:true|false= true;

        ^ 异或,相同返回false,不同返回true。如:true^true = false;

        ! 非,返回相反值。如:!true = false;

        && 与的短路形式,与&之不同的是,如果第一个表达式为false则退出不在执行表达式二

        || 或的短路形式,与|之不同的是,如果第一个表达式为true则退出不在执行表达式二

    5.位运算符:

        <<  左移运算符,将数转换为2进制,进行相左移位,末位补零,相当于乘以2的左移位数次幂

                        如:8<<1  相当于  8*(2^1)

        >>  右移运算符,将数转换为2进制,进行向右移位,首位补符号位(整数为0,负数为1)

                       相当于除以2的右移位数次幂(还可用于进行16进制转换) 

        >>> 无符号右移,将数转换为2进制,进行向右移位,首位补0

         &  与,将两个数转换为2进制,相同位置的两个数进行运算,如果都为1则为1,如果反之为0

         |  或 ,将两个数转换为2进制,相同位置的两个数进行运算,有一个为1则为1,反之为0

         ^  异或, 将两个数转换为2进制,相同位置的两个数进行运算,相同返回0.不同返回1

                  可以简单加密,简单应用:两个数字交换 n=n^m,m=n^m,n=n^m 

         ~  反码,按位取反再加一

    6.三元运算符: 

        形式:条件?表达式1:表达式2;   

             是否满足条件?如果满足条件返回表达式1,否则返回表达式2。

        如: x>y?x:y;  返回x与y之间大的数。

六.语句 程序流程控制 

    1.判断结构   

        (1).if(条件){

                执行语句

            }else if(条件){ //此大括号内容如果没有,if可以直接接else

                执行语句

            }else{ //此大括号内容如果没有可以单独使用if

                执行语句

            

            与三元运算符比较:if更复杂,而三元运算符必须返回结果

    2.选择结构  

        (1).switch(表达式){

                case 取值1:

                    执行语句; 

                    break ;

                case 取值2:

                    执行语句; 

                    break ;

                ......

               default :

                    执行语句; 

                    break;

                }  被选择表达式只接收,byte,short,int,char

                与if相比较,switch效率稍高,对结果为boolean判断使用if,if使用范围更广

    3.循环结构 

        (1).while循环

           形式一:while(条件){

                          语句

                  }  

           形式二:do{

                          语句

                   }while(条件);  

           与if比较,可以循环多次需要执行多次使用

           与while相比较,do while 至少执行一次

        (2).for循环

           for(初始化表达式;循环条件表达式;循环后表达式){

                        语句

           }    

           与while比较:for的初始化动作在循环里,while在循环外 

           如果变量只是用于控制循环则用for,反之如果变量在之后需要用到则使用wile,两者可以互换

        (3).无限循环格式:

           for(;;){}  

           while(true){}

    4.其他流程控制语句

        (1).continue,用于循环语句  结束本次循环继续下一次循环

        (2).break,应用选择 ,循环结构  跳出当前循环

        注意:必须存在各自的执行范围内

              break,continue单独存在时,下面不能有任何语句,因为执行不到

七.函数

    1.函数的定义:定义在类中具有特定功能的一段独立小程序,也叫方法

    2.格式:

         修饰符   返回值类型   函数名(参数类型 参数1,参数类型 参数2,.....){

                    执行语句   

                    return 返回值;

         }

    3.特点:

        (1).将代码功能进行封装

        (2).提高复用性

        (3).只有执行才调用

        (4).对于没有返回值的情况,使用关键字void,return语句如果在最后一行,可以省略

    4.注意:

        函数中只能调用函数,函数不能定义在函数中

        在定义函数名的时候要有意义,应该返回的值交给调用者处理

    5.函数的重载(overload) 

        在同一个类中,可以存在多个同名函数,只要参数个数或参数个数不同即可

        简单的说重载只和参数列表有关

        用于功能相同但是参数个数不同的函数,可提高代码的复用性

八.数组

    1.数组的定义:同一种类型的数组的集合,就是一个容器存放数据的地方

    2.二位数组:可以理解为数组中的数组

    3.好处:可以自动给数组内的元素从0开始编号,方便操作

    4.格式: 

        形式一:元素类型[] 数组名 = new 元素类型[元素个数或长度];     如:int[] array = new int[4];

        形式二:元素类型[] 数组名 = new 元素类型[]{元素,元素,......};    如:int[] array = new int[4]{1,2,3,4};

                可简化为 元素类型[] 数组名 = {元素,元素,......};  如:int[] array = {1,2,3,4};

    5.内存结构

        内存结构为什么不一样?因为处理数据方式不一样

        栈内存:存放方法中的变量,数据使用完毕,自动释放

        堆内存:new出来的实体都在堆中

        堆内存中数据都有默认的初始化值,和数据类型有关

        堆内存中每一个实体都有一个起始地址标记存放位置

    6.垃圾回收机制

        jvm会不定时的启动垃圾回收机制,就是将垃圾数据从堆内存中清除





0 0
原创粉丝点击