- 重点掌握变量: 1.为什么要学习变量2.学习变量可以用来做什么3.变量的语法规则
- 了解Java中基本数据类型的作用
- 重点掌握整数类型:int与long类型内存占用以及使用
- 重点掌握小数类型:double类型内存占用以及使用
- 重点掌握字符类型:char类型内存占用以及使用
- 重点掌握布尔类型:boolean类型内存占用以及使用
变量
-
1.为什么要学习变量?
答:无论是早期计算机,还是现在计算机始终处理是数据,虽然现在计算机处理的数据相对来说较为丰富,但本质上还是处理的数据,我们作为准程序员,要知道如何存储自定义数据交给计算机处理,那么就需要学习变量。
-
2.学习变量可以用来做什么?
答:我们可以通过变量来存储一些数据,并交给计算机处理。
变量存数,只需要3个步骤 : 1.开劈内存空间 2.给已开的空间存数据 3.使用该空间存储的数据
账户存钱,只需要3个步骤 : 1.开通银行账户 2.给已开的账户存金额 3.使用该账户存储的金钱
-
3.变量的语法规则:
-
1.变量的声明(开账户):
-
-
int a; // 声明了一个 int(用来存整数)的变量 变量的名字为 a int b,c,d;//声明了三个 int(用来存整数)的变量 变量名 分别 为 b c d //int a; 编译错误: 已存在 变量名 为 a 的变量了...
-
2.变量的初始化(为已开账户首次存钱):
单等号 : = 代表赋值号 , 赋值的过程是从右往左赋值。
int e = 300;//声明一个int(整数)的变量 名为e 并为 e 存储了300这样的整数数据。 --声明时并初始化 int f; //声明一个int(整数)的变量 f 。 f = 100;//为f这个变量赋值 100这个整数
-
3.变量的使用(使用账户里的钱):
对变量的使用,就当于使用变量里的数据!
使用变量前,变量一定要声明+初始化!
使用变量时,变量内数据以使用之前最后一次赋值的数据为准!
int b = 5; //声明了一个int(整数)的变量 名为b 并为b变量存储了5这个整数 int c = b + 10;//将b中的数据取出 与 10 求和,计算的结果赋值给 c System.out.println("c");//c ---双引号内容所见即所得 //System.out.println(C);//编译错误:使用未声明的变量C 严格区分大小写 System.out.println(c);//15 打印c这个变量里的数据15 c = 25; //为c又赋值25这个数据 System.out.println(c);//25 使用变量的数据,以最后一次修改的数据为准
4.命名规范
-
变量的命名,可以包含 数字,字母,_ 和$,而且 不能以数字开头。
-
变量的命名不能用关键字(Java语言中已经使用过的名字)
-
变量命名要求要见名知意!
-
变量的名字是区分大小写的且变量命名遵循小驼峰命名法。
//4.命名规范 //变量的命名,可以包含 数字,字母,_ 和$,而且 不能以数字开头。 int a1; int b_$123; //int 1_b; 变量名不能以数字开头 //int class; 变量的命名不能用关键字(Java语言中已经使用的名字) /int int; 变量的命名不能用关键字(Java语言中已经使用的名字) //变量命名要求要英文单词见名知意! int 年龄 = 33; //不可以中文的见名知意 int nianling = 22;//nainling 不可以拼音的见名知意! int age = 11;//建议英文单词的见名知意! //如果变量名是多个单词组合,要遵循 小驼峰命名法 例如下: int myAge = 22; //对于类文件命名的话 要求 大驼峰命名法 多个单词之间首字母大写例如:HelloWorld //变量区分大小写 int b; //一个变量 b int B;// 一个 变量 B
代码的快捷键:
1.快速注释当前选中行代码的快捷键 : ctrl + /
2.快速整理当前页面代码快捷键: ctrl + alt + L
-
数据类型
数据类型分为两类:基本数据类型(重点)和引用数据类型(面向对象部分讲)
基本数据类型的作用:
前面讲过变量,程序中的变量是一个存储单元,用于存储程序中的数据。而今天讲的数据类型是约定变量存储空间大小和存储的数据内容。
故数据类型的作用:决定了变量可以存储数据的类型 和存储数据的范围
基本数据类型共有8种,而我们只学习常用的5种,如图绿色框标记所示:
整数类型:
int类型:在内存中占用4个字节,存储范围:-2147483648 ~ 2147483647
- 整数的直接量默认为int类型,直接量是不可以超出当前类型所容纳的范围,否则会报编译错误!
- 整数运算时,结果是不会保留小数位(截断删除)1
- 整数如果运算时,若超出运算范围则会溢出(溢出不是错误),但是需要避免,溢出的数据没有参考价值
package day02;
/**
* int 和long类型的使用演示类:
*/
public class DataTypeDemo01 {
public static void main(String[] args) {
//整数直接量 ----100 默认为int类型
int a = 100;//声明了一个int(整数)类型的变量 变量名为a 并为a 存储100
//int最小可以存储到 -2147483648 最大可以存储 2147483647
//int b = 2147483648; 编译错误:直接量不可以超过int所容纳的范围
int c = 5;
int d = 2;
System.out.println( c / d);//2
int e = 2147483647;
int f = e + 3;
System.out.println(f);
/**
* +1 --------------(-2147483648)
* +1+1 -------------(-2147483647)
* +1+1+1 -----------(-2147483646)
*/
}
}
变量占多大内存,取决的是数据类型,而非装载的数据! 故a和b变量占用空间大小一致 int a = 5; int b = 2147483647;
long类型:在内存中占用8个字节,可以存储-900万万亿~ 900万万亿
- 长整数类型的直接量 需要在后面缀上L
- 长整数类型在进行运算时,建议在第一个数据后缀加上L即可,那么运算的结果则是long类型
//long类型的语法演示:
//长整数直接量 后缀加上L 即可.
long a = 10000000000L;//声明一个long(长整型)类型 的变量 名为a 赋值了 100亿.
//10亿
long b = 1000000000 *2*10L;
System.out.println(b);//200亿
//10亿 X3 溢出
long c = 1000000000 *3 * 10L;
System.out.println(c);//溢出的数据
long d = 1000000000L *3 * 10;//long类型数据在运算时,建议在第一个数据后缀L
System.out.println(d);//300亿
小数类型:
double类型:在内存中占用8个字节,可以存储天文数字级别大的数据了!
- 浮点型(小数)数据的直接量默认就是double类型.直接量也可以加上后缀D
- double类型的数据在进行运算时,可能存在误差!
//小数直接量 -----3.14 默认为double类型
double a = 3.14;
System.out.println(a);
double b = 3.0;
double c = 2.9;
System.out.println(b - c);//0.10000000000000009 -----> 存在误差
double e = 6.0;
double f = 4.9;
System.out.println(e - f);//1.0999999999999996 -----> 存在误差
double g =6.0;
double h = 1.9;
System.out.println(g - h);// 4.1
字符类型:
char类型:占用了2个字节,表示是字符的意思,字符指的是键盘上的字母/数字/汉字/特殊符号等等
Unicode是一个全球化组织收录了全球的字符,所以Unicode统称字符码或万国码
Unicode中划分很多个子集,Java中的char类型采用的是Unicode最常用的子集(ASCII码表)
- 一个字符对应一个码:表象是字符,本质上处理的是码,范围(0~65535)
- 字符类型的直接量,只能用单引号来存储,且只能存储一个字符!(至少存一个)
- Java提供了特殊符号,如果想要存储的话,需要转义(转换特殊含义为普通含义),转义符号\
char temp = 'a'; //char类型只能存储单个字符
System.out.println(temp);//显示字符
System.out.println((int)temp);//将字符 转换为 对应的码 打印显示
char t1 = '\''; // \为转义符号,可以转换特殊符号的含义为普通字符
System.out.println(t1);
char t2 = '\\';// \为转义符号,如果想存\ 则需要转义再存储
System.out.println(t2);
布尔类型:
boolean类型:内存中占用1个字节,要么存true(成立),要么存false(不成立)。
boolean a = true;
System.out.println(a);
boolean b = false;
System.out.println(b);
基本数据类型转换
基本数据类型从小到大:byte --->short ---->int ---->long--->float---->double
1.自动类型转换(隐式转换):将小的类型 赋值给 大类型的过程 称之为自动类型转换。
/**
* 自动类型转换:将小的类型 赋值给 大类型的过程 称之为自动类型转换。
*/
int a = 100;//并没有发生自动类型转换
long b = a;//发生了自动类型转换
double c = b;//发生了 自动类型转换
2.强制类型转换(显示转换):将大的类型 赋值给 小类型的过程 称之为强制类型转换。
强转语法:在需要强制的变量前方加上(要强转的类型)即可
/**
* 强制类型转换:将大的类型 赋值给 小类型的过程 称之为强制类型转换。
*/
long a1 = 2000000000L;//20亿
int b1 = (int) a1;//使用强制语法:在需要强制的变量前方加上(要强转的类型)即可
System.out.println(b1);//2000000000
long a2 = 20000000000L;//200亿
int b2 = (int) a2;//使用强转语法:在需要强制的变量前方加上(要强转的类型)即可
System.out.println(b2);//溢出数据
double e = 3.1415926;
int r1 = (int) e; //将小数强转 为整数时 截断删除小数
System.out.println(r1);//3