java基础(二)

1.Java API:应用程序编程接口,API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力,又无需访问源码,或理解内部工作机制的细节。Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。
2.java数据类型
a.基本数据类型 数值型:【整数类型(byte. short. int. long), 浮点类型(float. double)】,字符型,布尔型)
b.引用数据类型 类, 接口, 数组

早期操作系统是16位系统, int(二字节)-32768~32767; long(4字节)-2147483648~2147483647。
发展到32位操作系统, int (4字节)与long相同。
目前操作系统发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别: 32位编译系统:int(四字节)与long相同。
64位编译系统:int(四字节)long(8字节)范围为:-2^63 - 2^63-1 标准长整型至少和整型一样长,整型至少和短整型一样长。
浮点型long double至少和double一样长,double至少和float一样长。
在这里插入图片描述
byte (1个字节)
short (2个字节)
byte b = 2; //自动把2转为byte类型存放在b空间
long l = 5L;//赋值给long型空间时,要在数值后面加L或l标注其为long类型
浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占1位二进制,表示数的正负。 指数符占1位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点。占多少位,由计算机系统决定。
指数存指数的有效数字。占多少位,由计算机系统决定。 可能: 数符加尾数占24位,指数符加指数占8位(7个有效位) – float.
数符加占48位,指数符加指数占16位(15个有效位) – double.
float和double的精度是由尾数的位数来决定的。其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
声明一个常量为float型,则需在常量后加上f 或 F。
double 和 float的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,能用单精度时不要用双精度(以省内存,加快运算速度)。
字符型char:2个字节,范围为[0,65535],前256个表示特殊字符。java字符采用Unicode编码,可用十六进制编码形式表示。
char c1=’\u0061’; //a
String类型:String是一个类,表示字符串 ;用 “” 括起来, 连接字符串用 +。 Java语言整型常量的表示形式
二进制整数,0b或0B开头,如:int a = 0B110; 八进制整数,要求以0开头,如 int a = 012;
十六进制整数,要求0X或0x开头,如int a = 0x12;

3.转义字符:
如键盘上的制表符tab键。可以使用 ‘\t’表示。
如双引号,在Java中使用双引号表示字符串,若想使用双引号本身含义,即可使 用’\”’表示。
4.字符编码表
字符与整数的对应关系。例如:‘A’-----> 65 ‘B’----->66 ‘a’------>97 ‘b’------>98
char ch = 65 将A存放在ch中
5.数据类型转换
a.隐式类型转换
当在存储整数数据时,Java中所有的整数默认都是int类型的。
在将-128~127之间 的数据存储在byte类型空间中时,JVM会把这个int类型的数据自动转换成byte类型,然后存放在byte空间中.short同理。
byte b = 2; //会自动把int类型2转为byte类型存放在b空间
short s =234; //也会把int类型234转为short类型存放在s空间
当把一个int类型的数据存放在char类型空间中时,也会发生隐式类型转换 char ch = 65; //这里会用int类型65,到编码表中查找对应的字符,然后将字符存放在ch空间中
char ch2 = ‘A’;//直接将A字符存放在ch2空间中
注意:当把超过byte和short范围的数据给他们开辟空间存放会发生编译时错误,把无法在编码表中查到对应字符的数据存放到char空间也会报错。
整型,字符型,浮点型的数据在混合运算中相互转换。原则:容量小的类型可自动转换为容量大的数据类型(类型自动提升) byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
b.强制类型转换
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度的 降低或溢出,使用时要格外注意。
强制转换格式: (数据类型)(被转数据);
long l = 123L;
6.算数运算符
++ :a.自增前 a=2,b=++a,得a=3,b=3;
b.自增后 a=2,b=a++,得a=3,b=2;
– --: a.自减前 a=2,b= - -a,得a=1,b=1;
b.自减后 a=2,b=a- - ,得a=1,b=2;
在一个运算表达式中包含自加运算时,当自加符号在变量右侧时,需要先将变量的值临时保存,然后给变量空间加1,接着用临时变量空间中的值去和其他运算符进行运算。当 自加符号在变量左侧时,需要先给变量空间加1,然后把加1后的值和其他运算符进行运算。
注意:自加自减运算单独存在时,放左放右是没有区别的。
7.赋值运算符
a += 3; //相当于 a = a + 3;的运算,即把a空间中的值和3进行加法运算,把和值从新存放到a空间中 注意:赋值号和算数运算符的混合运算属于一个运算符,不能拆分。并且这个符号会完成自动强转动作。
注意问题:如果对负数取模(余),可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
“+”除字符串相加功能外,还能把非字符串转换成字符串 。“+”运算符两侧的操作,数中只要有一个String类型,一个是基本数据类型时,编译成class文件后,两个操作数就 被连接成了一个新的String值。
8.比较运算符
注1:比较运算符的结果都是boolean型。
注2:比较运算符“==”不能误写成“=”。
9.逻辑运算符
用于连接布尔型表达式。
& 与
| 或
^ 异或:两边相同为false,两边不同为true。
! 非
&& 短路与:双与时,如果左边为 真,右边参与运算,如果左边为假,那么右边不参与运算。
|| 短路或:双或时,左边为真,右边不参与运算。
10.移位运算符
位运算:主要说的是二进制数位运算。
^ 按位异或,运算原则:参与运算的两个数相应位相同则结果为0,异号则为1。
左移操作“<<”:相当于给原数乘以2的倍数。
右移操作“>>”:将运算数的二进制码整体右移指定位数,右移之后的空使用“符号 位”来补充。移出去的二进制数忽略不计。若是正数使用“0”补充;若是负数使 用“1”补充;相当于给原数除以2的倍数。
位运算应用:对两个整数变量的值进行互换(不需要第三方变量)。
//通过和的形式。有个弊端,两个数据较大,可能会超出int范围。
a = a + b;//a = 3 + 7;
b = a - b;//b = 3 + 7 - 7; b = 3;
a = a -­ b;//a = 3 + 7 -­ 3; a = 7;
//技巧。异或。
a = a ^ b;// a = 3 ^ 7;
b = a ^ b;// b = 3 ^ 7 ^ 7;
a = a ^ b;// a = 3 ^ 7 ^ 3.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值