变量&数据类型&表达式

变量

1.变量的定义

1.变量:是计算机内存中一块存储空间,是数据存储的基本单元
2变量的定义:
数据类型+变量名+数据名+数据(值)
3.变量的使用:先声明 在赋值 后使用

  1. 声明变量----数据类型 变量名 ; 例 int a;
  2. 赋值------- 变量名 =值; a=10;
  3. 使用------ 在控制台中打印变量中数据System.out.println(a); 错误写法:System。out.println(“a”);
  4. 变量的其他定义方式
    1.在声明的同时赋值; int a =10;
    2.多个相同类型变量的定义:
    数据类型 变量名1=值1,变量名2=值2,变量名3…n;
    注意 :
    1.变量在声明后需赋值
    2.一个变量可以被多次赋值,变量的最终值 是最后一次被赋予的值
    int a=10;
    a=12;
    System.out.println(a); 结果为12
    2.可以通过变量名 来给另外一个变量赋值
    int a=10;
    int b=a;//相当于把a的值赋给b

java是强类型语言:变量的类型 必须与 数据的类型一致

数据类型

java中的数据类型分为: 基本数据类型,引用数据类型。
1.基本数据类型

1.整数类型:

类型名称 字节数 | 二进制范围 /十进制范围表示 | 注意事项
1.byte : 1 | -2^7 ~ 2^7-1 | -128~127
2.short : 2 | -2^15 ~ 2^15-1| -32768~32767
3.int :4 | -2^31~ 2^31-1 | -2147483648~214748364 7
4.long: 8 -263~263-1
-9223372036854775808~ …-1
一般情况下long类型的数据需要加 L(l),如果该数据没有超过int的范围 则不需要加L(l)

2.小数类型
类型名:float 单精度浮点数
字节数 : 4
-3.40E+38 ~ +3.40E+38
精度 :7
注意事项:float类型的数据需要加F(f)
类型名:double 双精度浮点数
字节数 : 8
-1.79E+308 ~ +1.79E+308
精度 :16
double类型的数据可以加D(d)也 可以不加

注意:在给float类型与double赋值时,可以使用科学计数法的形式
3.字符
类型名称: char
字节数; 2
范围大小:0~65535
编码方式 : Unicode编码
char类型的赋值方式:
1.直接用字符赋值 char a=‘A’;
2.可以用整数给char类型赋值,char a;a=65; 整数与字符通过ASCI码进行对照
3.使用unicode码进行赋值 char a; a=’\u0041’;

转义字符

转义字符 描述
\n 换行
\t 水平跳格
\ " ‘字符
\ ’ “字符

4.布尔类型

所占字节 数值
1 true/false

注意: Boolean类型不参与赋值运算
2.引用数据类型
1.以String 为例 String字符串
a)String类型的赋值
String str;
str = “字符串内容”;复制内容写在“”里
b)任何数据与String数据相加都是字符串
2.数据类型之间的转换
1)自动类型转换
a)两种类型相互兼容
b)目标类型大于原类型
原类型 变量名1=值;
目标类型 变量名2=变量名1;
short a=15;
int b=a;
System.out.println(b);
类型排列:
byte char

2)强制类型转换
a)两种类型相互兼容
b)目标类型小于原类型

原类型 变量名1=值;
变量名2=(目标类型)变量名1;
强转后的三种情况:
1.数据没有发生丢失 原类型的数值 < 目标类型的范围
2…数据发生丢失 原类型的数值 >目标类型的范围
3.小数强转整数后,会丢失小数部分

运算符&表达式

一、表达式
是由变量、字面值、运算符组成的一个式子,一般都有结果。

一般情况下,我们需要使用一个变量来接收表达式的数值,接收这个表达式的变量类型需要与该表达式的数值的数 据类型一致。

我们可以把一个表达式直接放在输出语句的()中,输出结果为该表达式的值
例:

int a=10;
int b=a+12;
System.out.println(a+10);
System.out.println(a==b);

二、java的自动类型提升机制

1.两个数或变量进行运算 如果有一个是double 则其结果就是double类型 优先级第1的规则
2.两个数数或变量进行运算 如果有一个是float 则其结果就是** ** 优先级第2的规则 ]
3.两个数数或变量进行运算 如果有一个是long 则其结果就是long类型 优先级第3的规则
4.两个数数或变量进行运算 其他情况(既没有double 也没有float与long参****与) 其结果均为int类型 优先级第4的规
三、运算符
1.算数运算符

 + 表达式结果为二者之和  ‐ 表达式结果为二者之差  * 表达式结果为二者之积  / 表达式结果为二者之商  如果运算时没有小数参与则只保留整数部分  % 表达式结果为二者相除之余 

2.赋值运算符

= = 右边对左边进行赋值 int a=10;
+= a+=b ‐‐‐> a = a+b;
‐= a‐=b ‐‐‐> a = a‐b;
*= a=b ‐‐‐> a = a*b;
/= a/=b ‐‐‐> a = a/b;
%= a%=b ‐‐‐> a = a%b;
3.++&-- 自增与自减运算符
a++: 在一次运算后 执行a = a+1;
++a: 在一次运算前 执行a = a+1;
a‐‐ : 在一次运算后 执行a = a‐1;
‐‐a : 在一次运算前 执行a = a‐1;

4.关系运算符
如果一个表达式的结果为布尔类型的值 则这种表达式被成为布尔表达式
==判断两者是否相等;> 判断左边是否大于右边 ; >= 判断左边是否大于等于右边 < 判断左边是否小于右边 <= 判断左边是否小于等于右边 != 判断左边是否不等于右边

使用关系运算符去判断一个表达式是否成立时,结果是布尔类型, 成立为true,不成立为false

5.逻辑运算符

1.&& 短路与
a)语法:布尔表达式1 && 布尔表达式2
b) 作用:当 布尔表达式1 与 布尔表达式2 结果都为true时 整个表达式为true,否则为false
c)特性:如果布尔表达式1为 false 则不再判断 布尔表达式2
2.& 非短路与
a)语法:布尔表达式1 & 布尔表达式2 b) 作用:当 布尔表达式1 与 布尔表达式2 结果都为true时 整个表达式为true,否则为false
c)特性:两个布尔表达式无论true 或 false 都会被判断
3.|| 短路或
a)语法:布尔表达式1 || 布尔表达式2 b) 作用: 布尔表达式1 与 布尔表达式2 有一个结果true时 整个表达式为true,否则为false
c)特性:如果布尔表达式1为 true 则不再判断 布尔表达式
4.| 非短路或
a)语法:布尔表达式1 | 布尔表达式2 b) 作用: 布尔表达式1 与 布尔表达式2 有一个结果true时 整个表达式为true,否则为false
c)特性:无论两个布尔表达式的结果是否为true 均需要全部判断
5.!对表达式结果取反
a)语法:!(布尔表达式)
b)作用:将()内的布尔表达式结果取反

6.条件运算符(*三目运算符)
语法: 布尔表达式? 表达式1(或一个字面值1):表达式2(或一个字面值2)
作用: 如果布尔表达式为true 则整个表达式的结果 为表达式1(字面值1)的结果 如果布尔表达式为false 则整个表达式的结果 为表达式2(字面值2)的结果
例: int a = 10;
int b = 20;
int result = a>b? a:b; System.out.println(result)
7.运算符的优先级

1

括号() []

2

正(+)负(-)号

3

自增自减,非(++ – !)

4

乘(x)除(/),取余(%)

5

加(+)减(-)

6

移位运算(<< >> >>>)

7

大(> >= < <= )小关系

8

相等关系(== !=)

9

按位与(&)

10

按位异或(^)

11

按位或(|)

12

逻辑与(&&)

13

逻辑或(||)

14

条件运算(?: )

15

赋值运算(= += -= *= /= %=)

16

位赋值运算(&= |= <<= >>= >>>=)

你可能感兴趣的:(java)