#关于变量<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