笔记整理(java基础二---常量,变量...数组)

 

1.2.1 标识符 
1.2.2 关键字 
1.2.3 注释 
1.2.4 常量 
1.2.5 进制 
1.2.7 变量 
1.2.8函数 
1.2.9 语句 
1.3.0 数组 
1.5 码表 


1.标识符
    Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 由26个英文字母大小写,数字:0-9 符号:_ $ 组成
    Java 标识符有如下命名规则:
       标识符由字母、下划线“_” 、美元符“$”或数字组成。
       标识符应以字母、下划线 、美元符开头。
       Java中严格区分大小写。
    注意:Java 标识符选取应注意“见名知意”且不能与 Java 语言的关键字重名。

    包名全部小写;
    类名和接口名:所有单词首字母大写;
    常量名全部大写,多个单词下划线隔开;
    函数名和变量名;一个单词时小写,从第二个单词开始每个单词的首字母大写
2.关键字
    访问控制:
          private 私有的
          protected 受保护的 
          public 公共的
    类、方法和变量修饰符
          abstract 声明抽象
          class 类
          extends 扩允,继承
          final 终极,不可改变的
          implements实现
          interface 接口
          native 本地
          new 新,创建
          static 静态
          strictfp 严格,精准
          synchronized 线程,同步
          transient 短暂
          volatile 易失
    程序控制语句

    break 跳出循环
          continue 继续
          return 返回
          do 运行
          while 循环
          if 如果
          else 反之
          for 循环
          instanceof 实例
          switch 开关
          case 返回开关里的结果
          default 默认

    错误处理
          catch 处理异常
          finally 有没有异常都执行
          throw 抛出一个异常对象
          throws 声明一个异常可能被抛出
          try 捕获异常
     包相关
          import 引入
          package 包
     基本类型
          boolean 布尔型
          byte 字节型
          char 字符型
          double 双精度,
          float 浮点
          int 整型
          long 长整型
          short 短整型
    变量引用
          super 父类,超类
          this 本类
          void 无返回值
3.  注释
用于注解说明解释程序的文字就是注释。
    提高了代码的阅读性。
Java中的注释格式:
  单行注释
      格式: //注释文字
  多行注释
      格式: /*  注释文字  */
  文档注释
      格式:/** 注释文字 */ 
4.  常量
常量表示不能改变的数值。
Java中常量的分类:
1,整数常量。所有整数。
2,小数常量。所有小数。
3,布尔型常量。较为特有,只有两个数值。true false 。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号标识。  
   在字符常量中,斜杠(\)是一个特殊的字符,它的作用是用来转义后面一个字符,这些字符通常是不可见的或者有特殊意义的。
       '\r' 回车,回到一行的开始      
       '\n' 换行,换到下一行
       '\t' 制表符,键盘上的Tab
       '\b' 类似退格,键盘上的Backspace
   以上字符都不可见,无法直接表示,所以用斜杠加上另外一个字符来表示。
       '\'' 单引号,Java代码中单引号表示字符的开始和结束,如果直接写程序会认为前两个是一对,报错。
       '\"' 双引号,Java代码中双引号表示字符串的开始和结尾,如果要写一个包含双引号的字符串那么这个双引号也需要转义。
       '\\' 斜杠,Java代码中的斜杠是转义字符,用来和后面一个字符配合使用,在真正需要用斜杠的时候那么就要用另一个斜杠来转义。
   以上字符都有特殊意义,无法直接表示,所以用斜杠加上另外一个字符来表示。

6,null常量。只有一个数值就是:null 。
   对于整数:java语言支持以下3种表示形式。
   八进制
   十进制
   十六进制
5.  进制
进制:
    就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
二进制:
    0-1,满2进1 。
十进制:
    0-9 ,满10进1 。
八进制:
    0-7 ,满8进1. 用0开头表示。
十六进制:

    0-9,A-F,满16进1. 用0x或者0X开头表示。
二进制图解特点:
copiedlocalimagefile1.png 
十进制转换为其他进制图解原理:
copiedlocalimagefile1.png 
其他进制转换为二进制原理图解:
copiedlocalimagefile0.png 

原码补码反码图解说明:
copiedlocalimagefile0.png 

7.  变量  
变量的概念: 
内存中的一个存储区域.
     该区域有自己的名称(变量名)和类型(数据类型)
     该区域的数据可以在同一类型范围内不断变化

为什么要定义变量: 
   用来不断的存放同一类型的常量,并可以重复使用
使用变量注意: 
     变量的作用范围(一对{}之间有效) •初始化值
定义变量的格式: 
     数据类型    变量名  =  初始化值; 
注:格式是固定的,记住格式,以不变应万变。 
理解:变量就如同数学中的未知数。 
     从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用.

作用域与生命周期:
     作用域:
         变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
     生命周期:
         变量的生命周期从定义时开始,超出作用域后结束。变量生命周期以外不能使用。
         局部变量没有固定的值,是在内存中栈中开辟的一片空间。数组中的变量只能存储同一种类型的值。
         局部变量在被取值之前必须初始化(第一次给变量赋值)。
8.  函数
    函数的定义
函数就是一段有名字的代码,可以完成某一特定功能。
如果有一段代码要使用多次,我们可以给它起个名字,每次使用时通过名字调用,这样就不用每次都写一大段代码了。
如果某个函数在执行的时候需要调用者传入数据,那么可以定义参数列表,用于接收数据。
如果函数运行之后需要返回给调用者数据,那么需要指定返回值类型,并且用关键字return返回。
定义函数的3个必要条件:返回值类型、函数名、参数列表。如果不需要参数也要写小括号,如果没有返回值类型要写void。
名词解释
形参:在定义函数时小括号中的参数,用来接收数据的参数。
实参:在调用函数时真正传入的参数,传递给函数的数据。
参数类型:函数的参数的类型,一旦定义传入时必须匹配。
返回值:函数运行结束后返回的值,使用return关键字返回。
返回值类型:函数运行结束后返回的值的类型,在类型非void情况下必须返回,而且必须类型匹配。
    特殊情况:
功能没有具体的返回值。这时return的后面直接用分号结束。
返回值类型怎么体现呢?因为没有具体值,所以不可以写具体的数据类型。
在Java中只能用一个关键字来表示这种情况。关键字是void。
总结:没有具体返回值时,返回值类型用void来表示

9.  语句
    顺序结构           
        程序从上到下一行一行执行的结构,中间没有判断和跳转,直到程序结束。
        选择结构          
        程序具备多个分支,通过条件判断决定程序选择那一条分支执行。
              if语句:
       通过if...else if...else决定程序流程。
       如果if中的条件满足则执行其中语句,if未满足则继续判断else if,如果满足则执行,不满足继续判断下一个else if,如果所有都不满足,则执行else。
        switch语句:
       通过switch...case...default语句控制程序流程。
       根据switch后括号中的值判断运行哪一个case,这个值可以是byte、short、ch;ar、int。
            default语句是可选的,如果所有case都不满足,则会执行default。
       一旦匹配到一个case,程序就会从这个case向下执行,执行完一个case之后不会跳过其他的case,如需跳过请使用break。
        三元运算符
       语法:表达式 ? 结果1 : 结果2
       如果表达式结尾为true取结果1,为false则取结果2。
       注意三元运算符也是有短路的效果,根据表达式的结果,只运行冒号一边的,另外一边的不参与运行。


        循环结构
              通过循环条件控制同一段代码反复执行多次,执行完毕程序才会继续往后运行
               while
                        先判断while中的表达式结果是否为true,true则执行循环体,执行结束之后再次判断,如果表达式结果为false则跳出循环。
               do...while
                   先执行一次循环体,然后判断while中的表达式,如果是true继续执行,如果是false则跳出循环。
               for
                  for循环的括号中有三条语句,都是可选项。
                       语句1:这条语句会在整个循环开始之前执行,且仅运行一次,不参与循环。
                       语句2:必须是一个返回boolean值的表达式,如果写了这个语句那么每次循环开始之前会判断,true则执行循环,false则不执行。没写则直接执行。
                        语句3:这条语句在每次循环体运行结束之后执行。 
               continue、break、return
                     continue:跳过一次循环,继续执行下一次
                     break:结束循环
                     return:结束方法
           总结对比 
                 if switch 的应用:
              if
                     1. 对具体的值进行判断。
                     2. 对区间判断。
                     3 . 对运算结果是 boolean 类型的表达式进行判断。
              switch
                    1. 对具体的值进行判断。
                    2. 值的个数通常是固定的。 ( 功能差,书写麻烦 )
                 对于几个固定的值的判断,建议使用 switch 语句,因为 switch 语句会将具体的答案都加载进内存, 效率相对高点。
             for while 的特点:
                 1.for while 可以互换。
                 2. 格式上的不同,在使用上有点小区别。
             如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。

       什么时候使用循环结构呢?
                   当对某些代码执行很多次时,使用循环结构完成。
                   当对一个条件进行一次判断时,可以使用 if 语句。
                   当对一个条件进行多次判断时,可以使用 while 语句。
         注意:
                在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
               循环通常情况下,需要定义条件,需要控制次数。
10.  数组     
   数组是一个类型一致,长度不可变的容器。可以通过索引操作容器中的每一个元素。
   如果有多个类型相同的数据需要存储,我们就可以将其定义为一个数组,这样做省去了创建多个变量的麻烦。
     定义数组            
           int[] arr = {1,2,3};  定义int 数组arr ,长度为3 ,其中3 个元素分别为1 2 3 。这种方式只能在给数组类型变量赋值时使用。
          int[] arr = new int[]{1,2,3};   定义int 数组arr ,长度为3 ,其中3 个元素分别为1 2 3 。可以在任何情况使用。
          int[] arr = new int[3];   定义int 数组arr ,长度为3 。其中所有元素都为默认值0
       内存结构图解:
         copiedlocalimagefile1.png

     访问数组元素、遍历数组            
       存在数组中的数据是有索引的,从0 开始递增,我们通过数组名和索引就可以操作其中每一个元素。例如:
                   System. out.println(arr[0]);           //  打印数组中索引为0 的元素
                  arr[1] = 100;          //  给数组中索引为1 的元素赋值为100
       数组的长度
                   数组可以使用length 属性获取其长度。
       遍历数组
                  由于数组可以通过索引获取每一个元素,又可以通过length 获取长度,那么我们就可以定义循环来遍历数组中的每一个元素了。

  
     使用数组异常            
       如果访问数组时索引越界(小于0 或者大于length-1 ),会抛出异常:ArrayIndexOutOfBoundsExcepion
       如果访问数组的引用为空(null) ,会抛出空指针异常:NullPointerException 
    数组相关函数           
           Arrays.toString()  查找帮助文档Arrays 类,学习使用此方法将字符串转为字符串形式。  将一个数组转为字符串表示形式
          System.arraycopy()  查找帮助文档System 类,学习使用此方法拷贝数组中元素。 将一个数组中的某些元素拷贝到另一个数组的指定位置。
    多维数组
      数组中的每一个元素都是数组,这样的数组就是多维数组。
     int[][] arr = { { 1, 2, 3 }, { 4, 5 }, { 6, 7, 8, 9 } };
              定义二维数组arr,  其中有三个元素都是数组第一个数组3 个元素第二个2 个元素第三个4 个元素.
           int[][] arr =  new int[][] { { 1, 2, 3 }, { 4, 5 }, { 6, 7, 8, 9 } };
             定义二维数组arr,  其中有三个元素都是数组第一个数组3 个元素第二个2 个元素第三个4 个元素.
           int[][] arr =  new int[3][3]; 定义二维数组arr,  其中有三个元素都是数组每个小数组都是3 个元素.
     int[][] arr =  new int[3][]; 定义二维数组arr,  其中有三个元素都是数组每个小数组元素个数不确定.

          二维数组图解说明:
                        copiedlocalimagefile0.png 
  
    数组的应用(要求掌握并能画图图解说明)
        获取最值 
       冒泡排序 
       查表法 
      折半查找  
11.  码表
      ASCII :英文码表,每个字符占1 个字节。 A 65 a 97
      GB2312 :兼容ASCII ,包含中文,每个英文占1 个字节(正数),中文占2 个字节(2 个负数)。
      GBK GB18030 :兼容GB2312 ,包含更多中文,每个英文占1 个字节(正数),中文占2 个字节(第一个负数、第二个可正可负)。
      Unicode :国际码表,每个字符占2 个字节。Java 中存储字符类型就是使用的Unicode 编码。
      UTF-8 :国际码表,英文占1 个字节,中文占3 个字节。







 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值