一、强类型语言:
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(特点:安全性高,速度慢)
二、弱类型语言:
- 要求变量的使用要符合规定,所有变量都必须先定义后才能使用。
三、Java的数据类型分为两大类:
-
基本类型(primitive type)
数值类型:
整数类型:
byte类型:占1个字节范围:-128~127
short类型:占2个字节范围:-32768~32767
int类型:占4个字节范围:-2147483648~2147483647
long类型:占4个字节范围:-9223372036854775808~9223372036854775807
浮点类型:
float类型:占4个字节
double类型:占2字节
字符类型:
char类型:占2个字节
布尔类型:
boolean类型:占1位,其值只有true和false两个
public class Demo02 { public static void main(String[] args) { //八大数据类型 //整数类型: byte num1 = 10; short num2 = 20;//最常用 int num3 = 30; long num4 = 30L;//Long类型要在数值的后面加上L //浮点类型(小数): float num5 = 3.14F;//Float类型要在数值的后面加上F double num6 = 3.141592653589793238462643; //字符类型: char num7 ='A'; //字符串,String不是关键字,类 //String name = "XiaoZiXi" //布尔类型:(是非) boolean flag1 = true; boolean flag2 = false; System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); System.out.println(num5); System.out.println(num6); System.out.println(num7); System.out.println(flag1); System.out.println(flag2); } }
-
引用类型(reference type)
类
接口
数组
四、字节
-
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数;
-
字节(Byte):是计算机中数据处理的基本单位,习惯上用大写B来表示;
-
字符:是指计算机中使用的字母、数字、字和符号。
1bit表示1位;
1Byte表示1个字节 1B=8b;
1024B=1KB
124KB=1MB
1024M=1GB
五、拓展:
数据类型拓展:
public class Demo03 {
public static void main(String[] args) {
//整数类型拓展:
//进制 二进制:0b开头 十进制 八进制:0开头 十六进制:0x开头
int num1 =10;
int num2 = 010;//八进制
int num3 = 0x10;//十六进制 0~9 A~F
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
//浮点类型拓展:
//float 表现的字长是有限的离散的,会有舍入误差,是大约值,接近但不等于。
//double
//最好完全避免使用浮点数进行比较
float num4 = 0.1f;//表示0.1
double num5 = 1.0/10;//表示0.1
System.out.println(num4==num5);//num4==num5表示判断num4是否和num5一样,判断显示:false
System.out.println(num4);
System.out.println(num5);
float num06 = 12345678987654321f;
float num07 = num06+1;
System.out.println(num06==num07);//判断显示:true
//字符类型拓展:
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换 char类型强制转换成int类型
System.out.println(c2);
System.out.println((int)c2);//强制转换 char类型强制转换成int类型
//所有的字符本质还是数字
//编码 Unicode 可以处理各种语言的文字 占2个字节 最多可以表示65536个字符
//范围在U0000~UFFFF之间
char c3 = '\u0061';
System.out.println(c3);//输出显示:a
//转义字符:
//\t 表示:空格
//\n 表示:换行
System.out.println("Hello\tWorld!");
System.out.println("Hello\nWorld!");
//布尔类型扩展:
boolean flag = true;
if (flag==true){} //新程序员
if (flag){} //老程序员
//if (flag==true){}与if (flag){} 是同样的,if (flag){} 默认是true
//代码要精简易读
}
}
转义字符:
-
定义:字母前面加上右手杠()来表示常见的那些不能显示的ASCII字符,称为转义字符。
-
ASCII码表中的所有字符都可以用“\”(右手杠)加数字(一般是8进制数字)来表示。
-
在最早C语言中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如:\0,\t,\n等,这些字符就被称为转义字符,而Java语言又是在C++语言的基础上改进的,所以,Java也支持转义字符。
转义字符所对应的英文:Escape Character
转义字符串所对应的英文:Escape Sequence
- 常见的转义字符:
转义字符与它原本的ASCII字符的含义不同,转义字符有属于自己的含义。
Java中转义字符一般情况下使用场景如下:
①用于控制台输出打印测试程序
System.out.println("Hello\nWorld"); //运行结果:控制台输出Hello后会换下一行再输出World
②用于加载配置文件
inputStream = Resources.getResourceAsStream("com\\lxj\\mybatis-conf.xml"); //加载com文件夹下的lxj文件夹下的mybatis-cong,xml文件资源进内存
- 常见转义字符所对应含义如下:
序号 | 转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|---|
1 | \a | 响铃(BEL) | 007 |
2 | \b | 退格(BS) ,将当前位置移到前一列 | 008 |
3 | \f | 换页(FF),将当前位置移到下页开头 | 012 |
4 | \n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
5 | \r | 回车(CR) ,将当前位置移到本行开头 | 013 |
6 | \t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
7 | \v | 垂直制表(VT) | 011 |
8 | \ | 代表一个反斜线字符"" | 092 |
9 | ’ | 代表一个单引号(撇号)字符 | 039 |
10 | " | 代表一个双引号字符 | 034 |
11 | ? | 代表一个问号 | 063 |
12 | \0 | 空字符(NUL) | 000 |
13 | \ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
14 | \xhh | 十六进制所代表的任意字符 | 十六进制 |
注:①注意区分,左手杠(/) 与 右手杠() ,此处不可互换;②\xhh :十六进制转义不限制字符个数,如:’\x000000000000F’ == ‘\xF’。