Java学习笔记(变量、标识符、表达式)

Java学习笔记(变量、标识符、表达式)

一、变量

  1. 概念:计算机内存中的一块存储空间,是存储数据的基本单元。
  2. 组成部分:数据类型,变量名,值
  3. 变量的使用
    ① 声明
    数据类型 变量名;
    int a;//在内存中开辟处一块整数类型的空间
    ② 赋值
    变量名 = 值;
    a = 1;//将整数的值赋予给变量
    ③ 使用
    通过变量名直接使用
    注意:java语言是强类型的编程语言,要求变量的类型必须和数据的类型一致。
    类型 字节 取值范围(二进制) 取值范围(十进制)
    byte 1字节 -27~27-1 -128~127
    short 2字节 -215~215-1 -32768~32767
    int 4字节 -231~231-1 -2147483648~2147483647
    long 8字节 -263~263-1
  4. 变量的其他定义方式
  5. 先声明再赋值【常用】
    数据类型 变量名;
    变量名 = 值;
  6. 声明并赋值【最常用】
    数据类型 变量名 = 值;
  7. 对于多个同类型的变量的声明于赋值【了解】
    数据类型 变量名1,变量名2 = 值2 …变量名n=值n;
    注意:值2是为变量名2赋的值,值n是为变量名n赋的值

二、数据类型

Java中的变量具有严格的数据类型区分。(强类型)
在Java语言中,任何一个值,都有其对应类型
Java中的数据类型
a)基本数据类型|简单数据类型:整数,小数,字符,布尔 8种
b)引用数据类型|对象数据类型:字符串,数组,对象
1.整数类型

类型字节取值范围(二进制)取值范围(十进制)
byte1字节-2^7 - 2^7-1-128-127
short2字节-2^15 - 2^15-1-32768-32767
int4字节-2^31 - 2^31-1-2147483648-2147483647
long8字节-2^63 - 2^63-1

字面值:一个变量的值。byte: -128~127之间的任何一个数都可以作为byte的字面直.
注意:int为整数的默认类型,如需为long类型变量赋值,需在值的后面加L/l,建议L
2. 小数/浮点数

类型字节精度
float4字节单精度
double8字节双精度

注意:浮点数的默认类型为double,如需为float类型的变量赋值,需要在值得后面加上F/f;可以使用科学计数法,float取值范围比int,long大
3. 字符类型

类型字节取值范围字符编码
char2字节0~65535Unicode字符集(万国码)

Unicode字符集同样支持ASCII编码(美国标准信息交换码)
Unicode中每一个字符对应着一个十进制的整数,从而可以使用多种方式赋值
a)定义方式:
4. 字符赋值:char 变量名 = ‘字符’; 通过 ‘’ 描述为字符赋值
5. 整数赋值:char 变量名 = 整数;(整数是十进制的数)
6. 进制赋值:char 变量名 = ‘16进制表示方式’;
b)转义字符 \

转义字符含义
\’单引号
\"双引号
\\反斜杠
\n换行
\t缩进

4.布尔类型

类型字面值含义
booleantrue/false仅描述真或假

可以直接赋值true/false
也可以赋值一个结果为true/false的表达式
注意:不能参与算数运算
5.引用数据类型(String)

类型字面值含义
String任何“”引起来的字面值Unicode字符编码

三、类型转换

自动类型转换
a) 两种类型相互兼容
b) 目标类型大于源类型
目标类型:要转换成的数据类型
源类型:原始的类型
目标类型的取值范围大于源类型的取值范围。
自动类型转换可以直接转换。
short s = 123;//short:源类型
int a = s;//int :目标类型

强制类型转换

a) 两种类型相互兼容
b)目标类型小于源类型
目标类型 变量名2 = (目标类型)源类型的变量名1;
强制类型转换规则
a) 整数长度足够,数据完整
例:short s = 120; byte b = (byte)s; //b = 120
b) 整数长度不够,数据截断
例如;short s = 132; byte b = (byte)s; //b=-124
c)小数强转为整数,小数部分截断
例如:double d = 1.5; int a = (int)d; //a=1;
d) 字符整数转换成int,数据完整
例: char c = 65; int i = c; //i=65;
注意:数字类型的取值范围
byte —> short ----> int —> long —> float ----> double
char —> int ----> long —> float —> double
e) boolean类型取值为true/false,不可与其他类型转换

四、表达式

使用运算符连接的变量或者字面值,并且可以得到一个最终的结果。
自动类型提升
进行算数运算时:

  1. 如果两个操作数有一个double,计算结果提升为double
  2. 如果操作中没有double,有一个float,计算结果提升为float
  3. 如果操作中没有double,float,有一个long,计算结果提升为long
  4. 如果操作中没有double,float,long,有一个int,计算结果提升为int
  5. 如果操作中没有double,float,long,int ,均为byte或者short,计算结果提升为int
    注意:任意类型与String相加时,意为拼接,其结果自动提升为String

五、运算符

1. 算数运算符:两个操作数进行计算

操作符含义
+求和
-求差
*求积
/求商
%取模

2. 一元运算符(只有一个操作)

操作符含义
++递增 变量值+1
递减 变量值-1

a++与++a的区别
a++ :先将a的值赋值给表达式(a++),然后再给a的值+1;先使用后+1
++a :先将a的值+1,然后赋值给表达式(++a);先+1再使用

3. 赋值运算符:等号右边的值赋值等号左边

操作符含义
=直接赋值
+=求和之后再赋值
-=求差之后再赋值
*=求积之后再赋值
/=求商之后再赋值
%=求模(取余数)之后再赋值

注意:a+=1;相当于a=a+1;但是a=a+1可能会造成类型的提升,不建议使用,而a+1;不会造成类型提升。

4. 关系运算符:两个操作数据进行比较,结果为boolean类型

操作符含义
>大于
<小于
>=大于等于
<=小于等于
==等于 判断两值是否相同
!=不等于 判断两值是否不相同

5. 逻辑运算符:两个boolean类型的操作数据或者表达式进行逻辑比较

操作符含义描述
&&与(并且)两个操作数据同时为true,结果为true
||或(或者)两个操作数据有一个true,结果为true
&两个操作数据同时为true,结果为true
|两个操作数据有一个为true,结果为true
非(取反)一个操作数取反,真既是假,假既是真

&&与&的区别
&&:短路运算符;前者如果为false,后者不再判断,结果就是false
&:非短路运算符;前者如果为false,后者接着判断,结果还是false

6.三元运算符:将判断后的结果赋值给变量

操作符语法描述
?:布尔表示式?结果1:结果2当表达式结果为true,取结果1;当表达式的结果为false,取值2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值