您的位置:首页 > 编程语言 > Java开发

Java中的变量、基本数据类型及它们之间的转换

2018-02-08 23:28 585 查看

Java中的变量、基本数据类型及它们之间的转换

1.变量:存数的,代词,指代它所存的那个数

  1)声明:
      int a; //声明一个整型的变量,名为a
 int b,c,d; //声明三个整型的变量,名为b,c,d
  2)初始化:第一次赋值
        2.1)声明同时初始化
     int a = 100;
2.2)先声明后初始化
     int a;
     a = 100;
  3)使用:
        3.1)对变量的使用就是对它所存的那个数的使用
         int a = 5; //声明整型变量a并赋值为5
 int b = a+10; //取出a的值5,加10后,再赋值给整型变量b
 System.out.println(b);   //输出变量b的值15
 System.out.println("b"); //输出b,双引号中的原样输出
 a = a+10; //取出a的值5,加10后,再赋值给a
           //在a本身基础之上增10
                  System.out.println(a); //输出变量a的值15
3.2)变量的操作必须与数据类型匹配
         int a = 3.14; //编译错误,数据类型不匹配
3.3)变量在用之前必须声明并初始化
         System.out.println(m); //编译错误,m未声明
 int m;
 System.out.println(m); //编译错误,m未初始化
  4)命名:
        4.1)只能包含字母、数字、_和$符,并且不能以数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)可以中文命名,但不建议
   建议:"英文的见名知意"、"驼峰命名法"

2.基本数据类型:

  1)int:整型,4个字节,-21个多亿到21个多亿
        1.1)整数直接量默认为int型,但不能超范围,超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃
1.3)运算时超出范围则发生溢出,溢出是需要避免的
  2)long:长整型,8个字节,很大很大很大
        2.1)长整型的直接量,需在数字后加L或l
2.2)算术运算时若有可能溢出,建议在第1个数字加L
2.3)System.currentTimeMillis()用于获取自
   1970.1.1零时到此时此刻的毫秒数
  3)double:浮点型,8个字节,很大很大很大
        3.1)浮点型直接量默认为double型,表示float时需在数字后加f或F
3.2)浮点型数据参与运算时,有可能会出现舍入误差
  4)boolean:布尔型,1个字节
    4.1)只能装true和false
  5)char:字符型,2个字节
        5.1)采用Unicode字符集编码,每个字符都有一个对应的码
   表现形式为字符char,但实质上是码int(0到65535之间)
(ASCII码: 'a'--97  'A'--65  '0'--48 )
5.2)字符直接量必须放在单引号中,有且仅有一个
5.3)特殊符号需要通过\来转义

3.基本数据类型间的转换:

    数据类型从小到大依次为:
 byte,short,int,long,float,double
   char,
  1)两种方式:
        1.1)自动类型转换:小类型到大类型
           char -->int
           byte-->short--> int--> long--> float-->double
           byte b = 12;
           short s = b;  //正确的
           int i = b;  //正确的
           i = s;     //正确的
           float f = 3.14;   //报错的
           大转小,不能自动转:因为有可能会造成数据精度丢失或数据溢出
1.2)强制类型转换:大类型到小类型
    (要转换成为的数据类型)变量
    强转有可能会溢出或精度丢失
             long l = 234;
             int i = (int)l;
 
           容易出问题的类型转换:
            char -->  int  自动转换
            char --> byte  强制转换
            byte --> char  强制转换
 
            short --> char  强制转换
            char -->short   强制转换
        
  2)两点规则:
        2.1)整数直接量可以直接赋值给byte,short,char,
   但不能超出范围
2.2)byte,short,char型数据参与运算时,
   先一律转换为int再运算
            byte + byte
baa7
-- >int
            byte + short -- >int
            char + char -->int
            导致的结果:
            byte b1 = 1,b2 = 3;
            byte b3 = b1+b2;  //报错的
 
            注意点:
               byte b1 = 1,b2 = 3;
               byte b3 = b1+b2;  //报错的
               byte b4 = 1+3;  //正确的
          原因:
          如果是整数直接量进行运算,编译器在编译期会进行类型优化。而如果是          变量,编译期不会进行优化。
4.Scanner的用法:
  1)在package下:
      import java.util.Scanner;
  2)在main()方法中:
      Scanner scan = new Scanner(System.in);
  3)在第2步之下:
      System.out.println("请输入年龄:");
      int age = scan.nextInt();
 System.out.println("请输入价格:");
 double price = scan.nextDouble();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: