#关于变量<p><strong></strong></p>
* 变量的使用: 数据类型 变量名 =变量值;
 说明:
 变量必须先声明
 变量都定义在其作用域内。在作用域内,他是有效的。换句话说,出了作用域就失效。
 同一个作用域,不可申明两个相同的变量。
 具体类型:
  一、变量按照数据类型分类:
  基本数据类型(8种)
  整数类型
  * byte 1字节=8bit -127-127
  * short 2字    -2^15-2^15-1
  * int  4字节  -2^31-2^31-1(约21亿)
  * long 8字节  -2^63-2^63-1
  浮点类型
 *float  4字节 精确7位有效数字
 表示带小数的数值,表示数值的范围比long大
 float后要以F或f结尾
  *  double 8字节 精确是float的两倍。
 
  字符型
 * char(1字符=2字节)
 * 定义char型变量,通常使用一对‘‘,内部只能写一个字符
 * ASCII码
 * utf-8
 *
 
 布尔型
 * boolean
 *只能取true和false
 
 二、引用数据类型(3种)
 类(class)
 接口(interface)
 数组([])
注意:String是引用类型
### 基本数据类型之间的运算规则
前提:7种变量类型间的运算  boolean不算
1.自动类型转换:
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte ,short ,char--->int--->long---> float---> double
特别的:当byte char short 三中类型做运算 结果要用int接受
2.强制类型转换:自动类型提升的逆运算
2.1需要使用强转符:()
2.2注意点:强制类型转换,可能导致精度缺失。
说明:此时的容量大小指的是,表示数的范围的大和小。比如: float容量要大于long的容量
public class VariableTest3 {
    public static void main(String[] args) {
     byte b1=2;
     int  i1=129;
     //编译不通过情况  byte b2=b1+i1;
     int i2=b1+i1;
     long l1=b1 +i1;
     System.out.println(i2);
     float f=b1 + i1;
        System.out.println(f);
//***************************************
        char c1=‘a‘;//97
        int i3=10;
        int i4=c1+i3;
        System.out.println(i4);
        short s1=10;
        int s2=c1+s1;//运算结果既不是short也不是char
        byte b2=10;
       // char b3=c1+b2;编译不通过
//*******强制类型转换
        double d1=12.3;
        int i6=(int)d1;//截断操作
        System.out.println(i6);
        long l2=123;
        short s3=(short)l2;
        System.out.println(s3);
        int i7=128;
        byte b=(byte)i7;
        System.out.println(b);
    }
}
public class VariableTest4 {
    public static void main(String[] args) {
        //1.编码情况:属于自动类型提升
        long l=123123;
        System.out.println(l);
        //编译失败:过大整数
        //long l1=123132154648797111;
        //System.out.println(l1);
        long l1=123132154648797111L;
        System.out.println(l1);
        //*********************
        //编译失败
        //float f1=12.3;
        //编码情况2:
        //整型常量,默认类型为int型
        //浮点型常量,默认为double型
        byte b=12;
        //byte b1=b+1;编译失败
//        float f1=b+12.3; 编译失败
    }
}
Strinng类型变量的使用
1. String是引用数据类型:字符串
2.声明String类型变量时,使用一对双引号
3.String可以和8种基本数据类型做运算的,且运算只能做连接运算 +
public class StringTest {
    public static void main(String[] args) {
        String s1="HelloWorld";
        System.out.println(s1);
        int number=100;
        String numberStr="学号";
        String info=numberStr+number;
        System.out.println(info);
        //*******************
       // String str1=4;//不行
          String str1="4";
          int num1=Integer.parseInt(str1);//Integer包装类
        System.out.println(num1);
          String str2=3.5+"";//可以
    }
}
System.out.println(‘a’);//a
System.out.println(‘a’+1);//98
System.out.println(“hello”+’a’+1);//helloa1
System.out.println(‘a’+1+”hello”);//98hello
System.out.println(“5+5=”+5+5);//5+5=5+5
System.out.println(5+5+”=5+5”);//25=5+5
原文:https://www.cnblogs.com/zioz0206/p/15037999.html