zoukankan      html  css  js  c++  java
  • 第三章、Java变量与数据类型

    Java变量与数据类型

    1 变量

    1. 变量的概述

      变量是指内存中的一个存储区域,该区域要有自己的名称(变量名)、类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值。
      每个变量都有自己的作用范围,叫作用域
      
    2. 变量的注意事项

      1.Java中的变量必须声明后才能进行使用。否则编译报错。
      2.变量在使用之前必须要进行初始化才能使用变量,否则编译报错。
      3.不允许在同一段代码区域中声明相同名称的变量,否则编译报错。 
      4.每个变量都有自己独立的作用域(作用范围),变量的作用域:在一对{ } 中为有效区间。
      5.在main()方法中声明的变量叫做局部变量,局部变量作用范围是:从声明开始到方法体结束
      
    3. 变量的声明和使用

      声明:数据类型 变量名;        例如: int age;
      赋值:变量名=值;           例如:age = 18;
      声明同时赋值: 数据类型 变量名 = 值;   int age = 18;   没有特殊情况下建议使用这种方式
      使用:通过变量名访问变量的值  System.uut.println(age);  // 18
      

    2 标识符

    1.变量名必须先是标识符,标识符命名的一些规则:
    2.必须是字母、数字、下划线、$等,其中数字不能开头。
    3.不能是JAVA关键字,比如:public static class ….
    4.大小写敏感,长度没有限制,但不宜过长。
    5.标识符尽量做到见名知意,可以是汉字,但不推荐使用。
    标识符可以给类/变量/属性/方法/包 起名字
    

    3 数据类型

    数据类型是为了区分不同特点的数据而划分的数据类别。
     
    数据类型分类:
    Java分为“基本数据类型“和”引用数据类型“
    基本类型有8种。
    引用数据类型包括所有的:数组、类、接口、枚举和标注。
    枚举可以看成特殊的类,标注可以看成特殊的接口
    

    4 基本数据类型

    基本数据类型是Java事先定义好的,用关键字命名的数据类型。
     
    基本数据类型分为:
    整型      (byte、short、int、long)
    浮点型     (float、double)
    字符型     (char)
    布尔型     (boolean)
    
    1. 整型

      用于表示整数(不包含小数部分)的基本数据类型
      依据分配的内存空间大小不同,又分为四种类型
       
      数据类型            占用的空间大小     取值范围
      byte(字节型)   8位,1个字节     -128~127   
      short(短整型)  16位,2个字节        -32768~32767   
      int(整型)     32位,4个字节        -2147483648~2147483647 
      long(长整型)   64位,8个字节        -9223372036854775808~9223372036854775807
      
    2. 浮点型

      浮点型是用于表示浮点数的基本数据类型
      单精度浮点型:float    (需使用F/f进行标明)  float  number = 1.5f;
      双精度浮点型:double  (默认类型)          double  number = 5.25
       
      数据类型                    占用的空间大小 取值范围
      float(单精度浮点型)       32位、4个字节        1.4E-45~3.4028235-E38
      double(双精度浮点型)  64位、8个字节        4.9E-324~1.7976931348623157E-308
      
    3. 字符型

      字符型是用于表示单个字符的基本数据类型
      以char关键字进行标识
      字符型用于保存单个字符或汉字
      char采用unicode编码方式(8位的ASCII码包含在其中)
      字符型占两个字节(也可以赋值0-65535的数字)
       
      例如:
          public class TestType{
              public static void main(String[] args){
                  //声明char类型变量,赋值字符a
                  char char_word='a';
                  //声明char类型变量,赋值97
                  char char_temp=97;
                  //输出两个变量查看值
                  System.out.println("char_word变量输出结果是:"+char_word);
                  System.out.println("char_temp变量输出结果是:"+char_temp);
              }
          }
      
    4. 布尔型

      布尔型是用于表示逻辑状态(true和false)的基本数据类型
      布尔型特点
      用boolean关键字标识
      只有明确的两种值,true或者false
       
       
      例如:
          public class TestBoolean{
              public static void main(String[] args){
              //创建boolean类型变量b_first 并赋值true;
                      boolean b_first=true;  
                      //创建boolean类型变量b_second 并赋值false;
                      boolean b_second=false;
                  }
              }
      

    5 类型转换

    由一种数据类型转换为另一种数据类型的转换
     
    类型转换分为:
    基本数据类型间转换(自动类型转换(隐式)和强制类型转换(显示))
    引用数据类型间转换(向上转型、向下转型)
    基本数据类型和引用数据类型间转换(自动装箱、自动拆箱)
    
    • 基本类型转换

      自动类型转换(隐式)
      由低级向高级的类型转换。
      强制类型转换(显示))
      从高级别类型强制向低级别类型的转换
      

    6 常用的进制

    (1)基本概念
        日常生活中采用十进制来表示整数 ,逢十进一
        计算机采用二进制来描述整数,逢二进一
            八进制和十六进制等....
     
     
    (2)十进制和二进制之间的转换(重点掌握)
     
        a.正十进制转二进制
            除二取余法,让十进制整数不断的除以2取出余数,直到商为0时候将余数逆序排序
            拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重则在下面写1否则写0即可
     
            20----16+4
     
                             2^4 2^3 2^2 2^1 2^0
                              16  8   4   2   1
                              1   0   1   0   0
     
     
     
        b.正的二进制转换为十进制
            加权法,让二进制的每个数字乘以当前位的权重再相加即可
     
     
        如:0010101   --- 21
                        2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
                        128 64  32  16  8     4   2   1
                                     1  0     1   0   1
     
    练习:
        37 和 65 转换为二进制,再转换成十进制
     
     
    c.负十进制转换为二进制的方式
        1>将绝对值转换为二进制,再进行按位取反加1
     
     
    如: -20
     
        -20的绝对值转换为二进制:0001 0100
        按位取反:1110 1011
        再加一:     1110  1100
     
    d.负二进制转换为十进制的方式
        1.先进制按位取反再加1,然后转为十进制整数后添加符号即可
     
        如:1110 1100
            按位取反 : 0001 0011
            再加一:    0001 0100
            转换为十进制:20
            添加符号: -20
     
    总结:
        再计算中采用二进制序列中的最高为(最左边)代表符号为,使用1代表负数,0代表非负数
     
     
     
    练习:
        45 和 -45 转换为二进制
        78 和 -78 转换为二进制
     
     
    (3)二进制和八进制之间的转换(熟悉)
     
        a.二进制转换为八进制的方式
            将每3为二进制合并为一位八进制,并使用0作为前缀代表八进制
     
            如:
                011 001 (二进制) ----- 032(八进制)
     
                011 101 100 (二进制)---- 0354(八进制)
     
        b.八进制转换为二进制的方式
            将每一位八进制拆分为三位二进制,并使用0b最为前缀带二进制(jdk1.7新特性)
     
        如:
            075(八进制) ---->    ob111  101 (二进制)
     
     
    (4)二进制和十六进制之间的转换(熟悉)
     
        a.二进制转换为十六进制方式
            将每四位二进制合并为一位十六进制,并使用0x作为前缀代表十六进制
     
     
        如:
            1010 0011(二进制) --->   0xa3  (十六进制,使用a~f代表 10~15之间的整数)
     
     
        b.十六进制转换为二进制的方式
            将每一位十六进制拆分为四位二进制,并使用0b作为前缀代表二进制
     
            如:
                0x8c(十六进制)  ---> 0b 1000 1100(二进制)
    

    7 单个字节代表的整数范围(重点中重点)

        在计算中单个字节表示8位二进制,描述的整数范围是:
        对于非负数来说,描述范围:0000 0000 ~ 0111 1111 =>
     
        0000 0000 ----> 0
        0111 1111  ----> 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
                  ---->     64      32      16      8       4       2       1
                  ---->127
     
        对于负数来说   描述的范围 :1000 0000 ~ 1111 1111
        1000 0000 = 按位取反   0111 1111
                    再加1:1000 0000
                 =  转换位十进制整数 128
                = 添加符号  -128
     
     1111 1111 => 按位取反  0000 0000
              => 再加1: 0000 0001
                 =  转换位十进制整数 1
                = 添加符号  -1
     
     
    综上所述:
        对于单个字节所能描述的十进制整数范围  : -128 ~ 127
    

    8 Java集成开发环境

    作用:用于提供代码编辑、编译、调试等.....
     
     
    常用的IDE:Eclipse、Myeclipse、IDEA
    
    1. 下载eclipse

      通过百度、搜狗等去过去
       
       www.eclipse.org/downloads/
      
    2. 安装Eclipse

      eclipse-jee-mars-2-win32-x86_64.zip
       
       
       
      找一个盘符右键解压到当前的目录----->双击打开解压后的文件  --->找到 eclipse.exe 右键发送到桌面快捷方式,双击打开 ----> 弹出一个窗口,作用是选择工作空间,以后的代码项目都会保存到你指定的文件中,点击确定 ---->  弹出一个大窗口,看见欢迎页,这时候把欢迎页关闭即可。
       
       
       
      切换工作空间
          菜单栏中File--- swith workspace
       
       
      使用eclipse开发java的步骤
       
          1.创建一个java项目
       
              1).第一种方式创建:在包资源管理器(package explorer)窗口中鼠标右击任意位置选择 New --- > Java Project,如果找不到那么选择other  ---- >在搜索框中输入 “ Java Project”  --- 找到后双击
              2).第二种方式创建:File --- > Java Project,如果找不到那么选择other  ---- >在搜索框中输入 “ Java Project” --- 找到后双击
              3).第三种方式: 在工具条上点击新建按钮 (位于 file 下面) 选择  Java Project,如果找不到那么选择other  ---- >在搜索框中输入 “ Java Project”  --- 找到后双击
       
       
          2.创建java源程序
              在项目中找到 src ---- 右键点击class  ---   输入类名(回车)
       
       
          3.编译java源程序  --------   eclipse自动编译
       
          4.运行java程序
              项目中右键----run    --- java application
       
       
       
      字体设置
          window----- preferences  ---  General ---  Appearnce --  Colors and Fonts   ---  Basic  --- Text Font  双击
       
       
       
      常用快捷键
              Alt+/                   辅助提示
              Ctrl+/                  添加或取消单行注释
              Ctrl+Shift+F            格式化当前代码
              Ctrl+Shift+/            添加多行注释
              Ctrl+Shift+            取消多行注释
              Ctrl+D                  删除当前行
              Ctrl+Z                  代码回退
              Ctrl+S                  保存代码  --- 当保存的时候会重新编译    (注意:养成一个良好的编程习惯,写一行代码保存一下)
       
      案例:
          使用Eclipse 创建Java应用程序,实现输出个人信息功能
      

    9 Java中Scanner实现输入

    是Java中用于实现从控制台读取用户输入的类。
     
    使用步骤
        1.导入包     
            import java.util.Scanner;
        2.创建Scanner对象
            Scanner input = new Scanner(System.in);
        3.调用Scanner对象的方法,实现读取
     
     
            方法名称        说    明
            next()      查找并返回来自此扫描器的下一个完整标记,返回一个字符串
            nextLine()  返回Enter键之前的所有字符
            hasNext()   判断扫描器的输入中是否包含下一个标记
            nextByte()  将输入的下一个标记扫描为byte
            nextShort() 将输入的下一个标记扫描为short
            nextInt()   将输入的下一个标记扫描为int
            nextLong()  将输入的下一个标记扫描为long
            nextFloat() 将输入的下一个标记扫描为float
    

    next()和nextLine()区别

    next()
        不包含有效字符前的空格
        在输入有效字符之后,将其后输入的空格
        键、Tab键或Enter键等视为分隔符或结束符
    nextLine()
        包含有效字符前的空格
        结束符只是Enter键
    
  • 相关阅读:
    域名、主机名、网站名以及 URL 基础概念
    c# oracle 数据库连接以及参数化查询
    c# 委托(Func、Action)
    xcode pod install 安装失败,提示缺少文件
    一个服务器的IIS只能绑定一个HTTPS也就是443端口
    APP UI设计及切图规范
    Day7 字符串和常用数据结构
    Day6 函数和模块的使用
    Day5 练习
    python 疑难杂症
  • 原文地址:https://www.cnblogs.com/borntodie/p/14092703.html
Copyright © 2011-2022 走看看