变量和数据类型
1.掌握变量和常量的使用
1.1变量的概述
我们之前已经知道了环境变量,就是存储了一些各种程序所需的环境的信息。这样我们就知道变量可以用来存储数据。从字面上来看变量就是可以用来变化的量。
变量可以在内存中去临时性的存储数据。
变量是由数据类型、变量名和变量值三部分组成的。
在Java中我们使用变量就可以把它当成一个住酒店的过程。
数据类型类似于酒店房间的类型,例如:双人间、大床房之类的。
变量名可以当成酒店的房间名。
变量值就相当于居住在酒店房间住的客人。
整个酒店就可以类似于内存。
计算机中的三个核心硬件
CPU为中央处理器,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
内存内存分为RAM和ROM两种。
- RAM即随机存取存储器,也叫主存是与CPU直接交换数据的内部存储器。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。RAM中的特点是数据的易失性,即一旦断电所存储的数据将随之丢失。
- ROM只读存储器。是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。例如:u盘、光盘等。
- 硬盘最主要的存储设备。
1.2了解变量和常量的命名规范
变量名在Java可以由数字、字母、$和_组成。
在Java中变量名要有一定的规范。
1.数字不能作为开头
2.变量名要见名知义 例如abc不如name表示的清楚
3.变量名应切记使用拼音和英文混合,也切记使用中文。变量名应该注意要么全用单词要么全用拼音,保持一致。
4.变量名应该遵循小驼峰命名法。特点是首字母小写,如果是由多个单词,后面的每个单词首字母都要大写!例如:helloWorld myName myInfo。也可以使用下划线例如
hello_world my_name my_info。
5.变量名也不可以使用关键字和保留字
关键字:系统中有特殊含义的单词如class void等
保留字:以后再Java的发展中可能会被赋予特殊含义的单词
Java中的常量
常量就是不能再改变的量,在Java中用final修饰。
为了可以直观的分出它是常量,常量名字的书写也有要求。
常量的名字中出现的字母必须全部大写。
如果在出现了多个单词,要以下划线连接起来。例如MY_NAME。
final double PI = 3.14;
这样PI就不能再被修改。
1.3掌握Java中的数据类型
Java中为了合理的使用内存,将不同的数据,划分了不同的类型。分为8种基本数据类型和引用数据类型。
基本数据类型又分为数值型和非数值型。
数值型:
整数型:
byte 整数型
short 整数型
int 整数型 Java中默认的整数类型
long 整数型
小数型:
float 浮点型
double 浮点型 Java中默认的浮点数类型
下图为数值型的大小和取值范围
在Java中要注意long和float这两种
// Java中默认整数型是int 小数型是double
// 再用long和float这两个时需要注意
// 要在数字后面加大写的F或者小写的f
float f = 10.1F;
// 要在数字后面加大写的L或者小写的l
long lo = 10L;
非数值类型:
char:字符型 例如:存储单个字符使用,要用单引号引起来。例如’a’、‘我’、'男’等
boolean:布尔型 只能存储两个值,一个为ture正确,一个为false错误,适合存储一些判断结果。
引用数据类型:
String:字符串型,写的时候要注意S要大写**最常用的类型,**用双引号引起来。例如“a”、“姓名”
1.4掌握数据类型转换
在Java中存在着自动类型转换
在同一个类型下,取值范围大的数据类型,可以存储一些取值范围下的数据类型值。这种转换是自动的。
double money = 10;// (自动类型转换)
System.out.println(money);// 结果为10.0
在同一类型下,取值范围小的数据类型,如果想存储取值范围大的数据类型值,就要需要强转。强转会损失数据的精度。
int money = (int)10.6; / / 强制类型转换
System.out.println(money); // 结果为10 不会四舍五入
2.掌握Scanner(扫描器)键盘输入(交互)
不同人的姓名、性别、年龄等都不是完全一样的,如果要写每个人的信息就要写很多个程序,怎么才能只用一个程序就能完成这项工作呢。这就用到了Scanner了。Scanner键盘输入,就是不同的人在运行程序时,你可以用键盘输入你的信息,它会存储下来然后就能输出你输入的信息了。
Scanner的使用步骤
1.先导入Scanner(就是请过来干活)
// 导入Scanner
import java.util.Scanner;
2.创建Scanner对象
// 创建Scanner对象
Scanner input = new Scanner(System.in);
3.使用Scanner来输入整数、小数、字符串……
// 将输入的内容存储到变量中
System.out.println("请输入你的年龄:");
// 字符串
String name = input.next();
// 整数
int age = input.nextInt();
// 小数
double money = input.next.Double();
3.掌握常见的运算符
Java中为了更好的处理数据,提了多种运算符号。
3.1算术运算符
+ 加法 与我们平常使用的一样
- 减法 与我们平常使用的一样
* 乘法 与我们平常使用的一样
/ 除法 与我们平常使用的有所差距
% 取余数
++自增1
-- 自减1
// 除法
int num1 = 5;
int num2 = 2;
int num3;
num1 / num2 = num3;
// 计算商 两个数如果都是整数 那么结果一定是整数
System.out.println(num3);// 2
// 当其中出现了一个范围大的类型 那么最终的结果就采用此类型
double num1 = 5;
int num2 = 2;
System.out.println(num1 / num2);// 2.5
int num = 10;
num ++;
++num;
// 输出语句也是一种使用变量的方式
// ++在后面表示先使用原来的值 然后在执行++的效果
// ++在前面表示先执行++效果 然后在使用变量现在的值
3.2赋值运算符
= 在Java中不在表示等于的意思而是赋值的意思 将=右侧的内容赋值给=左边的变量
int num = 10;// 将10赋值给num
复合赋值运算符
+=
-=
*=
/=
%=
int num = 10;
num += 1;// 可以写成 num = num + 1
num /= 2;// num = num / 2
3.3关系运算符
>
<
>=
<=
== 这个在Java中表示等于
!= 这个在Java中表示不等于
关系运算符的结果就是布尔类型的。true和false两种
3.4逻辑运算符
& 与 并且 &&(短路与)
| 或 或者 || (短路或)
!非 取反
&与&&的区别都是与的意思,而&&表示只要前面的某个关系运算符没有成立,那么后面的代码不会再运算,而&是不管前面怎么样,那么后面的代码也会照常执行。|和||的区别与上面雷同。
!取反的意思。如果结果为ture那么输出的结果为false。
&&、||和!的写法
5 < num < 20// 这种我们数学中使用的方法在Java中不能使用
5 < num && num < 20 Java中要这样写才能使用
||与&&写法一样
!写法要把!写在变量名前面如!num
3.5三目(元)运算符
写法为 条件(关系表达式) ? 表达式1 :表达式2;
3.6运算符的优先级
这个不需要背,可以用数学中加()的办法。()在Java中优先级别最高。