韩顺平JAVA入门第三天
1 变量
1)为什么需要变量
变量是查程序的基本组成单位。变量相当于内存中一个数据存储空间的表示,可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量我们可以访问到变量值。
变量有三个基本要素:类型+名字+值
变量使用的基本步骤:声明变量,赋值,使用。
示例:
public class Var01{
//编写main方法
public static void main(String[] args) {
//声明变量
int a;
a = 100;
System.out.println(a);
//还可以这样用
int b = 800;
System.out.ptintln(b);
}
}
2)变量快速入门
示例2
//定义变量
public class Var02{
//编写main方法
public static void main(String[] args) {
//记录人的信息
int age = 30;
double score = 88.9;
char gender = '男';
String name = "king";
//输出信息,快捷键
System.out.println("人的信息如下:");
System.out.println(name);
System.out.println(age);
System.out.println(score);
System.out.println(gender);
}
}
3)变量使用的注意事项
①变量表示内存中的一个存储区域(不同的变量类型不同,占用的空间大小不同)
②该区域有自己的名称(变量名)和类型(数据类型)。
③变量必须先声明,后使用。
④该区域的数据可以再同意类型范围内不断变化。
⑤变量在同一个作用域内不能重名。
⑥变量=变量名+值+数据类型。
4)加号的使用
①当两边都是数值时,做加法运算。
②当左右两边有一方为字符串,做拼接运算。
2 数据类型
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
①java数据类型分为两大类:基本数据类型,引用类型。
②基本数据类型有八种(byte,short,int,long,float,double,char,boolean)
③引用类型(类,接口,数组)
1)整数类型
①Java各整数类型有固定的范围和字段长度,不受具体OS(操作系统的影响),以保证Java程序的可移植性。
②Java的整形常量默认为int型,声明long型常量须后加‘l’或‘L’。
③Java程序中变量常声明为int型,除非不足以表示大数才用long。
④bit:计算机中的最小存储单位,byte:计算机中基本存储单位,1byte=8bit。
//整数类型细节②
//Java的整形常量默认为int型,声明long型常量须后加‘l’或‘L’。
public class VarDetail{
//编写main方法
public static void main(String[] args) {
//
int n1 = 1;// 4个字节
//int n2 = 1L;//从int变成long可能会有损失。
}
}
2)浮点类型
浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位。
尾数部分可能丢失,造成精度损失(小数都是近似值)。
浮点类型使用细节:
①与整型相似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。
②Java的浮点型常量默认为double型,声明为float型常量,须后加‘f’或‘F’。
③浮点型常量有两种表示形式:十进制形式:5.12、512.0f、 .512(必须有小数点)科学计数法形式:5.12e2、5.12E-2。
④通常情况下,应该使用double型,因为更精确。
⑤浮点数使用陷阱:2.7和8.1/3比较。
public class FloatDetail{
//编写main方法
public static void main(String[] args) {
//Java的浮点型常量默认为double型,声明为float型常量,须后加‘f’或‘F’。
//float num = 1.1;//会报错
float num = 1.1F;//正确
double num1 = 1.1;//正确
double num2 = 1.1F;//正确
//浮点型常量有两种表示形式:十进制形式:5.12、512.0f、 .512(必须有小数点)
//科学计数法形式:5.12e2[]、5.12E-2[]
double num3 = .123;//可以省略0,等价0.123
double num4 = 5.12e2;//512.0
double num5 = 5.12E-2;//0.0512
//通常情况下,应该使用double型,因为更精确。
double num6 = 2.1234567851;
float num7 = 2.1234567851F;
System.out.println(num6);//2.1234567851
System.out.println(num7);//2.1234567
//浮点数使用陷阱:2.7和8.1/3比较。
double num8 = 2.7;
double num9 = 8.1/3;
System.out.println(num8);//输出2.7
System.out.println(num9);//输出接近2.7的小数,不是2.7的小数。
//使用时,当我们对运算结果是小数的进行相等判断,要小心。
//应该是以两个数的差值的绝对值,在某个精度范围内判断。
if(Math.abs(num8 - num9) < 0.000001){
System.out.println("差值非常小,到我的规定范围,认为相等");
}
}
}
2)浮点类型
字符类型可以表示单个字符,字符类型是char,char是两个字节,(可以存放汉字)。
//char的使用
public class charDetail{
//编写main方法
public static void main(String[] args) {
char c1 = 'a';
char c2 = '\t';
char c3 = '韩';
char c4 = 97;//说明:字符类型可以直接存放一个数字
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);//输出97代表的字符。所以输出的是a
}
}
字符类型使用细节
①字符常量是用(‘ ’)括起来的单个字符。
②Java中还允许使用转义字符。如char = ‘/n’
; /n表示换行符
③在Java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
④可以直接给char赋一个整数,输出时,会按照对应的unicode字符输出。
⑤char是可以进行运算的,相当于一个整数,因为它有对应的unicode码。
//char使用细节
public class charDetail01{
//编写main方法
public static void main(String[] args) {
//在Java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
//要输出对应的数字,可以(int)字符。
char c1 = 97;
System.out.println(c1);//输出字符a
char c2 = 'a';//输出'a'对应的数字
System.out.println((int)c2);//97
char c3 = '周';
System.out.println((int)c3);//21608
//char是可以进行运算的,相当于一个整数,因为它有对应的unicode码。
System.out.println('a' + 10);//输出107
}
}
字符类型的本质
①字符型存储到计算机中,需要将字符对应的码值找出来,例如‘a’
存储:‘a’ => 码值97=>二进制=>存储
读取:二进制=>97=>‘a’=>显示
②字符和码值的对应关系是通过字符编码表决定的。
3)布尔类型
基本介绍
①布尔类型:boolean,只允许取值true和false。
②布尔类型占一个字节
③适用于逻辑运算,一般用于程序流程控制:
if条件控制语句、while循环控制语句、do-while循环控制语句、for循环控制语句。
//bool的使用
public class bool{
//编写main方法
public static void main(String[] args) {
//演示判断成绩是否通过的案例
//定义一个布尔变量
boolean isPass = true;
if (isPass == true){
System.out.println("通过考试,恭喜");
}else{
System.out.println("没有通过考试,下次一定");
}
}
}