码迷,mamicode.com
首页 > 其他好文 > 详细

基本数据类型

时间:2016-10-21 13:40:24      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:用法   情况   获取   整数   ble   输入   nic   system   安全   

一、char类型

  1、char数据类型一般用单引号包括

    有一些字母对应的Unicode编码为:

    0~9:              48~57

    A~Z:     65~90

    a~z:      97~122

  2、转义字符

    转义字符是"\",通过转义字符可表示一些特殊的字符

    例如:

    ‘\n‘表示回车

    ‘\t‘表示制表符

    ‘\\‘表示\

    ‘\‘‘表示单引号

    ‘\‘‘‘表示双引号

    ‘\u4e2d‘表示Unicode编码对应的字符(汉字:中)20013

  3、数据类型之间的转换

    a、小数据类型和大数据类型之间的转换

      小类型向大类型的转换会自动完成,自动类型转换也叫“隐式类型转换”

      自动转换的规则:符号位会自动扩展,负数补1,正数补0

      自动类型转换包括以下情况:

        (1)、byte->short->int->long->float->double

        (2)、int和char类型的数据在某些情况下可以自动相互转换

    b、整数到浮点数转换会损失精度

    int类型:4个字节,32位

    long:8个字节,64位

    将int类型转换为long类型时,高32位自动补1

    

    c、小转大一般是安全的,当时当精度高转向精度低时,会有精度丢失的隐患

      int类型转换为float(int的精度为31位,float 的精度为23位)

      会丢失精度

      long类型(精度有63位)转换为double类型(精度有52位)都是8个字节64位

      这个也会丢失精度

      long l = 0x20000000000001L;(16进制数,每一个数代表4位二进制数,所以14*4=56位)

    d、大类型向小类型转换

      1、强制类型转换

        java在进行整数类型的运算时,默认是作为int类型

        java在明显的可以算出运算结果的运算会直接算出结果,不经过编译器(只要不超过类型所表示的范围)

      2、强制类型转换

        btye类型是8位。在补码中,符号位,为1时是负数,为0时是正数

        二进制的最高位是符号位,0表示正数,1表示负数

        正数的值是其本身,负数的值是最高位(符号位)不变,(即正负号不变,但是逐位取反时,所有位都要取反,最高位也是),其它位逐位取反,再加1.

        byte字节类型,

        1 00000001=257

        这有9位数,最高位要舍弃,因为byte只能保存8位

        00000001,所以强制类型转换后的值为1

 

        3、int类型和char类型的转换

          java对char类型的数据在底层是按int 类型来处理的

          int类型与char类型在赋值时可以自动转换

          例如:char c=65;//将int数值65自动转为A赋值给C

          int i=‘B‘;//将char类型的值B,自动转为66赋值给int型的变量i

          System.out.println(c+","+i);

          输出的结果为A,66

        4、字符类型的数值可进行数值计算

          将字符类型的数据与普通数值进行计算

          char c=‘A‘;

          int i = c+1;

          c=(char)(c+1);后面这个为int类型,赋值给char类型要强制类型转换

二、通过args数组获取数据

  1、有几个常见的包装类用法

  

1 int a=Integer.MIN_VALUE;//a的值为int类型的最小值
2         int b=Integer.MAX_VALUE;//int类型的最大值
3         int Integer.parseInt(String s);//将字符串类型的整数转换为int类型的数据
4         String Integer.toBinaryString(int value);//将十进制转换为二进制,返回结果为String 类型
5         String Integer.toHexString(int value);//将十进制转换为十六进制,返回结果为String 类型

  2、实例

1 public static void main(String[] args) {
2         // TODO Auto-generated method stub
3         int a = Integer.parseInt(args[0]);
4         int b = Integer.parseInt(args[1]);
5         System.out.println(a + "+" + b + "=" + (a + b));
6         System.out.println(a + "-" + b + "=" + (a - b));
7 
8     }

技术分享

在run configurations这里配置,运行时的信息,在arguments中输入需要传入的args字符串参数,然后转为int,得到运算结果。

三、通过scanner从控制台获取数据

  1、String next()接收控制台输入的一个字符串

  2、String nextLine() 接收控制台输入的一个字符串

  3、int nextInt() 接收int类型的一个数据

  4、double nextDouble()

  5、boolean nextBoolean()作用同上

  6、输入char类型的数据

    Scanner类没有提供直接输入char类型的方法,

    通过charAt()方法从next()或者nextLine()获取输入的字符

    char String.charAt(int index);

    从字符串中获取指定下标的字符,下标从0开始

    例如:“abc”.charAt(0)的结果是a

    实例:

1         Scanner scanner = new Scanner(System.in);//变量scanner在栈空间,new出来的对象在堆空间
2 //        scanner变量存放的是对象在堆空间中的一个地址
3         String name = scanner.next();
4         System.out.println(name);
5         

  7、自增和自减和自乘自除

  ++i:先加1, 先将i的值加1,再赋值

  i++:后加1,先赋值,再将i的值加1

   i*=n;i/=n;

  i=i*n;i=i/n;

8、不借助第三个变量,交换两个变量的值

  a=a+b;

  b=a-b;

  a=a-b;

9、java的错误类型:

  程序的错误分为:

  ①编译期语法错误:可以借助eclipse的提示修改

  ②运行期异常错误:系统会提示错误类型和出错的位置

  ③运行期编译错误:

  逻辑错误:程序可以编译运行,但执行的结果不是预期的结果(或者说是不正确的结果)。

 

   

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      

 

基本数据类型

标签:用法   情况   获取   整数   ble   输入   nic   system   安全   

原文地址:http://www.cnblogs.com/feimanzhh/p/5983337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!