Java基础学习之旅---第三章
一、变量的介绍
- 变量相当于内存中的一个数据存储空间的表示
- 可以把变量看做是一个房间的门牌号
- 变量必须先声明,后使用 ,即有顺序
- 变量三要素:变量 = 变量名+值+数据类型
- 改区域数据/值只能在同一类型范围内不断变化
- 变量在同一个作用域不能同名
二、程序中 +号的使用
-
当左右两边都是数值型时,则做加法运算
-
当左右两边有一方为字符串,则做拼接运算
-
运算顺序,是从左到右
-
//下面代码输出什么? System.out.println(100 + 98);//198 System.out.println("100" + 98);//10098 System.out.println(100 + 3 + "hello");//103hello System.out.println("hello" + 100 +3);//hello1003
三、数据类型

整数类型
- Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,保证Java程序的可移植性。
- Java的整型常量(具体值)默认为int型,声明long型常量须后加 'l'或 ‘ L’
- Java程序中变量常声明为int型,除非不足以表示大数,才使用long
- bit:计算机中最小存储单位。 byte:计算机中基本存储单元,1 byte = 8 bit。
浮点类型
分类:
单精度 float 4字节
双精度 double 8字节
-
浮点数 = 符号位 + 指数位 + 尾数位
-
尾数部分可能丢失,造成精度损失(小数都是近似值)
-
Java的浮点型常来那个(具体值)默认为double型,声明float型常量,须后加 ‘f'或’F‘;
-
通常情况下,应该使用double型,因为它比float型更精确。
double num9 = 2.1234567851; float num10 = 2.1234567851F; -
浮点数使用陷阱:2.7 和 8.1 / 3 比较
double num11 = 2.7; double num12 = 8.1 / 3; System.out.println(num11);//2.7 System.out.println(num12);//接近2.7 -
重点:当我们对运算结果是小数的进行相等判断时,要小心
字符类型
-
在 Java 中,char的本质是一个整数,在默认输出时,是 Unicode 码对应的字符。要输出对应的数字,可以 (int)字符
-
字符常量使用单引号括起来的字符,不能用双引号,双引号引起来的字符串。
-
char类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码。
-
char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
-
char c5 = 'b' + 1; System.out.println((int)c5);//99 System.out.println(c5);//99对应的字符 c
关于编码
ASCII码
一个字节可以表示256个字符,ASCII码只用了128个字符,只适用英语字母
缺点:不能表示所有字符,例如汉语,日语等
Unicode码
一种编码,将世界上所有的符号都纳入其中,使用Unicode没有乱码问题
缺点:一个英文字母和一个汉字都占用2个字符,浪费存储空间。
utf-8编码
可以认为是Unicode码的一种改进
它可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度
字母占一个字节,汉字占3个字节。
布尔类型
使用细节:
不可以0或非0的整数替代false和true,这点和C语言不同。
自动类型转换细节
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时就会报错,反之就会进行自动类型转换。
(byte,short)和char之间不会相互自动转换
当把具体数赋给byte时,(1)先判断该数是否在byte范围内,如果是就可以。
如果是变量赋值,判断类型
byte n = 10;
int t = 1;
byte n = t;//报错,因为t是int类型,int t = 1 表示将1存放在4个字节的空间了已经,byte分配的空间为1个字节,所以会报错。
byte、short、char 他们三者可以计算,在计算时首先转换成int类型。
byte b2 = 1;
short s1 = 1;
short s2 = b2 + s2;//错,b2 + s2 => int类型,所以s2定义为short类型会出错。
基本数据类型和String类型的转换
-
基本类型转String类型
- 语法:将基本类型的值+""即可
- 案例演示:
int n1 = 10; String str1 = n1 + ""; -
String类型转基本数据类型
- 语法:通过基本类型的包装类调用 parseXX方法即可
- 案例演示
int n2 = Integer.parseInt("123"); -
字符串转成字符char
- 想要将字符串转成字符char只能是将字符串里的某个字符提取出来,因为字符串是无法直接转换成字符的
- 从字符串中提取字符要用到 charAt() 方法
System.out.println(str1.charAt(0));//取出字符串str1中的第一个字符
会有后续哦,敬请期待!

浙公网安备 33010602011771号