变量/数据类型/表达式
来源:互联网 发布:外国人上淘宝感觉 编辑:程序博客网 时间:2024/05/16 07:48
1. 变量 [变量的定义=重点]
① 概念:计算中一块内存空间,是数据存储的单元.[理解]
② 组成:数据类型 变量名 数据.
③ 声明:指定变量的数据类型和变量名:
数据类型 变量名;
赋值:通过变量名对变量进行赋值:
变量名=值;
④ 其他的定义语法:
a. 声明的同时赋值:
数据类型 变量名=值; //int a=12;
b. 同时声明多个相同数据类型的变量:
数据类型 变量名1,变量名2=值,变量名;
//int a,b=12,c=13,d;
2. 数据类型[重点]
① 基本数据类型(原始数据类型/简单数据类型):8种
整数类型: byte 1B -128~127
short 2B
int 4B
long 8B
注意:long字面值后面需要加L或是l(建议用L).
字面值:程序中可以给一个数据类型的变量赋的值.
小数类型:(浮点类型):
单精度浮点数: float 4B 7位精确位
注意:字面值后面必须加F或是f.
双精度浮点数: double 8B 16位精确位
注意:字面值需要加D或是d,也可以不加.
浮点数采用科学计数法存储,存数的是近似值
字符类型: char 2B 采用Unicode编码(十六进制)->万国码
字面值: a.以''引起来的单个字符 例如:char c= 'A';
char c4='中';
b.以整数的形式存储:
char c2=65;
c.以uncode编码形式存储:
char c3='\u0041';
转义字符:
① \' :单引号
② \" : 双引号
③ \\ : 反斜杠
④ \n : 换行
⑤ \t : 水平跳格
注意:以上符号都是英文符号.
布尔类型: boolean 字面值:只有 true 和 false
② 引用数据类型(对象数据类型):
类/数组/接口等都是对象数据类型.
String :字符串,用""引起来一个或是多个字符.
3. 数据类型转换[重点]
① 自动类型提升:
a. 数据类型相互兼容
b. 目标类型 大于 源数据类型:
源数据类型 变量名1=值;
目标数据类型 变量名2=变量名1;
两个数据类型的变量相互赋值的规则:
I. byte--->short--->int--->long--->float--->double
II.char--->int--->long--->float--->double
int i=10;
long l=i;
面试题目:
① char c3=65; ② int a2=65;
正确 char c4=a2; //编译报错
② 强制类型转换
a.数据类型相互兼容
b.目标类型小于源数据类型(目标类型的数据存储范围小于源类型):
源数据类型 变量名1=值;
目标数据类型 变量名2=(目标数据类型)变量名1;
c. 强转的结果:
I. 数据合适,数据完整: int i=12;
byte b=(byte)i;//12
II. 整数不合适,数据被截断: int i=257;
byte b=(byte)i;//1
III. 小数强转为整数,数据被截断(精度丢失)
double d=12.8;
int i=(int)d;//12
IV. 布尔类型的数据不参与强转
③ 当两个数值或是变量参与运算时,如果两个变量的数据类型不一致,
转换规则如下:
a. 如果有一个double,结果就是double;
b. 如果没有double,有一个是float,结果就是float;
c. 如果没有double,float,有一个是long ,结果就是long;
d. 其余的情况(没有double/float/long),结果都是int 类型.
4. 表达式:由变量/字面值/运算符组成的一个式子,会有结果产生. [理解即可]
5. 运算符:
① 算数运算符:+ - *(乘法) /(除法) %(取模/取余数)
注意:参与运算的数值或是变量,+两端如果有一个是String类型,
表达式的结果一定是String类型.
② 赋值运算符: = += -= *= /= %=
注意:+=不存在自动类型提升.
③ ++(自加) --(自减) --->一元运算符 (开发重点是a++的应用)
a++:先使用a原有的数据,再将a加1. (面试难点,不是开发重点)
++a:先将a加1,再使用a的数据.
④ 关系运算符
== : 等于
> : 大于
>= : 大于等于
< : 小于
<= : 小于等于
!= : 不等于
注意:用关系运算符连接的表达式结果是true或是false,所以这类的
表达式称为布尔表达式.
⑤ 逻辑运算符
&& : 逻辑与,只有当两边的布尔表达式结果都是true,结果才为true.
如果有一个结果false,表达式的额结果就是false.
|| : 逻辑或,两边有一个结果为true,表达式的结果就是true, 只有当两边同时为false,表达式的结果才为false.!!
! : 逻辑非,对布尔表达式的结果取反.
面试题目:
&&和&的比较?
&&:短路运算符,逻辑与.
&: 非短路运算符,与.
|| 和 | 的比较?
⑥ 条件运算符(三目运算符)(了解)
布尔表达式 ? 表达式1:表达式2;
执行原理:如果布尔表达式的结果为true,执行表达式1,否则执行表达式2.
面试题目:
① byte b1=3;
b1=b1+1;
System.out.println(b1);
分析以上代码编译是否通过?解释原因或是给出结果.
编译不通过.b1+1结果类型是int类型
② byte b2=3;
b2+=1;
System.out.println(b2);
分析以上代码编译是否通过?解释原因或是给出结果.
编译通过,4. +=没有自动类型提升
① 概念:计算中一块内存空间,是数据存储的单元.[理解]
② 组成:数据类型 变量名 数据.
③ 声明:指定变量的数据类型和变量名:
数据类型 变量名;
赋值:通过变量名对变量进行赋值:
变量名=值;
④ 其他的定义语法:
a. 声明的同时赋值:
数据类型 变量名=值; //int a=12;
b. 同时声明多个相同数据类型的变量:
数据类型 变量名1,变量名2=值,变量名;
//int a,b=12,c=13,d;
2. 数据类型[重点]
① 基本数据类型(原始数据类型/简单数据类型):8种
整数类型: byte 1B -128~127
short 2B
int 4B
long 8B
注意:long字面值后面需要加L或是l(建议用L).
字面值:程序中可以给一个数据类型的变量赋的值.
小数类型:(浮点类型):
单精度浮点数: float 4B 7位精确位
注意:字面值后面必须加F或是f.
双精度浮点数: double 8B 16位精确位
注意:字面值需要加D或是d,也可以不加.
浮点数采用科学计数法存储,存数的是近似值
字符类型: char 2B 采用Unicode编码(十六进制)->万国码
字面值: a.以''引起来的单个字符 例如:char c= 'A';
char c4='中';
b.以整数的形式存储:
char c2=65;
c.以uncode编码形式存储:
char c3='\u0041';
转义字符:
① \' :单引号
② \" : 双引号
③ \\ : 反斜杠
④ \n : 换行
⑤ \t : 水平跳格
注意:以上符号都是英文符号.
布尔类型: boolean 字面值:只有 true 和 false
② 引用数据类型(对象数据类型):
类/数组/接口等都是对象数据类型.
String :字符串,用""引起来一个或是多个字符.
3. 数据类型转换[重点]
① 自动类型提升:
a. 数据类型相互兼容
b. 目标类型 大于 源数据类型:
源数据类型 变量名1=值;
目标数据类型 变量名2=变量名1;
两个数据类型的变量相互赋值的规则:
I. byte--->short--->int--->long--->float--->double
II.char--->int--->long--->float--->double
int i=10;
long l=i;
面试题目:
① char c3=65; ② int a2=65;
正确 char c4=a2; //编译报错
② 强制类型转换
a.数据类型相互兼容
b.目标类型小于源数据类型(目标类型的数据存储范围小于源类型):
源数据类型 变量名1=值;
目标数据类型 变量名2=(目标数据类型)变量名1;
c. 强转的结果:
I. 数据合适,数据完整: int i=12;
byte b=(byte)i;//12
II. 整数不合适,数据被截断: int i=257;
byte b=(byte)i;//1
III. 小数强转为整数,数据被截断(精度丢失)
double d=12.8;
int i=(int)d;//12
IV. 布尔类型的数据不参与强转
③ 当两个数值或是变量参与运算时,如果两个变量的数据类型不一致,
转换规则如下:
a. 如果有一个double,结果就是double;
b. 如果没有double,有一个是float,结果就是float;
c. 如果没有double,float,有一个是long ,结果就是long;
d. 其余的情况(没有double/float/long),结果都是int 类型.
4. 表达式:由变量/字面值/运算符组成的一个式子,会有结果产生. [理解即可]
5. 运算符:
① 算数运算符:+ - *(乘法) /(除法) %(取模/取余数)
注意:参与运算的数值或是变量,+两端如果有一个是String类型,
表达式的结果一定是String类型.
② 赋值运算符: = += -= *= /= %=
注意:+=不存在自动类型提升.
③ ++(自加) --(自减) --->一元运算符 (开发重点是a++的应用)
a++:先使用a原有的数据,再将a加1. (面试难点,不是开发重点)
++a:先将a加1,再使用a的数据.
④ 关系运算符
== : 等于
> : 大于
>= : 大于等于
< : 小于
<= : 小于等于
!= : 不等于
注意:用关系运算符连接的表达式结果是true或是false,所以这类的
表达式称为布尔表达式.
⑤ 逻辑运算符
&& : 逻辑与,只有当两边的布尔表达式结果都是true,结果才为true.
如果有一个结果false,表达式的额结果就是false.
|| : 逻辑或,两边有一个结果为true,表达式的结果就是true, 只有当两边同时为false,表达式的结果才为false.!!
! : 逻辑非,对布尔表达式的结果取反.
面试题目:
&&和&的比较?
&&:短路运算符,逻辑与.
&: 非短路运算符,与.
|| 和 | 的比较?
⑥ 条件运算符(三目运算符)(了解)
布尔表达式 ? 表达式1:表达式2;
执行原理:如果布尔表达式的结果为true,执行表达式1,否则执行表达式2.
面试题目:
① byte b1=3;
b1=b1+1;
System.out.println(b1);
分析以上代码编译是否通过?解释原因或是给出结果.
编译不通过.b1+1结果类型是int类型
② byte b2=3;
b2+=1;
System.out.println(b2);
分析以上代码编译是否通过?解释原因或是给出结果.
编译通过,4. +=没有自动类型提升
阅读全文
0 0
- 变量/数据类型/表达式
- 黑马程序员_变量, 数据类型与表达式
- 01 数据类型 、常量变量、运算符、表达式、格式化输入输出
- Python学习第二课-Python变量、运算符、表达式、数据类型
- 2.1.数据类型常量与变量,运算符与表达式
- 数据类型变量
- 变量。 数据类型。
- 数据类型/变量
- 变量、数据类型
- 变量数据类型
- 变量,数据类型
- 数据类型、变量、常量、数据类型转换
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- C语言程序设计教程笔记_基本数据类型、常量、变量和表达式
- C#变量、数据类型、转义字符、赋值运算符与赋值表达式
- Lesson_for_java_day04--java基本知识、概念、变量、基本数据类型、运算符及表达式
- C++学习笔记(第二章 数据类型 变量 表达式 if语句)
- 前期C语言回顾 进制、C数据类型、常量变量、运算符、表达式、格式化输入输出
- 王劲:百度是如何布局无人驾驶的?
- ARToolkit例子中的simpleVRML.c改写(二)
- exynos4412 ft5306驱动
- 【bzoj1978】 [SDOI2009]HH的项链 树状数组
- 支持向量机(SVM)——PYTHON3实现
- 变量/数据类型/表达式
- 物联网重新唤醒了这项失意已久的技术
- 99%好评 美国队长vivo Xplay5旗舰版火爆上市 口碑爆棚
- 一张图读懂谷歌开发者2016年大会
- P2P学习是什么鬼?42要为硅谷批量免费培养码农
- 版本管理
- 传歌到手机So easy!盘点四款自带传歌功能的音乐软件
- Google“白日梦”的真正受益者,应该不是暴风而是小米们
- 一只爬虫带你看世界【9】