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

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

自学Java第二天笔记。本人是根据毕向东老师的JavaSE视频学习的。




Java语言基础组成:1.关键字,2.标识符,3.注释,4.常量和变量,5.运算符,6.语句,7.函数,8.数组。




一.关键字:

          被java赋予了特殊含义的单词。(java中的这些关键字我会以后用到,用到哪个关键字时再把它记住掌握)。



二.标识符:

1.定义:
       在程序中自定义的一些名称。由26个英文字母大小写,数字0-9,符号组成。注意:标识符规则,数字不能开头,不可以使用关键字。

2.Java中的名称规范:
                   包名:都小写xxxyyyzzz;类名接口名:首字母大写XxxYyyZzz;变量名和函数名:第一个单词首字母小写,剩下的单词的首字母大写xxxYyyZzz;常量名:所有字母都大                     写,每个单词用下划线连接XXX_YYY_ZZZ。



三.注释:

        单行://
        多行:/* */
        文档:/** */



四.常量和变量。

1.常量:
       1)、定义:表示不能改变的数值。
       2)、分类:1.整数。 2.小数。 3.布尔型常量true和false。 4.字符'' 5.字符串“” 6.null常量。
       3)、对于整数而言,java有三种表现形式。十进制:0-9,满10进1。八进制:0-7,满8进1,用0开头表示。十六进制:0-9,A-F,满16进1,用0x开头表示。 
       4)、进制转换:二进制转十六进制:四个二进制位就是一个十六进制。 二进制转八进制:三个二进制位就是一个八进制。负数的二进制表现形式:对应的正数二进制取反                     加1。

2.变量:
       1) 、定义:其实就是内存中的一个存储空间,用于存储常量数据。
       2)、作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间,没有具体的值。
       3)、特点:变量空间可以重复使用。 
       4)、什么时候定义变量?只要是数据不确定的时候,就定义变量。
       5)、定义变量的格式:数据类型 变量名 = 初始化值;
       6)、数据类型:
            1:基本数据类型:byte(一个8位)、short(两个8位)、int(四个8位)、long、float(四个8位)、double(八个8位)、char、boolean 。
            2:引用数据类型: 数组、类、接口。
                     级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
                     自动类型转换:从低级别到高级别,系统自动转换的;
                     强制类型转换:什么情况下使用?把一个高级别的数赋给一个比该数的级别低的变量。
                     ASCII码:a 97;   A 65;  0 48;



五.运算符:

包括:1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.位运算符 6.三元运算符。


1.算术运算符。
    + - * / %
    +:连接符。
    ++,--:自增,自减。例如:int a = 3; b=++a; c=a++; a和b同时变为4,但c仍为3。

2.赋值运算符。
    =  += -= *= /= %=

3.比较运算符。
    特点:运算完的结果,要么是true,要么是false。 

4.逻辑运算符。
    &  |  ^  !   &&   ||
    逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。
    &: 只有两边都为true结果是true。否则就是false。 注意:一个数异或同一个数两次,结果还是那个数。例:7 & 3 & 3 = 7;
    |:只要两边都为false结果是false,否则就是true
    ^:异或:和或有点不一样。两边结果一样,就为false。两边结果不一样,就为true.
    & 和 &&区别: & :无论左边结果是什么,两边都参与运算。
     &&:短路与,如果左边为false,那么右边不参数与运算。
    | 和|| 区别: |:两边都运算。 ||:短路或,如果左边为true,那么右边不参与运算。

5.位运算符:
           用于操作二进制位的运算符。
  &  |  ^ 
  <<  >>   >>>(无符号右移)
           例如:3<<1 等价于 3乘以2的1次幂。
                 6>>1 等价于 6除以2的1次幂。
                 >>:最高位补什么由原有数据最高位而定。
                 >>>:无论做高位是0还是1,都补0。

6.三元运算符:
             格式:(条件表达式)?表达式1:表达式2;
             如果条件为true,运算后的结果是表达式1;如果条件为false,运算后的结果是表达式2。



六.语句:

包括:1.判断结构,2.选择结构,3.循环结构。

1.判断结构:
           三种格式:
                    1)、if(条件表达式)
                         {
                           执行语句;
                          }
                    2)、if(条件表达式)
                         {
                           执行语句;
                          }
                         else
                         {
                           执行语句;
                          }
                    3)、if(条件表达式)
                         {
                           执行语句;
                          }
                         else if (条件表达式)
                         {
                           执行语句;
                          }
                         ……
                         else
                         {
                           执行语句;
                          }
           注意:第三种格式如果上一个条件满足时下面的不再运算。

2.选择结构:
           格式:
                switch(变量){
                    case 值:要执行的语句;break;
                     …
                    default:要执行的语句;break;
                             }
           注意:switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种,因为前三种可以自动的转化为int型。

3.循环语句:
           1)、while语句格式:
                              while(条件表达式)
                              {
                                执行语句;
                               }
           2)、do while语句格式:
                                 do
                                 {
                                   执行语句;
                                  }while(条件表达式);
                注意:do while特点是条件无论是否满足,循环体至少被执行一次。
           3)、for循环格式:
                            for(初始化表达式;循环条件表达式;循环后的操作表达式)
                            {
                              执行语句;
                             }

4.最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

5.这些语句什么时候用?
                   1)、当判断固定数的值的时候,可以使用if,也可以使用switch。但是如果判断的具体数值不多建议使用switch,效率相对较高。
                   2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
                   3)、当某些语句需要执行很多次时,就用循环结构。 while和for可以进行互换。区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量                                在内存中释放。

6.break和continue区别?
                    break:作用于选择语句switch ,和循环语句,用于跳出,或者称为结束。
                    continue:只作用于循环结构,继续循环用的。作用:结束本次循环,继续下次循环。

7.语句嵌套形式:其实就是语句中还有语句。



七.函数。

1.定义:
       函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

2.格式:
       修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…){
执行语句;
return 返回值;
}
       当函数没有具体的返回值时,返回的返回值类型用void关键字表示。
       如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
       return的作用:结束函数。结束功能。

3.特点:
       1)、定义函数可以将功能代码进行封装。
       2)、便于对该功能进行复用。
       3)、函数只有被调用才会被执行。
       4)、函数的出现提高了代码的复用性。

4.函数的应用:
             两个明确:
                      1)、明确要定义的功能最后的结果是什么。
                      2)、明确在定义该功能的过程中,是否需要未知内容参与运算。

5.重载:
       1)、定义:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数不同或者参数类型不同即可。
       2)、当定义的功能相同,但参与运算的未知内容不同用重载。
       3)、如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。



八.数组。

1.定义:
       同一种类型数据的集合。其实数组就是一个容器。

2.好处:
       可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。(注意:length代表数组长度)。

3.格式:
       1)、元素类型[] 变量名 = new 元素类型[元素的个数];
       2)、元素类型[] 变量名 = {元素1,元素2...};
       3)、元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};

4.java分了5片内存:寄存器,本地方法区,方法区,栈,堆。
栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 )。只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体(就是用于封装多个数据的)。
注意:
     1)、每一个实体都有内存首地址值。
     2)、堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。 
     3)、垃圾回收机制。

5.数组操作常见问题:
                   1)、数组脚标越界异常(ArrayIndexOutOfBoundsException)
                        例如:int[] arr = new int[2]; System.out.println(arr[3]); 访问到了数组中的不存在的脚标时发生。
                   2)、空指针异常(NullPointerException)
                        例如:int[] arr = null; System.out.println(arr[0]); arr引用没有指向实体,却在操作实体中的元素时。

6.数组常用操作:
               获取最值(最大值,最小值),查找(逐个查找,折半查找),排序(冒泡,选择)。

7.二维数组(数组中的数组)格式:
                               1)、int[][] arr = new int[3][2];
                               2)、int[][] arr = new int[3][];
                               3)、int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值