Java第二天~第三天:
这一天主要学习Java中的变量。(一天没学完悲,在43/910处倒下了,今天专注力太差了,本来是打算至少学到60/910处的)。虽然前面讲的真的特别基础而且我本身也有C++和Python的基础,但是也有认真记录啦,准备看看能不能查漏补缺。明天继续加油(感觉得开个番茄钟了,不然一直玩炉石)。
第三天,学到61/910处~,今天收获还蛮多,居然基础语法里面也有那么多和C++不一样呀,不过还是最近Python敲多了,还是不习惯敲;了,哈哈,慢慢改回来lol。
变量:
变量是程序的基本组成单位(无论是哪种高级语言)。
其具有三个基本要素:
- 类型;
- 名称;
- 值
class Tset{
public static void main(String[] args){
int a = 1;//定义一个变量,类型为int类型,名称a,值为1——体现在内存中就是分配了一个地址给a,存储了数值1
int b = 3;//定义一个变量,类型为int类型,名称为b,值为2
b = 89;//把89赋值给b
System.out.println(a);//输出a变量的值
System.out.println(b);//输出b变量的值
}
}
概念:
变量相当于内存中一个数据存储空间的表示,可以把变量看作是一个门牌号,通过门牌号我们能找到房间,而通过变量我们能够访问到变量的值。
基本使用步骤:
- 声明变量
int a;
- 赋值
a = 6;
- 上面两步可以合并
使用时的注意事项:
- 变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小一般不一样);
- 该区域应该有自己的名称(变量名)和类型(数据类型);
- 变量必须先声明再使用(有顺序);
- 该区域的数据可以在同一类型范围内不断变化;
- 变量在同一个作用域中不能重名;
- 变量的三要素要牢记——类型、变量名、值(可以后赋值,但是前两个是声明变量必然需要的要素)。
程序中加号的使用:
-
当加号左右两边都是数值类型,做加法运算;
-
当左右两边有一方为字符串,使用拼接运算;
若有多个加号,按从左到右的顺序判断。 System.out.println(100 + 3 + "Hello");//103Hello System.out.println("Hrllo" + 100 + 3);//Hello1003
数据类型(一个难点,不过有其它语言的基础还是比较简单的):
分为两大类:这些是要背下来的
-
基本数据类型:
- 数值型——整型、浮点型(小数);
- byte[1]
- short[2]
- int[4]
- long[8]
- 以上都是整数;
- float[4];
- double[8];
- 这些是浮点数(小数)。
- 字符型;
- char[2],存放单个字符。
- 布尔型。
- boolean[1],存放true,false。
- 数值型——整型、浮点型(小数);
-
引用数据类型(在数组与oops以及接口部分讲,暂时不急):
- 类class;
- 接口interface;
- 数组[]。
为什么没有String呢?因为String不是基本数据类型而是一个类。
整型:
Java的整数类型就是用来存放整数型数值的。
类型 | 占用的存储空间 | 范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -(215)~215-1 |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
细节(含代码):
- Java各整数类型的大小不会根据OS的改变而改变,以保证java程序的可移植性;
- Java的整型常量(具体值)默认为int型,声明long型常量必须在后面加‘l’或‘L’;
- java程序中变量常声明为int,除非不足以表示大数采用long;(保小不保大原则)
- bit(位)——最小的存储单元;byte(字节)——基本存储单元,1byte=8bit
public class intdetail{
public static void main(String[] args){
//Java的整型常量(具体值,不是说n1而是值1)默认为int,声明long型常量需要在后面加上‘l’
int n1 = 1;//占用4个字节
// int n2 = 1l; 这样写是不对的因为int类型存储不下long型
long n3 = 1l;//这样是对的
}
}
浮点类型:
Java的浮点类型可以用来表示小数。
类型 | 占用的存储空间 | 范围 |
---|---|---|
单精度float | 4字节 | -3.403E38~3.403E38 |
双精度double | 8字节 | -1.798E308~1.798E308 |
说明:
- 浮点数的构成——符号位 + 指数位 + 尾数位;
- 尾数部分可能丢失,造成精度缺失。——这就是小数为什么都是近似值的原因。
细节:
-
和整型类型,java浮点型也有固定的范围和字段长度,不会因为OS的改变而改变;
-
Java的浮点型常量默认为double,声明float类型的常量需要在后面加上,‘f’或者’F’;
-
浮点型的两种常用表示方式:
- 十进制数型式:5.12 512.0f .512——一定要有小数点
- 科学计数法形式:5.12e2[5.12*102] 5.12E-2[5.12/102]
-
通常情况下,应该使用double类型,因为比浮点型更加精确;
-
浮点数使用陷阱:
- 2.7和8.1/3比较。
- 若直接比较2.7和2.7其值是相同的。
public class FloatDetail{ public static void main(String[] args){ // 默认情况下,浮点型常量是double类型,要想写成float类型常量一定要在后面加上"f"或“F” float num1 = 1.1f; double num2 = 2.2; // float num3 = 1.1; 这样做是不对的,因为1.1是一个浮点型常量,默认为double类型 double num4 = 1.1f; //这样是可以的,小的可以放到大的里面 // 十进制: double num5 = .512;// 等价于0.512 System.out.println(num5); // 科学计数法: System.out.