变量与运算符+基本数据类型与String运算

122 阅读4分钟

变量与运算符****

一、变量

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