栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

Java与Js差异总结-基础篇

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java与Js差异总结-基础篇

作为一只写js的猿,上手java肯定会觉得它真的好繁琐。所以,一步一步来吧,菜鸟上路,从基础开始,各路大神多多指教。

数据类型

''和""的区别

在js中''和""是没有什么区别的,基本上可以使用单引号的地方就可以用双引号代替,在没有模板字符串时进行字符串的拼接可能会把两者结合使用。
但是在Java中,''里的内容是单个字符,属于char类型;而""则代表字符串,属于String类型。

double和float

double不是double kill的意思,float也不是浮动的意思。他们代表的是浮点型的小数。double是17位有效数字的双精度类型,比float的8位单精度类型更精准。
默认情况下小数是double类型的,如果要用float需要在最后加上f。而double类型的d是可以省略的。

double price=120.5;
float height = 175.8f;

自动类型转换和强制类型转换

如果是从int转到double,或者从float转到double都是可以自动进行转换的。反之则则不行,也就是说从类型范围小的可以自动转换成类型范围大的。

int age = 18;
double age2 = age;
System.out.println(ages); //18.0

但是如果想反过来转换呢?这里就需要使用强制类型转换。使用强制类型转换可能会造成数据的丢失,需谨慎使用。(如下,小数点的5被直接截断)

double height = 178.5;
int height2 = (int)height;
System.out.println(height2); //178 

== 和 === 和euqal()

在js中 == 只判断值是否相等,如果要判断类型也相等就需要使用 === 。但是注意:在java中没有=== 只有 ==,==就已经判断了类型是否相等。
而euqal()方法是判断引用数据类型的,它判断的是引用的内存地址是否相等(即是否是同一个对象),而不是判断值。

数组

数组的声明
int[] scores = { 89, 72, 64, 58, 93 };
System.out.println(scores); //[89, 72, 64, 58, 93]
String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};

数组的遍历

除了普通的for循环外,还可以用foreach来遍历数组。

for ( int score : scores) {
  System.out.println(score);
}

如果只是取数组的每一个元素的话,这个方法比普通for循环方便很多,但是如果要是用的索引的话,该怎么办呢?可以通过定义一个自增变量来实现。

int index = 0;
for ( int score : scores) {
  System.out.println(index);
  index++;
}

数组常用方法

在js中,数组常用的方法直接.方法名就可以了,但是Java中使用方法是需要提前导包的。

import java.util.Arrays;
public class HelloWorld {
    public static void main(String[] args) {
		int[] scores = { 89, 72, 64, 58, 93 };
		// 对Arrays类对数组进行排序
		Arrays.sort(scores);
		// 使用foreach遍历输出数组中的元素
		for ( int score : scores ) {
			System.out.println(score);
		}
	}
}

	public void showMyLove() {
		System.out.println("世界和平!");
	}
}

Java中main方法最先执行。

方法的重载

每一个知识点都要和js对比着来学习,这样可以记得更牢靠,而且对js的基础也能更扎实。
在js中是没有方法重载的概念的,如果出现方法相同的情况,后声明的方法会直接把原有的方法覆盖掉。但是在Java中会根据以下情况判断方法重载:

  • 必须在同一个类中

  • 方法名相同

  • 参数的个数,位置,类型不同

  • 与修饰符或者返回值没有关系。

满足这条件说明方法被重载了,调用时会通过参数的不同匹配调用不同的方法。而不会出现覆盖现象!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/246666.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号