zoukankan      html  css  js  c++  java
  • Unit5Java数据类型

    Unit5Java数据类型

    一、Java标识如何命名

    • 标识符就是名字,包括变量名,类名,方法名

    • Java标识符命名规则:由数字,字母,$组成,不能以数字开头,不能是关键字

    二、Java关键字

    abstractcontinuefornewswitch
    assert default goto package synchronized
    boolean do if private this
    break double implements protected throw
    byte else import public throws
    case enum instanceof return transient
    catch extends int short try
    char final interface static void
    class finally long strictfp volatile
    const float native super while
    • Java关键字全部小写

    • goto和const是Java关键字,但不能使用

    三、Java中的变量

    • 变量就是值可变

    • 分为局部变量和成员变量

    • 注意事项:局部变量使用前必须初始化,就是明确赋值,它没有默认值;成员变量有默认值。

    四、Java的数据类型

    • Java语言提供11种数据类型,8种基本类型,3种引用类型,分别是:类、数组、接口

      • Java语言的8个基本类型

        1. boolean

        2. byte

        3. char

        4. short

        5. int

        6. long

        7. float

        8. double

      • Java语言的3个引用类型

        1. 数组

        2. 接口

    五、基本类型的长度与使用规则

    • Java中的数字,区分正负

      1. boolean布尔型,值只能是true或false,不能是0或非0.长度不明确

      2. byte 字节型,长度是1个字节,8位,表示的数的范围:-128~127

      3. char 字符型,长度是2个字节,16位,使用Unicode编码,没有负数,表示数的范围:0~65535

      4. short 短整型,长度是2个字节,16位,表示数的范围是:-32768~32767

      5. int 一般整型,长度是4个字节,32位

      6. long长整型,长度是8个字节,64位,long类型后可以L或小写l,如果数值超过了int的最大值,L或l是必须的

      7. float 浮点数,就是小数,长度是4个字节,32位,值后面必须加F或f

      8. double浮点数,长度是8个字节,64位

    • 整数默认类型是int,小数默认类型是double

    六、基本类型转换规则

    低级类型转为高级类型,自动转换;高级类型转为低级类型,强制转换。boolean不能参与转换

    低级类型    》》》》》》》》》》》》》》》》》》高级类型
    byte -> short -> int -> long -> float -> double
    char->int

    七、引用类型

    • 共三种:类,数组,接口

    • 以对象的形式存在

    • 内容的逻辑划分

      1. 栈 先进后出;存放局部变量,由操作系统管理

      2. 堆 new出来的对象全部放在堆区。new的时候在堆区开辟新的内存单元,内存单元有唯一的编号,每次new都会长生一个新的编号,也就是对象的地址

      3. 全局数据区 放全局数据,比如:static变量

      4. 代码段 放程序代码

    八、Java垃圾回收机制

    • 垃圾:无用的对象,仍占据内存空间,这就是垃圾

    • Java自动垃圾回收:new出来的对象放在堆区,程序员无需自己回收,JVM会自动回收,减轻程序员负担

    • 垃圾回收:Garbage Collection 简称GC

    • Java种有没有可能存在内存泄漏?有可能

    • 能不能用System.gc()强迫JVM进行垃圾回收?不能强制,只是建议JVM做垃圾回收

    九、Java值传递

    1. 基本类型值传递

      基本类型传值,其实就是值的复制过程,把num的值80,复制一份给形参count,在half方法里,count的值变成了40,相当于复印件变成了40,原件num的值依然是80。

      public class Test1 {
         public int half(int count) {
             count = count / 2;
             return count;
        }

         public static void main(String[] args) {
             int num = 80;
             Test1 test1 = new Test1();
             int result = test1.half(num);
             System.out.println("num的值是" + num);
             System.out.println("返回值是" + result);
        }
      }
    2. 引用类型值传递

      引用类型传递也是复制过程,只是复制的是对象的地址

    十、面试题

    1. goto和const是不是Java关键字?

      是Java关键字

    2. 局部变量使用注意什么?

      使用前要先赋值

    3. 局部变量有没有默认值?

      没有默认值

    4. Java中能否用汉字当变量,方法名字?

      可以

    5. float数据的f或F能不能省去?

      不能

    6. Java基本类型转换规则是什么?

      低级转高级自动转换,高级转低级强制转换

    7. 简述JavaGC机制

      new出来的对象放在堆区,程序员无需自己回收,JVM会自动回收,减轻程序员负担

    8. 能否用System.gc()强迫JVM进行垃圾回收?

      不能,只是建议JVM进行垃圾回收

    9. 内存的逻辑划分是哪些?各存储什么?

      栈:存储局部变量

      堆:new出来的对象全部放在堆区,每new一个,就会产生一个新的编号

      全局数据区:放全局变量

      代码段:放程序

    10. 基本类型和引用类型值传递的特点是什么?

      基本类型是复制的值,引用类型复制的是地址

    十一、任务

      • 交换数字:a=20,b=30要求:不使用中间变量

        public class Exchange {
           public static void main(String[] args) {
               int a = 20;
               int b = 30;
               a = a^b;
               b = a^b;
               a = a^b;
               System.out.println("a的值是"+a +"b的值是"+b);
          }
        }


    软件下载提取码:qwer
  • 相关阅读:
    RESTful API 架构解读
    在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)
    在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)
    linux 常见操作指令
    前端数据存储方案集合(cookie localStorage等)以及详解 (二)
    无法从其“Checked”属性的字符串表示形式“checked”创建“System.Boolean”类型
    VS2012使用验证控件出现[ASP.NET]WebForms UnobtrusiveValidationMode 需要 'jquery' 的 ScriptResourceMapping。請加入 ScriptResourceMapping 命名的 jquery (區分大小寫)。的解决办法。
    使用SHFB(Sandcastle Help File Builder)建立MSDN风格的代码文档
    常用正则表达式总结
    sql 中有关时间的语句
  • 原文地址:https://www.cnblogs.com/ty0910/p/14388170.html
Copyright © 2011-2022 走看看