变量和常量
- 变量的三要素【类型+名称+值】
- 例如:
int a = 1;
- 例如:
- 变量的作用是作为存储数据值的内存位置
- 变量的目的是申请内存空间
- 变量分为全局变量和局部变量
- 全局变量:在整个类中都可以访问的变量,定义在方法之外【可通过访问修饰符限制访问权限】
- 局部变量:定义在方法内或者语句块中,局部使用【不能使用访问修饰符】
- 常量是一个不可改变的量,一旦被赋值,就不可以再改变【常用关键字final来定义】
程序中“+”号的使用
- 当左右两边都是数值型时,做加法运算
- 当左右两边有一边为字符串时,做拼接运算
- 注意:运行的时候是从左往右运行的
例如:
【运算】
System.out.println(100+89);
【拼接】
System.out.println(100+99+”是个美女”);
数据类型(!!!)
此图必须记住!!! 【1个字节==8位】
字符类型注意事项【容易被忽视!!】
- 字符常量用单引号【‘’】如
-
char c1 = ’a’;
-
- Java中还允许使用转义字符【‘\’】如
-
char c2 = ‘\n’;
-
- Java中字符本质是一个整数,在输出的时候,是输出的unicode对应的字符。如:
- Char类型是可以进行运算的【因为它都对应Unicode码】
字符类型的本质
- 存储到计算机中,需要将字符对应的码值找出来比如‘a’
- 存储: ’a’ >>>> 码值97 >>>> 二进制 >>>> 存储
- 读取: 二进制 >>>> 97 >>>> ’a’ >>>> 显示
- 字符和码值的对应关系是通过字符编码表决定的
基本数据类型转换
- 自动类型转换【如图,从右往左自动转换】
注意事项:
- 多种类型的数据混合运算时,系统自动将所有数据转换成容量最大的数据类型,再计算
- (byte、short)和char之间互相不会自动转换
- Boolean类型不参与转换
- 自动提升原则【表达式结果的类型自动提升为操作数中最大的类型】
- 强制类型转换 【将容量大的数据类型转换成容量小的】
注意事项:
- 可能会造成精度损失或溢出!如:
-
int i =(int)1.9; System.out.println(i);
- 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
-
// int x = (int)10*3.5+6*1.5; 【只会将10转换,(报错)】
-
int y = (int)(10*3.5+6*1.5); 【将整个算术的结果转换】 System.out.println(y);
-
- Char类型可以保存int的常量值,但不能保存变量值,需要强转
-
char c1 = 100; int m = 100; char c2 = m; //报错 char c3 = (char)m; System.out.println(c3);
-
- Byte和short、char类型在进行运算时,当做int类型处理
基本数据类型和String类型的转换
基本数据类型转String
加双引号就好了
int n1 = 100;
float f1 = 1.1F;
boolean b1 = true;
String s1 = n1 + “”;
String s2 = f1 + “”;
String s3 = b1 + “”;
System.out.println(s1+” ”+s2+” “+s3+” “);
String转换成基本数据类型
包装类下面的剧本数据类型.parse()的方法
String s4 = “123”;
int num1 = Integer.parseInt(s5);
double num2 = Double.parseInt(s5)
//...
常用的编码表
- ASCII码 【每个字符用1个字节表示,一共128个字符,实际上1个字节可以表示256个字符,但ASCII表只用了128个】
- Unicode码 【两个字节来表示字符,字母和汉字都是占用2个字节,比较浪费空间,兼容ASCII码】
- Utf-8 【大小可变的编码,字母用1个字节,汉字用3个字节】
- Gbk 【字母用1个字节,汉字用2个字节】
- Gb2312 【可表示汉字,gb2312 < gbk】
- Big5 【繁体中文,台湾,香港】
Java API文档
- Application Programming Interface(应用程序编程接口)【就是Java本身提供的一些类和方法】
- 推荐中文在线文档:码工具 - 代码在线工具箱
- Java类的组织形式
- 例如查找Array List类下的方法
- 按照包找类
- 直接搜索【推荐】