变量与运算符****
一、变量
1.变量是内存中的存储区域,该区域的数据可以在同一类型范围内不断变化。
2.三个要素;数据类型,变量名,存储的值
3.变量声明格式;数据类型 变量名=变量值****
4.基本数据类型:
整型:byte(范围-128~127) \ short \ int \ long
浮点型:float \ double
字符型:char
布尔型:boolean
引用数据类型;
类(class)
数组(array)
借口(interface)
枚举(enum)
注解(annotation)
记录(record)
5.变量有作用域。在作用域外,变量失效。
基本数据类型简介;
整型数据:****
byte 1字节=8bit bit为数据存储的最小单位。
short 2字节
int 4字节 开发中若无特殊情形,通常声明为int类型。
long 8字节 赋值时需要以“l”或者“L”作为后缀。常用“L”。“l”不易辨认。
1024 byte = 1 KB 常见转换。
浮点型数据:****
Flaot 4字节 赋值时需要以“f”或者“F”作为后缀。
Double 8字节 开发中若无特殊情形,通常声明为double类型。
无法精确表示10的负次幂。
精度需求较高时,浮点型变量不适用,此时选择BigDecimal类。
字符型: 表示形式1: char c1=’7’ //引号内有且仅有一个字符
表示形式2: ‘\uXXXX’
直接用Unicoude值表示字符型常量,XXXX代表一个十六进制整数。
形式3:使用转义字符 //例如’\n’换行,’\t’制表符
形式4:使用ASCII码中字符对应的值。
布尔类型;
1.只有两个值,ture和false
2.常用于流程控制语句中。如,条件判断、循环结构。
3.我们不谈boolean类型占用内存大小,但在内存中分配的话,使用4个字节、
基本数据类型变量间运算规则:
1.可以参与运算的数据类型变量不包括boolean型。
2.运算规则包括:
①自动类型提升
②强制类型转换
自动类型提升:****
容量小的变量与容量大的变量做运算时,结果自动转化为容量大的数据类型。
//此处容量大小并非指占用内存空间的大小,而是指表示数据范围的大小。
byte、short、char→Int→long→→float→double
特殊情形:
byte、short、chart类型之间做运算,最终结果为int
exercise:
long a = 123L;
long b = 123; //自动类型提升,int→long
long c=123456789101112L;
因为值超出int类型范围,所以必须加上后缀,否则编译不通过。
float f1=12.3F;
必须加上后缀F,否则,系统认为12.3为double值,无法由double向float转换,编译无法通过。
int 123L=12;
long l6=123L;
编译不予通过。变量名不允许数字开头,会出现歧义。
强制类型转换:
1.将容量大的类型变量转换为容量小的类型变量。
2.强转符为()
例:
double b1=99;
int i1=(int)b1;
3.强制转换过程中可能导致精度损失。
例如:
int i5=128;
byte b1=(byte)i5;
System.out.println(b1); //输出-128
基本数据类型与String运算
String运算基本知识。
1.String:属于引用类型变量,俗称字符串。
2.Sring类型变量可以通过“”赋值。
3.String声明的字符串内可以声明0个、1个或多个字符。
二、String与基本数据类型变量之间的运算。
1.此处基本数据类型包含boolean在内共8种。
2.有String参与的运算均为String类型。
3.String类型可以与八大变量数据类型进行连接运算。
(前置省略。)
String str1=“hello”;
int number =99;
boolean b1=true;
String str2=str1+b1+num1;
String str3=b1+num+str1; //定义变量。
System.out.println(str2); //可运行。
System.out.printl(str3); //编译不通过。boolean b1变量不参与加减运算。
4.String数据类相关无法直接转换为基本数据类型。
应使用Integer类进行转换。例如:
(前置省略。)
int num3 = Integer.parseInt(str9);
System.out.println(num3+1);
5.String类型变量参与运算时,需要区分‘+’为连接符(有String类型变量参与运算)还是运算符(只有基础数据变量类型参与运算) 。
String 典例:
System.out.println(3+4+"Hello!"); //7Hello!
System.out.println("Hello!"+3+4); //Hello34!
System.out.println('a'+1+"Hello!"); //98Hello!
System.out.println("Hello"+'a'+1); //Helloa1
System.out.println("* "); // *
System.out.println("\t"); //* *
System.out.println(""+"\t"+""); //* *
System.out.println(''+"\t"+""); //* *
System.out.println(''+'\t'+""); //xx*
System.out.println(''+"\t"+''); //* *
System.out.println(""+'\t'+''); //* *
System.out.println(''+'\t'+''); //xxx