基本数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型相关的知识,希望对你有一定的参考价值。

一、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的提示修改

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

  ③运行期编译错误:

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

 

   

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      

 

以上是关于基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp Robolution基本代码片段

在代码片段中包含类型转换

Unity中Shader的三种基本类型

在Android中将数据从基本活动发送到片段[重复]

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。

对这个带有 & 不带 = 的代码片段返回类型感到非常困惑