JAVA基础入门常量、变量、数据类型转换相关

1、什么是常量:在程序执行的过程中其值不可以发生改变。(很通俗,没毛病)

      Java中常量的分类包括字面值常量 和自定义常量,字面值常量包括字符串常量、整数常量、小数常量、字符常量、布尔常量、空常量。


2、什么是变量:表示一块内存找那个数据的存储空间,用来存放同一种类型、可以改变的值。

       特点:变量必须先声明后使用。

   里面的值可以改变,一个变量只能存一个值。

   变量是有作用域的作用域只在声明它的那个{}。

   变量的三要素:数据类型、变量名、变量值。


3、变量的数据类型:

基本数据类型:

整形:byte 一个字节

              short2个字节

                 int4个字节

                long8个字节

          浮点型:float 4个字节 十进制科学技术法小数点后6—7位

              double 8个字节十进制科学技术法小数点后15—16位

              字符型:char        2个字节采用Unicode字符集,每个字符都有唯一一个二进制代码

              布尔型:boolean 只有两个值true和false


      引用数据类型:

类:例如String (String不是数据类型) 

接口

数组


4、基本数据类型转换:

自动类型转换(隐式转换、自动类型提升):取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的再运算。

JAVA基础入门常量、变量、数据类型转换相关_第1张图片

char、byte、short之间不会相互转换,它们三者在计算时首先转为int类型。

字符串与任何基本数据类型进行运算,都将转换为字符串类型,但是要考虑优先级(就近)。

例如:

int i = 10;

int j =10;

String s = "sss";

System.out.println(i+j+s);//结果为“20sss”

System.out.println(s+i+j);//结果为“sss1010”

字符串不能直接转为基本数据类型,但可以转为对应的包装类再自动拆箱。

强制类型转换:将取值范围大的数转换为取值范围小的数据类型时需要加上强制转换符(),但可能造成精度降低或移除。

自动类型提升: 强制类型转化

int a = 10;int a =10;

byte b = 10;byte b = 10;

a =a+b;b = (byte)(a+b);


5、数据类型相关的细节问题汇总: 

1)Java中的整形常量默认为int型;声明long型常量后面需加L或者l。    

2)Java中的浮点型常量默认为double型;声明float型常量后边需加F或者f。

  例如:long i = 10;//这样是不报错的 自动类型提升。

  floate i = 1.0; //报错,需要强转。

3)char类型是可以进行运算的因为它有对应的Unicode码。(‘0’ = 48,‘A’ = 65,'a' = 97)。

4)可以直接使用Unicode值来表示字符型常量:‘\Uxxxx’ 其中xxxx代表一个十六进制整数

特殊:‘\U0000’ 是个换行符    //char c = '\U0000a'   会编译报错。

你可能感兴趣的:(JAVA基础入门常量、变量、数据类型转换相关)