黑马程序员_java语言的基础部分

来源:互联网 发布:新浪nba 今日数据趣谈 编辑:程序博客网 时间:2024/06/05 20:20
---------- android培训java培训、期待与您交流! ----------
 
java语言的基础组成
 
1.关键字:被java语言赋予了特殊含义的单词,所有的字母都是小写的,要注意java语言是严格区分大小写的; 2.标识符:程序中自定义的一种名称,由_、$、0-9之间的数字和26个字母(大小写)组成;  注意: 1.数字不不可以开头;        2.不可以使用关键字;        3.主函数名称main不是关键字,被虚拟机识别;        4.在java中,为了提高阅读性,起名的时候尽量起的有意义。       命名格式:变量名和函数名 xxxYyyZzz          常量名 XXX_YYY          类名 接口名  XxxYyyZzz(首字母大写)   注释:Java中常用的三种注释方式:      1.单行注释://,能嵌套多行注释;      2.多行注释:/**/,能嵌套单行注释,不能嵌套多行注释,因为结尾不对;      3.文档注释:/***/,可以通过javadoc来提取,生成说明书,放到网页中,这也是和多行注释的区别;      对于多行和单行注释,被注释的文字不会被虚拟机识别。         作用:1.说明、注解程序;  2.调试程序代码。         注意:要养成一边注释一边写代码的习惯,先写程序的注释(需求、步骤、思路),再写代码;        如Hello World的程序步骤:         1.通过class关键字定义一个类,将代码写到该类的区间中(区间要有阶梯层次感);         2.为了保证该类的独立运行,在类中定义一个主函数,格式:public static void main(String[] args),这           里的args是数组名称,可以自定义;         3.保存成一个扩展名为.java的java文件;         4.在dos控制台中通过javac工具对java文件进行编译,格式:javac 文件名.java         5.再通过java命令对生成的类文件进行执行,格式:java 文件名           3.常量:在程序中其值不会改变的量;      整数常量:所有整数;      小数常量:所有小数;      字符常量:将一个字母或者符号用''括起来来标示,如'e';      字符串常量:将一个或者多个字符用""括起来标示;如"erwer";      布尔型常量:只有两个值true和false;      空常量:只有一个数值null;      对于整数,java中有四种表现形式:       二进制:0-1,满2进1;       十进制:0-9,满10进1;       八进制:0-7,满8进1,用0开头表示;       十六进制:0-15,满16进1,用0X开头表示。        进制的特点:八个二进制=一个字节;进制越大,表现形式越短。   进制间的转换:       二——>十进制:二进制乘以2的过程;       十——>二进制:对十进制数进行除2运算;       其它进制转换,先转成二进制再转。    负数的二进制表现形式:正数的二进制取反加一;如-6的二进制:            6: 0000-0000 0000-0000 0000-0000 0000-0110       对6取反:1111-1111 1111-1111 1111-1111 1111-1001       加1操作:0000-0000 0000-0000 0000-0000 0000-0001      ————————————————————————————————————————————————      结果:    1111-1111 1111-1111 1111-1111 1111-1010      负数的最高位为1,而正数最高位为0.    4.变量:将不确定的数据进行存储,也就是需要在内存中开辟一空间,即通过明确数据类型、变量名称和数据来完成;      定义的格式:数据类型  变量名=初始化值;如 int i=4;      其它数据类型:byte b=2;//-128~127;若byte b=128,则提示可能会损失精度;         short s=30000;//-32768~32767;         long k=4l,后面加上L的小写,表示long型;         char ch='4';         boolean b=true;    什么时候定义变量?       当数据不确定,需要对数据进行存储时定义一变量完成存储动作。          注意: 1.byte b=3;b=b+2; System.out.println(b);这个在b=b+2时会报错,因为在这里b占一个8位,而2是int型的占4个8位,不能直接进行运算。           2.System.out.println('a')与System.out.println('a'+1)的区别:前者输出a,后者输出98,因为将char型'a'自动提升为int型再加1。          自动类型提升:小单位向大单位提升;byte b=2;int i=3;i=i+b;     强制类型转换:强制将大单位转向小单位;byte b=2;b=(byte)(b+2);   5.运算符:提供符号对数据进行运算。     1.算术运算符:+ - * / % ++ --         ++/--前缀式和后缀式参与运算时的区别:          前缀式:先自增(减),再赋值          后缀式:先赋值,再自增(减)      2.赋值运算符:+= -= = *= /= %=          short s=3,s+=2和s=s+2的区别          s=s+2会报错,2为int类型,所以s+2会隐式转换为int类型,而s为short类型,int比short精度高,这样会损失       精度;          而s+=2在内部能够自动完成将结果转换成对应类型的操作。      3.比较运算符:< > <= >= == !=          比较运算符的结果都是boolean型的,就两值,要么false要么true。       4.逻辑运算符:& | ^ ! && ||          &和&&的区别?&是左右两边只要有一个条件的表达式为假结果都为假,即两边都要参与运算;而&&是当左边值为假时                    ,右边不再参与运算,结果为假。       5.位运算符:<< >> >>> ^ ~ & |          << >>  >>>   2*8=2<<3          >>和>>>的区别? >>:移出后,若高位为0则左边用0补齐,若高位为1则左边用1补齐;而>>>:无论高位为0还是1结                            果都用0补齐。          ^的特殊之处:一个数与另一个数同时异或两次,结果仍是原来那数。
 6 语句:    语句什么时候用:当需要对程序的流程进行控制的时候使用。简单说,告诉计算机在进行运算时该按照什么样的执行顺序来完                 成。         条件语句:对数据或者区间范围进行判断,或者对运算结构是布尔类型的进行判断(if语句)。        三元运算符:运算完要有值的出现。      if()else语句:可以操写在其他表达式中。      选择语句:对几个固定的值(byte、short、int、char)进行判断的时候(switch语句)。        特点:case和default之间没有顺序,首先执行第一个case语句,没有匹配的case语句就执行default语句,遇brea             k或者}结束。       循环语句:当需要对某些语句执行很多次的时候。        while:先判断条件是否成立,若成立则执行。        do while:无论条件是否成立,都先执行一次,再判断。         for:for循环是在循环内初始化变量,在循环外不能使用;        while:在循环外初始化变量,循环内外都能使用。      for循环嵌套:在打印图形时,外循环控制行,内循环控制列。         break:适用于switch语句和循环;当它单独存在的时候,下面不要定义任何语句,因为执行不到。        continue:适用于循环;当它单独存在时,下面的语句也执行不到。作用是结束本次循环,继续下次循环。
 7 函数:对功能代码进行封装,以便提高复用性。
    如何定义一个函数?       1.明确这个函数功能的结果,其实是在明确函数的返回值类型;       2.明确这个函数功能的未知内容,其实是在明确函数的参数列表(参数类型和参数个数)。       写程序时,都需要将功能都封装到具体的函数中,主函数中只要进行的动作就是调用,以验证自定义函数功能的正确性。          误区:           //正确情况。                   public static void main(String[] args)                   {                      int num=add(4,5);                      System.out.println(num);                   }                   public static int add(int a,int b)                   {                      return a+b;                   }          //误区情况                   public static void main(String[] args)                   {                      add(4,5);                   }                   public static int add(int a,int b)                   {                      System.out.println(a+b);//需求是将两个数加起来求和,并不需要打印出来                   }        函数的重载:一个类中允许存在两个及以上函数名一致的函数,只要参数列表不同就行。         什么时候使用?          当要定义的功能一致但未知内容不一致时,可以让其函数名一致,但参数列表(参数个数和参数类型)不同。       注意:重载只在一个类中有效。         好处:相同功能不用定义多个名称,方便调用和阅读,提高复用性。       return语句的作用:1.结束循环语句 2.返回结果给调用     8 数组:同一种类型数据的集合。
     特点:1.定义数组必须明确元素的类型。          2.定义数组必须明确元素的个数(数组的长度)。          3.数组的长度必须是固定的,不能改变。          4.操作数组的核心思想是索引(角标)。          5.给元素进行编号(从0开始,到Length-1结束)。       什么时候使用数组?        当数据多的时候,必须先想到用数组进行存储,然后再通过数组对其中的数据进行操作。         数组这个实体仅具备一个属性,就是Length,可以直接获取数组的长度。      常见操作: 1.最值              2.排序              3.查找(对于有序数组可以进行折半查找——二分法查找)      二维数组:其实就是在数组中存储的还是数组。         Java的内存划分:             1.寄存器,cpu涉及的区域。             2.本地方法区,是和系统相关的代码存储区域。             3.栈内存:存储的都是局部变量,变量运算区域一结束,就释放。                   局部变量:在方法上的参数,方法内的变量,语句中的变量。             4.堆内存:存储的是数组和对象,简单说,堆内存中存储都是实体。                  实体就是可以存储多个数据地方。记住,只要是用new建立都存储在堆内存中。                     特点:1.任何实体都有内存地址值。                         2.堆内存中的变量都有默认初始化值。                          3.垃圾回收机制。             5.方法区:存储函数的地方。      数组的查找:        顺序查找:要定义找不到时返回的值;        折半查找:数组必须是有序的,找不到的条件begin>end.
 
---------- android培训java培训、期待与您交流! ----------
   
原创粉丝点击