发表时间:2022-03-25来源:网络
对于在internet上下载java字节码文件,并在本地运行(在网页中运行的java程序)称为applet,每次访问都能得到最新的applet,刚开始诞生的时候感觉会很流行,但是网景公司的浏览器和微软的ie浏览器因为使用的java版本不同,有些版本已经过时,难以将最新的Java版本开发的applet应用,随着后来adobe的falsh出场,和java的安全问题(就是访问一个applet,浏览器和java浏览器插件的限制变得越来越多),所以现在要想在浏览器中使用applet不仅要一定的水平而且要付出很大的努力,applet逐渐淘汰

这张图片是不同的jdk版本出现的功能。
Java程序
Java图形程序
Javaapplet程序
java提供了固定得数据范围,不像c++那样为了在特定平台得到更好得性能而采用不同范围,这样就会在移植平台的时候可能出现溢出的情况,而java提供的固定范围,可以很好的实现跨平台
java提供了八种基本数据类型
四种整数类型(int,short,long,byte):长整型后面可以添加一个L或者l,十六进制有一个前缀0x或者0X,八进制有0,二进制0b或者0B(从java7开始,可以用_下划线分割,这样更易读,编译器会将下划线去掉)
两种浮点型(float,double):
float有一个F或者f的后缀,double有D或者d的后缀,因为float精度很小,大多数情况都是double,所以一个小数不加任何后缀的情况下是double类型的。(double还有十六进制的表示方式例如0.125=2^-3,就可以表示为0x1.0p-3,这里的1.0是十六进制数,-3是十进制但是基数是2,所以表示就是1* 2的-3次方,还有常规的aeb表示形式)
浮点型数据不适合表示四舍五入的情况,因为java采用二进制系统保存,不能精确的还原二进制数,所以会和预想的结果可能不太一样,最好使用BigDecimal类。
一种表示unicode编码的char:
可以表示为十六进制值,范围从\u0000到\uffff,\u这个转义字符还可以出现在引号之外,其他的转义字符则只能在引号中间
unicode和char
char描述的是一个utf-16的代码单元(16位)
一种表示真值的Boolean
注意:java没有提供unsigned的修饰的类型
所有数值都遵守IEEE 754规范,Double.positive_infinity正无穷大,Double.negative_infinity负无穷大,Double.NaN不是数字
java变量可以用字母和数字定义,但是必须由字母开头,java的数字和字母范围更加大,字母包括原来的字母还有_,$ ,以及本地语言的字母,在项目开发中因该避开使用$ ,因为这是留给一些工具产生的,或者编译器产生的
使用未初始化变量,编译器就会报错
在java中,使用final代表常量
final修饰的常量只能被赋值一次, 而且不能修改,不然就会报错,习惯上把常量大写
除法运算/,当两边都是整数时,结果也会是整数,否则就会是浮点型(double)类型,整数除以0会报异常,浮点型除以0则会是正无穷大,或者是NaN
对于实现跨平台,想要实现浮点型的结果一致是有难度的,double是64位的存储一个数值,而 有些处理器是使用80位的寄存器,这些寄存器会进行中间结果的计算精度,这个结果会和64位的结果可能会不一样,所以java一开始是始终进行截断操作的,但是后来受到了反对,所以修改了,默认的话是不进行截断的,只有加了strictfp关键字的方法才会进行截断操作
double Math.sqrt(double a)计算a的平方根
double Math.pow(double a,double b)计算a的b次方
Math.floorMod(int a,int b)
三角函数:
Math.sin
Math.cos
Math.tan
Math.atan
Math.atan2
Math.log
Math.log10
Math.exp
Math.round(float) 四舍五入
常量π和E
Math.PI Math.E
为确保在所有平台上都有相同的数值,可以使用StrictMath类
如果一种位数多的类型向位数少的类型转换就会造成精度的丢失,有大类型的都会向大类型的转换,如int+double,double大一些,就会向double转换
虚线表示精度会有丢失,实线表示不会造成精度丢失
当超过转换的目标的范围,就会高位截断,例如(byte)300会转换成44(低八位)
除了上面的自动类型转换,还有强制的,有些时候需要将大类型转换为小类型就需要在类型前面(目标类型),就可以强制类型转换
相当于两个赋值操作,如果最终赋值类型不等于左边的就会进行强制类型转换,例如,int x; x+=1.4;等价于x = (int)(x+1.4)
跟C语言一样,提供自增自减的运算符,有前缀和后缀的区别
注意:在表达式中尽量不要使用++运算符,可读性不高
用于检测相等或不等,值为true或者false
&& || !
前两个有短路的效果
!后面只能接boolean值
& | ^ ~
按位与,按位或,按位异或
> >>>
左移位,右移位,无符号右移位
左移位会在右边补0
右移位会在高位补符号位
无符号右移位会在高位补0
移位运算符会在达到位数范围后从头开始,例如1仅对本类可见
public—>对所有类可见
protected–>对子类和同一个包的可见
default–>默认,仅对同一个包中的可见。
这是所有类的超类
使用Object类型可以引用任何类型的对象
Object中的equals方法只会比较两个对象是否是同一个,这并没什么意义。一般进行重写比较状态是否相等。
为了防止隐式参数为空的情况,可以调用Objects.equals(object a,object b)方法,如果两个都是空返回true,否则调用String.equals
getClass方法返回一个对象所属的类
父类 instanceof 子类返回的是false,也就是说父类不是子类的实例。
如果equals比较的不是同一个类,则java规范要求equals方法具有以下特点
对于一个良好的equals方法应该是下面这样
6. 显示参数命名为otherObject
7. 检测this == otherObject(优化语句,这样比计较域付出的代价小很多)
8. 检测otherObject 是否为null(返回false)
9. 比较this和otherObject是否是同一个类(如果equals在每个子类中都有所改变就用getClass比较)getClass!=otherObject.getClass 返回false,如果在子类中都拥有统一的语义,那么久使用instanceof检测
10.将otherObject转化成other(强转)。
10. 比较域

注意:如果重写方法时,参数不一样,就不是重写,可以用@Override检测
String类重写了hashCode方法
默认的hashcode方法返回的是对象存储的地址(native底层实现)
注意:如果重写了equals方法,那就必须重新定义hashcode方法,已便将对象插入到散列表中
Objects.hashCode方法提供安全的hashCode方法,如果参数为null则会返回0,否则就会调用hashCode方法
Objects.hash(…)可以组合多个散列值
如果存在数组类型的域,就可以使用Arrays.hashCode计算散列码,这个散列码是由数组元素的散列码组成的。
使用getClass().getName()可以使得子类也能调用父类的toString方法。
只要让对象名加上一个字符串就能自动调用他的toString方法
Object类的toString方法是类名加上@和十六进制的散列码
java.lang.getClass()
java.lang.getSuperClass()
ArrayList类似数组,但是在删除和添加的时候能够自动调整数组容量。
将new 和列表结合起来,赋值给一个变量,编译器会检查这个变量,并且将类型放到里面。
数组列表中管理着一个对象引用数组,如果这个数组的空间用完了,数组列表会自动创建一个更多的数组,并将所有的对象从较小数组拷贝到大数组中
add(E obj)总是返回true,在末尾添加元素obj
size返回数组列表元素个数
ensureCapacity(int capacity)确保数组列表在不重新分配内部存储数组的情况下有足够的容量存储给定数量的元素。
trimToSize()将列表存储容量消减到元素个数。
使用get方法获取到第i个元素
set(i,ele) 用lel替换i位置
add(int i,E ele)后移元素,将i位置放为ele
E remove(int index)删除指定位置元素,返回被删除元素
可以将自动装箱和拆箱应用到算术运算符,他会先进行拆箱,然后就行计算,再进行装箱。
数值类的包装类都继承自Number类。
自动装箱规范要求boolean,byte,char
同娱软件下载v2.7.3 安卓版
64.83MB |社交娱乐
捏咔neka官方版下载v1.1.18 安卓版
47.46M |社交娱乐
桩桩充电官方版下载v2.4.2 安卓版
80.31MB |生活服务
中国天气通专业版最新版下载v9.1.0.4 官方安卓版
56.95MB |系统工具
新疆联通网上营业厅官方版(又名中国联通)下载v12.8 安卓客户端
118.17MB |生活服务
联通手机营业厅关怀版(又名中国联通)下载v12.8 安卓最新版
118.17MB |生活服务
28hse香港租屋网APP下载v3.14.0 手机版
51.07MB |生活服务
唐山联通掌上营业厅(中国联通)下载v12.8 安卓版
118.17MB |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14