码迷,mamicode.com
首页 > 编程语言 > 详细

Java基本语法--变量

时间:2020-02-06 23:26:37      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:才有   容量   类型转换   成员   名称   十六   作用   数据   鼠标   

本篇博客主要介绍了Java基本语法中变量(variable)d的使用,变量是指内存中的一个存储区域,用于在内存中保存数据,在该区域的数据可以在同一类型范围内不断变化。变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。


使用变量注意要点

? Java中每个变量必须先声明,后使用

? 使用变量名来访问这块区域的数据

? 变量的作用域:其定义所在的一对{ }内

? 变量只有在其作用域内才有效

? 同一个作用域内,不能定义重名的变量



变量的使用

--------------------------------
/*声明变量*/
语法:
    <数据类型><变量名称>
例如:
    int num;
---------------------------------
/*变量的赋值*/
语法:
    <变量名称> = <值>
例如:
    num = 10;
---------------------------------
/*声明和赋值变量*/
语法:
    <数据类型><变量名称> = <初始化值>
例如:
    int num = 10;
----------------------------------



变量分类

按数据类型分类

技术图片

按声明位置分类

技术图片

? 在方法体外,类体内声明的变量称为 成员变量

? 在方法体内部声明的变量称为 局部变量

? 同:都有生命周期
????异:局部变量除形参外,需显式初始化



八大基本数据类型

八大基本数据类型包括:整数类型(byte,short,int,long)、浮点类型(float,double)、字符类型(char)、布尔类型(boolean)

整数类型

整数类型:byte 、short 、int 、long

技术图片

? java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’

? java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

? 1MB = 1024KB 1KB= 1024B(Byte)

? bit: 计算机中的最小存储单位。byte:计算机中基本存储单元

浮点类型

浮点类型:float 、double

技术图片

? float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。

? double:双精度,精度是float的两倍。通常采用此类型

字符类型

字符类型:char

? char 型数据用来表示通常意义上“字符”(2字节)

? Java中的所有字符都使用Unicode编码,一个字符可以存储一个字
母,一个汉字或其他书面语的一个字符

? 字符型变量的三种表现形式

//一:用英文单引号''括起来的单个字符
char c1 = 'a';
//二:使用转义字符'\'来将其后的字符转变为特殊字符型常量
char c2 = '\n';
//三:直接使用 Unicode 值来表示字符型常量,char c = '/uXXXX';其中XXXX表示一个十六进制整数
char = c3 = '\u0041';  //'\u0041'代表'A'

? char类型是可以进行运算的,因为它都对应有Unicode码

布尔类型

布尔类型(用来判断逻辑条件,一般用于程序流程控制):boolean

boolean类型只有true、false两个值,无null值

//if条件控制语句
if(boolean b1){ //b1=true进入该代码块
    //do something
}
//while循环控制语句
while(boolean b2){ //b2=true继续循环,b2=false退出循环
    //do something
}
//do-while循环控制语句
do{
    //do something
}while(boolean b3); //b3=true继续循环,b3=false退出循环
//for循环控制语句
for(boolean b4){  //b4=true继续循环,b4=false退出循环
    
}
//注意循环语句中的布尔变量的值是变化的,需要在特定条件下退出循环状态



基本数据类型转换

自动类型转换

容量小的类型自动转换为容量大的数据类型

技术图片

? 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的
那种数据类型,然后再进行计算

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

? boolean类型不能与其它数据类型运算

? 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类
型的值将自动转化为字符串(String)类型

byte b1 = 10;
int i1 = 100;
//byte r1 = b1 + i1; 错误无法编译通过
int result1 = b1 + i1;  
System.out.println(result1); //结果为int型,值为110

float f1 = b1 + i1;
System.out.println(f1); //结果为float型,值为110.0

short s1 = 10;
//short = b1 + s1;  错误,编译无法通过
int r2 = b1 + s1;
System.out.println(r2);  //结果为int型,值为20

char c1 = 'a';
int r3 = c1 + i1;
// shor s2 = b1 + s1;错误,编译无法通过
System.out.println(r3);  //'a'=97,结果为int型,值为197

强制类型转换

? 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型

? 使
用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意

? 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可
以实现把字符串转换成基本类型

boolean类型不可以转换为其它的数据类型

double d1 = 10.23;
int i1 = (int)d1;
System.out.println(i1);  //结果为10,强制转换为int类型,损失精度,保留整数部分
int i3 = 1000;
//byte b1 = (byte)i3;byte范围不足,超出范围

变量运算的两个特殊情况

//特殊情况一;long的赋值运算
long l1 = 12345;
System.out.println(l1);//结果为12345,12345自动转换为int型

long l2 = 1234567890987654321;
//System.out.println(l2);编译报错,结果为int型,int型容量不足
long l3 = 1234567890987654321L;
System.out.println(l3);//结果为1234567890987654321,long型

//特殊情况二:byte、float的赋值运算
//float f1 = 12.3; 编译失败,12.3自动转换为double,无法赋值给float型
float f2 = 12.3F;  //正确赋值方式
byte b1 = 10;
// byte b2 = b1 + 1; 编译失败,1为int型,b1+1自动转换为int型,无法赋值给byte型
//flat f1 = b1 + 10.0;编译失败,10.0为double型,b1+10.0自动转换为double型,无法赋值给float型



字符串类型

? String不是基本数据类型,属于引用数据类型

? 使用方式与基本数据类型一致,用” “包裹变量值。例如:String str = “abcd”;

? 一个字符串可以链接接另一个字符串,也可以直接连接其他类型的数据,使用’+‘链接

String s1 = "abc";
int i1 = 100;
System.out.println(s1 + i1);   //输出结果为String类型,值为”abc100“

练习(判断对错/说出输出结果,鼠标移动到?上显示结果)

String str1 = 4; ??????
String str2 = 3.5f + “”; ?????
System.out .println(3+4+“Hello!”); ??????
System.out.println(“Hello!”+3+4); ?????
System.out.println(‘a’+1+“Hello!”); ?????
System.out.println(“Hello”+‘a’+1); ?????


本博客与CSDN博客???Asio君???同步发布

Java基本语法--变量

标签:才有   容量   类型转换   成员   名称   十六   作用   数据   鼠标   

原文地址:https://www.cnblogs.com/asio/p/12271226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!