zoukankan      html  css  js  c++  java
  • java的基本数据类型

    java的基本数据类型

    常量和变量
      Java常量:用文本串表示,可以区分为不同类型
      整数常量123 实数常量2.12

      字符常量‘c’
      逻辑常量true false
      字符串常量  “hello
    
    
    常量:在程序运行期间其值保持不变的变量。
      final定义常量——用符号表示常量
      final double PI = 3.14159; // PI是实数类型常量

    变量

      定义:值在运行时可以改变的量
      每个变量属于特定的数据类型,使用前要先声明,然后赋值,然后才能使用
        变量的定义和初始化         int x = 9;
        变量有一个名字,在内存中占存储单元,存储单元中存放变量的值(区分变量的名和变量的值)
     
    数据类型
    (1)整数类型
      特点:无小数部分;允许负数   byte、short、int、long(L)
        Java:整数的范围与Java代码所在机器无关
        Java中整数类型的三种表示形式:
          十进制整数:如,2,-6;
          八进制整数:以0开头,如02;
          十六进制整数:以0x开头,如Ox5317
      注意:这里没有二进制!!!

    (2)字符类型
       用‘’表示字符常量
        char c1 = ‘a’;   char c2 = ‘人’
      char :16位;使用Unicode编码
      可用十六进制编码形式表示
        5317 4EAC 6B22 8FCE 4F60 (16进制)
        使用‘’将其后的字符转换成其他含义
          ‘
    ’表示回车;
          ‘u5317’代表编码为5317 (16进制)的字符:‘北’
    System.out.print('u5317');
    System.out.print('u4eaC');
    System.out.print('u6B22');
    System.out.print('u8FCE');
    System.out.print('u4F60');
    //输出:北京欢迎你
      区分字符和字符串

    (3)浮点类型
      Java中的实数类型 float(4字节)、double(8字节,双精度)
      两种表示方法:
        十进制形式  如3.14,.314   314.0
        科学计数法,如:5e-3F
      默认为double型,若声明一个float型,需要在数字后面加上f或F
        double a = 12.3;       float f = 12.3f;
    float f = 12.3;
    System.out.println(f);//错误!提示精度缺失!
    //java中12.3默认我double类型。将其赋值给float类型的变量f,可能造成ing度缺失,所以报错!!!
    
    double pi = 3.1415926;
    int p = (int)pi;
    System.out.println(p);//p=3
      注意:计算机中无法精确表示实数

    (4)布尔类型 boolean
        用于判断逻辑,包含:false和true
        注意:只能取true和false,不能以0或非0整数来代替
     

    (5)基本类型数据之间的转换
    <1>类型的兼容转换
    float f = 1.0f;
    double d = f;
    <2>强制类型转换: (类型指示符)表达式
                double pi = 3.1415926;
                int p = (int)pi;//p=3
    
    转换规则:
    基本数据类型转换规则小结
      容量小的转换成容量大的(隐式的自动转换)
        byte short char->int->long->float->double
        byte short char互相之间不转换,用时全部转换成int类型
      容量大的类型转换成容量小的类型时,要加强制转换符,但可能降低精度或造成溢出
      多种类型混合运算时,系统自动将所有类型转换成容量最大的类型,再进行计算
      对于一个整数,编译器当作int型(默认)
      对于一个小数,编译器当作double型(默认)
      boolean类型和其他类型不能互相转换
     
    数据类型大小、范围、默认值如下:
    数据类型            大小(位)       范围                                                 默认值 

    byte(字节) 8 -128 - 127 0
    shot(短整型) 16 -32768 - 32768 0
    int(整型) 32 -2147483648-2147483648 0
    long(长整型) 64 -9233372036854477808-9233372036854477808 0
    float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
    double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
    char(字符型) 16 ‘ u0000 - uffff ’ ‘u0000 ’ 使用的Unicode值  表示的,格式是‘uXXXX’。XXXX表示一个十六进制的整数。如:‘A’、‘9’、‘0’等。
    boolean(布尔型) 1 true/false false

    实例:
    int i1 = 123; 
    int i2 = 456;
    double d1 = (i1+i2)*1.2;//系统将转换为double型运算
    
    float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
    
    byte b1 = 1; //整形常量赋值且未超出范围,可以直接赋值
    
    byte b2 = 2;//整形常量赋值且未超出范围,可以直接赋值
    
    byte b3 = b1+b2;//错误!!!!系统将转换为int型运算,需要强制转换符改为(byte) (b1+b2);
    
    System.out.println(b3);
    double d2 = 1e200;
    float f2 = (float)d2;//会产生溢出
    
    System.out.println(f2);
    
    
    
     float f3 = 1.23;//错误!!!要换成1.23f
     long l1 = 123;
     long l2 = 30000000000;//错误!!!数制超出了int的范围,必须加L
     float f = l1+l2+f3;//系统将转换为float型计算
    
     long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)
    

      

    原码+补码+反码
    原码:本身的值。
    原码符号位不变->其他位取反,得到反码->再加1 得到补码。

    补码减1,得到反码->反码符号位不变,其他位按位取反 ->得到原码。


    需要注意的事项:
    double d1=1/3;//这里d1的值是0
    
    1/3是两个整数相除,首先做的是整数运算,结果是0。直接赋给d1,所以d1=0;
    需要做如下修改就可以:
    public class Test
    {
    	public static void main(String[] args)
    	{
    		double d1=1/3;
    		System.out.println(d1);
    		
    		double d2=1/3d;
    		System.out.println(d2);
    	}
    }
    
    结果:
    
    
     
  • 相关阅读:
    focus([[data],fn]) 当元素获得焦点时,触发 focus 事件。
    dblclick([[data],fn]) 当双击元素时,会发生 dblclick 事件。
    click([[data],fn]) 触发每一个匹配元素的click事件。
    change([[data],fn]) 当元素的值发生改变时,会发生 change 事件。
    blur([[data],fn]) 当元素失去焦点时触发 blur 事件。
    toggle([speed],[easing],[fn]) 用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。
    hover([over,]out)
    triggerHandler(type, [data])
    trigger(type,[data]) 在每一个匹配的元素上触发某类事件。
    one(type,[data],fn) 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
  • 原文地址:https://www.cnblogs.com/lixiaolun/p/4309240.html
Copyright © 2011-2022 走看看