一、变量
1. 概念:计算机中的一块内存空间,存储数据的基 本单元
2. 变量的组成部分:数据类型、变量名、数据
3. 语法:
(1) 先声明,再赋值
数据类型 变量名; int a;
变量名 = 数据; a = 5;
(2) 声明的同时赋值:
数据类型 变量名 = 值;
int b = 8;
(3) 同时定义多个同类型的变量:
数据类型 变量名1,数据类型=值,数据类型;
二、数据类型
1. 基本数据类型(简单数据类型、原始数据类型)
B:字节,Byte 1B = 8b (bit->位)
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
...
程序猿节日:10.24号
2. 对象数据类型/引用数据
(1) 整数类型
byte 1B -128~127
short 2B -32768~32767
int 4B -2147483648~2147483647
long 8B -922京 ~922京-1
long的字面值后面需要加L/l(建议L,区分 数字1)
(2) 小数类型
float:4B,单精度,字面值后面必须加F/f
double:8B,双精度,字面值后面可以D/D, 也可不加
注意:java中的float和double可以采用科学计数法的形式进行存储:1.23456792E8
(3) 字符类型
char
:
2B,
字面值形式如下:
a. 单引号引起来的一个字符:char c = 'a';
b. 使用整数形式进行存储,范围:0~65535
c. 转义字符:
'\t':水平跳格,
tab
'\n'
:换行
'\' '
:直接打印 单引号
'\" '
:直接打印 双引号
'\\ '
:打印一个反斜杠
(4) 布尔类型
boolean
:字面值为:
true
和
false
true
代表关系成立
,
真
false
:代表关系不成立,假
注意:区分 c
语言中的 布尔类型
!!!
思考:
long-8B
和
float-4B
哪一个 存储的数
据范围大?
java中
float
可以采用科学计数法的形式进行存储,float
存储的范围比
long
范围更大。
2.
对象数据类型
/
引用数据
(1)
类、接口、集合、数组等都为对象类型
(2)
以字符串为例讲解 对象类型:
a. String
为字符串,对象类型
b.
字面值:以双引号引起来的一个或是多个字符
String str = "hello";
数据类型总结:实际应用
整数通常使用
int
小数通常使用:
double
字符:开发偶尔用
布尔类型通常用于判断:分支结构、循环结构等
字符串:开发经常使用
案例:写出存储以下数据使用的数据类型:
姓名:
String name = "姓名
"
;
年龄:
int age;
性别:
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;
四、表达式
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+int
五、运算符
1.
算术运算符
+ - *(乘法) /(除法) %(取余数/取 模)
Java
中的
+
两种应用:
())加法运算:如果+
两端都为数值类型,则为加法运算
(2)
字符串的拼接:只要
+
一端为字符串类型,则+就为字符串的拼接
注意:
java
中布尔类型不能参与 加法运算;但是可以参与字符串拼接
2.
赋值运算符
= += -= *= /=
int a = 2;
a+=1; // 结果上: a = a+1;
a*=5; // a=a*5; 3*5 = 15
a-=10; //a=a-10;
System.out.println("a="+a);//3
3. 比较运算符(关系运算符)
> : 大于
>= :大于等于
< :小于
<= :小于等于
== :等于
!= :不等于
注意:被关系运算符连接的表达符称为布尔表达式关系成立-true;关系不成立-false;结果类型为布尔类型
4.
逻辑运算符
&&:逻辑与,并且,两端连接的必须都为布尔表达 式,两端同时为true,结果才为true。
||:逻辑或,或者,两端连接的必须都为布尔表达 式,只要有一端为true,结果就为true
!:逻辑非,在结果上进行取反
5.
一元运算符
++(自增) --(自减)
开发应用如下:
a++ 或是 ++a :让a变量自身加1
a-- 或是 --a:让a变量自身减1
以下内容常用于开发面试或是考试:
int c=a++;//先使用再加1
int c=++a;//先加1再使用
6.三元运算符
(1) 语法: 布尔表达式?表达式1:表达式2
(2) 原理:判断布尔表达式结果是否成立,成立—— true,则执行表达式1;否则执行表达式2
六、扫描议(Scanner)
1. 作用:实现人机交互
2. 使用步骤:
(1) 导包:import 包名1.包名2.类名;//导入 某一个
import 包名1.包名2.*;//导入包 中所有类
注意:定义在pacakge语句的后面,所有类的 上面;
一个源文件中可以定义多行import语 句 import java.util.Scanner;
(2) 创建Scanner对象: Scanner sc = new Scanner(System.in);
(3) 使用: int n = sc.nextInt();//输入一个整数
double s = sc.nextDouble();//输入 一个小数
String str = sc.next();// 输入一个 字符串
char c = sc.next().charAt(0);//输 入一个字符