1:java基本数据类型

来源:互联网 发布:centos和redhat哪个好 编辑:程序博客网 时间:2024/05/16 12:30

1 变量
 1 他 她 我 你 某人 佚名 旺财 X-man x = 1
   您好! 它
 2 int age = 15;// 00000000 00000000 00000000 00001111
 
 3 Java 中的变量
   a Java是强类型语言,
   b 变量必须声明,并且初始化以后使用
   c 变量必须有明确的类型
   d 变量不能重复定义
 4 变量的作用域
   a 在声明的地方开始,到块结束为止
   b 离开变量的作用域结束,变量将回收。
 
2 二进制
 1 计算机内部只有二进制数据!
  int i = 5; char c = 'A';
   ‘A’-> 01000001
   15 -> 00000000 00000000 00000000 00001111
 2 二进制: 1111= 1*2^3+1*2^2+ 1*2^1 + 1*2^0
              = 1*8 + 1*4 + 1*2 + 1*1
              = 15(10)
                   
     01000001 = 1*64 + 1*1
              = 65(10)
   
    128 64 32 16 8 4 2 1
     1   1  0  0 0 0 0 0 = 192(10)
 
 3 十进制:  65 = 6*10 + 5*1
              = 6*10^1 + 5*10^0
             
   256 128 64 32 16 8 4 2 1
   95(10)=   0  1   0  1 1 1 1 1 (2)
  
 4 16进制
   0 1 2 3 4 5 6 7 8 9 a b c d e f
  10 11 12 13
  
   41(16) = 4 * 16 +1 = 65(10)
   4    1
 0100 0001(2)  
   * 将16进制作为2进制的简写形式.
  
   4e2d(16)=0100 1110 0010 1101(2)
  
 5 八进制是二进制的简写,3位对应转换
  
 练习:
  243(10)-> 1111 0011(2) -> f3(16)
 
Java的数据类型
  1 Java数据分为基本类型和引用类型.
  2 基本类型分为八种:
    byte short int long float
    double char boolean
   a 整数类型 byte short int long
     整数都是有符号整数
     byte   8bit  -128 ~ +127
     short 16bit  -32768 ~ 32767
     int   32bit  -2G ~ 2G-1  -2^31 ~ 2^31-1
     long  64bit  -2^63 ~ 2^63-1
    
    建议使用int, 很少使用short,
    使用int要注意取值范围, int 的值不大!
   
    直接量-字面量: 直接给出的常量值如: 1
    a 整数的直接量的类型默认是int类型
    b 以L,l为结尾的字面量是long类型
      1024
      1024L
    c 可以使用整数直接量给byte,short类型赋值
      但是不要超过byte和short的范围.
   
  2 浮点数: 就是小数, float, double
   34642323.44 = 3.464232344 * 10^7
                   尾数              指数
   10001000.(2)
   1.0001000 * 2^111(2)
   尾数            指数
   float 32位
   0     00000111 10001000000000000000000
   符号位 指数       尾数
  
   int a = 0x7fffffff;
   float f = a;
  
   double
   1 符号位
   11 指数
   52 尾数
  
    a double 是64位, float 32位
      double比float精确
    b 默认的浮点数字面量是: double类型的
      字面量后缀: d/D f/F
      double d = 1d;//1.0
      1 1L 1D 1F
    c 只使用double计算浮点数,float类型基本不用!
      浮点数不能给精确运算
     
     int:10001000 -> float:1.0001000*2^111
    
     0 00000111 10001000 00000000 0000000
    
 3 字符类型:char, 字符类型是一个16位无符号整数!
   a 字符类型的值是对应字符的编码, 是unicode
     编码. Java支持国际化.
     英文部分的值与ascII编码一致.
     char是定长编码, 所以的字符都是16位.
     'A' -> 0x0041
     '中'-> 0x4e2d
     在编码中: '0'~'9' , 'a'~'z', 'A'~'Z'
     都是连续编码的!
     '0'=='\u0000'  '\u0000'==0
   b 最小值:0, 最大值:65535 = 2^16-1
   c 字符字面量使用单引号为定界符号:'中'
     字面量也是整数常量!
     特殊字符采用转义字符表示:
     如: '\n' '\t' '\\' '\b' '\r'
        '\'' '\"'  '\u4e2d'
  
     char c = '\\';
 
 4布尔类型: boolean
  字面量: true false

数据类型转换:
  1 自动类型转换(隐式类型转换)
    从小类型到大类型, 自动完成
    如: int n = 'A';
       long l = 'A';
        char  ->
byte -> short -> int -> long -> float -> double
 
  2 强制类型转换, 从大类型到小类型需要强制转换
    强制类型转换有风险, 会造成精度损失或者溢出
   
    long l = 1024L*1024*1024*4;//0x100000000
    int i = (int)l;//0
   
    double pi = 3.1415926535897932384;
    float f = (float)pi;
 
Java中的方法
  1 方法就是函数: y=f(x)=3x+6;
  2 方法的语法
   (修饰词)(返回值类型)(方法名)(参数列表){
    //方法体
   }
  3 方法需要有return语句, 返回和返回值类型
     兼容的数据
  4 方法的参数和方法内部的变量 都是局部变量,
    这些变量作用域只在方法内部!
  5 实参: 方法调用的参数
    形参: 方法的参数定义,是临时变量.
  
 

0 0
原创粉丝点击