一、变量
1.概念:计算机中的一块内存空间,存储数据的基本单元。
补充:何为内存?----内存空间相当于一个大房子,里面的各个房间相当于存储数据的单元。
2.变量的组成部分:数据类型、变量名、数据。、
3.语法:
(1)先声明,在赋值
数据类型 变量名;
变量名 = 数据;
int a;
a = 5;
(2) 声明的同时赋值;
数据类型 变量名 = 值;
int b = 8;
(3)同时定义多个类型的变量;
数据类型 变量名,数据类型=值,数据类型;
int c, d=5,e=100,f;
c=99;
f=101;
二、数据类型
1.基本数据类型(简单数据类型、原始数据类型)
B:字节,Byte
1B = 8b (bit->位)
1kb = 1024B
1MB = 1024KB
1GB = 1024MB
1TB= 1024GB
(1)整数类型
byte | 1B | -127~127 |
short | 2B | -32768~32768 |
int | 4B | -2147483638~2147483647 |
long | 8B | -922~922京-1 |
注意:long的字面值后面需要加L/l (建议和1区分开,用大写的L)
(2)小数类型
float: 4B,单精度,字面值后面必须加F/f
double: 8B,双精度,字面值后边可以用D/d,也可以不加
注意:java中的flaot和double可以采用科学计数法的形式进行存储
eg: 123456789123456789f->1.23456791E17
123456789.123456789d->1.2345678912345679E8
E后边的数字代表小数点移动的位数
思考: long-8B和float-4B哪一个存储的数据范围大?
float存储范围比long更大一些,因为java中的float可以采取科学计数法的形式进行储存。
(3)字符类型
char:2B,字面值形式如下:
a.单引号引起来的一个字符:char c = 'a';
b.使用整数形式进行的存储,范围: 0~65535
c.常见的转义字符:
' \t ' | 水平跳格,相当于tab |
' \n ' | 换行 |
' \' ' | 直接打印,单引号 |
' \" ' | 直接的打印,双引号 |
' \\ ' | 打印一个反斜杠 |
(4)布尔类型
boolean:字面值为:true和false
true 代表关系成立,真
false 代表关系不成立,假
注意: 与C语言中的布尔类型区分开,这里的true并不代表1
2.对象数据类型/引用数据
(1)类、接口、集合、数组等都为对象类型
(2)以字符串为例讲解对象类型:
a.String为字符串,对象类型
b.字面值:以双引号引起来的一个或多个字符
eg: String str = "hello";
数据类型总结:实际应用
整数通常使用 : int
小数通常使用: double
字符:开发偶尔使用
布尔类型通常用于判断:分支结构、循环结构等
字符串:开发常用
案例:写出存储以下数据使用的数据类型:
姓名:String name = "某某";
年龄:int age = 18;
性别:char sex= '女' ;
String sex = "女"; // int s = 1; // 1代表男;0代表女
成绩:double score = 99.5;
电话:String tel="17710131197";
身份证号码:String id = "37082819980212204x";
三、数据类型的之间的转换
1.自动类提升
(1)场景:小数据类型赋值给大数据类型(存储数据的范围对应数据大小)也可以说所占小字节的数据类型可以赋值给所占大字节的数据类型
(2)自动升级的规则如下:
byte->short->int->long->float- >double
char->int->long->float->double
2.强制类型转换
(1)大数据类型 赋值 给 小数据类型 时,需要使用强制类型转换
(2) 语法: 源数据类型 变量名1 = 值;
目标数据类型 变量名2 = (目标数据类型)变量1;
int i2 = 65;
char cs = (char)i2;
System.out.println(cs);
double d3 = 3.9;
int i3 = (int)d3;
System.out.println(i3);
}
四、表达式
1. 理解:通常由字面值、变量、运算符组成式子, 一般有一个结果
2. 表达式的结果类型规则如下:
(1) 表达式中有 double,则结果为 double
(2) 表达式中没有double,有float,则结果为 float
(3) 表达式中没有double、float,有long,结 果为long
(4) 其余情况,结果为 int byte+byte byte+short short+short byte+int short+int int+in
五、运算符
1.算数运算符
包括: + - *(乘法) / (除法) %(取余数/取模)
Java中加号的两种应用:
(1)加法运算:如果+两端都为数值类型,则为加运算
(2)字符串的拼接:只要+一端为字符串类型,则+就为字符串拼接
注意:java中的布尔类型不能参与加法运算,但是可以参与字符串运算
int m = 2;
int n = 5;
String s1 = "hello";
System.out.println(s1+m);// hello2
System.out.println(s1+m+n);// hello25
System.out.println( m + true);// 编译报错
2.赋值运算符
包括:= += -= *= /=
如下:
int a = 2;
a+=1; // a = a+1;
a*=5; // a=a*5; 3*5 = 15
a-=10 ; // a=a-10;
3.比较运算符(关系运算符)
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
注意:被关系运算符连接的表达式称为布尔表达式,关系成立为true,关系不成立为false,结果类型也为布尔类型。
4.逻辑运算符
&& :逻辑与,表示并且,两端连接的必须为布尔表达式,两端同时为true时结果才为true.
|| :逻辑或,表示或者,两端连接的必须为布尔表达式,只要一端为true,结果j就为true.
! :逻辑非,在结果上进行取反
5.一元运算符
++(自增) --(自减)
开发应用如下:
a++ 或者++a :让a变量自身加1
a--或者--a :让a变量自身减1
以下内容常用于开发面试或者考试:
int c = a++;先使用再加1 (先把a的值赋给c,然后再加1)
int c =++a;先加1再使用(先给a加1再赋值给c)
6.三元运算符
(1)语法:
布尔类型?表达式1:表达式2
(2)原理:判断布尔表达式结果是否成立,成立为true,则执行表达式1;否则执行表达式2
int score = 90;
System.out.println(score>60?及格:不及格); //结果为及格