[Java] 循环、数组知识漏洞总结

1.

变量按照数据类型分类,包括:基本数据类型、引用数据类型。

其中引用数据类型包括:类class、字符串String、数组[ ]。

2.

自增在前:先数据自增,再进行运算。

如果自增处于if语句中的条件位置,需要判断自增之后的运算的结果是否为true

例题如下:

https://blog.csdn.net/qq_59942266/article/details/124535041?spm=1001.2014.3001.5501https://blog.csdn.net/qq_59942266/article/details/124535041?spm=1001.2014.3001.5501

3.

随机数返回的是double类型,且生成数据的范围为:[ 0.0, 1.0 )

要生成区间[a,b]内一个随机数,公式:(int) (Math.random() * (b - a + 1) + a);

4.

如果题目要求有char型,可以通过以下方法获取:

String x = "……";       char y = x.charAt(0);  

后者括号内的数字与数组取法相同,即取x中第(几+1)位字符,只能获取一位

5.

如果用switch-case时情况太多,可以考虑除以某个数(变换),使范围缩小

6.

①判断闰年:if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));

②闰年与平年的区别:闰年二月份29天,平年二月份28天

例题如下:

https://blog.csdn.net/qq_59942266/article/details/124545594?spm=1001.2014.3001.5501https://blog.csdn.net/qq_59942266/article/details/124545594?spm=1001.2014.3001.5501

7.

② long x = System.currentTimeMillis();可以计算程序运行的时间,进行效率比较

例题如下:

https://blog.csdn.net/qq_59942266/article/details/124563718?spm=1001.2014.3001.5501https://blog.csdn.net/qq_59942266/article/details/124563718?spm=1001.2014.3001.5501

8.

int []x,y [] 相当于: int [] x; int [] y [];

9.

数组的赋值问题:

同类型的才可以相互赋值;满足字符类型提升的也可以赋值。

10.

查找数据时,可以使用二分法的条件:

数据必须有规律

11.

null相关知识:

(引用文章)

https://blog.csdn.net/weixin_44015669/article/details/89764195?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165181894916782248529478%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165181894916782248529478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-89764195-null-null.142^v9^control,157^v4^control&utm_term=java%E4%B8%ADnull&spm=1018.2226.3001.4187https://blog.csdn.net/weixin_44015669/article/details/89764195?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165181894916782248529478%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165181894916782248529478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-89764195-null-null.142%5Ev9%5Econtrol,157%5Ev4%5Econtrol&utm_term=java%E4%B8%ADnull&spm=1018.2226.3001.4187

概括而言:

当用new给予一个变量空间时,即使空间内没有放东西,输出也不会报错,输出结果为:null,即“空”的意思。

何时报错?当这个变量根本没有属于它的空间时,才会出现指针异常。

(图一)

输出结果为:null

(图二)

输出结果为:指针异常

(图三)

输出结果为:null

根本区别:

图一、图三要输出的内容,有属于自己的内存空间,而图二要输出的内容没有属于自己的内存空间

12.

==与equals的区别:

(引用文章)

https://blog.csdn.net/weixin_43183107/article/details/114673248?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165181825716781683994908%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165181825716781683994908&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-114673248-null-null.142^v9^control,157^v4^control&utm_term=%3D%3D%E5%92%8Cequals%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F&spm=1018.2226.3001.4187https://blog.csdn.net/weixin_43183107/article/details/114673248?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165181825716781683994908%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165181825716781683994908&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-114673248-null-null.142%5Ev9%5Econtrol,157%5Ev4%5Econtrol&utm_term=%3D%3D%E5%92%8Cequals%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F&spm=1018.2226.3001.4187

概括而言:

== 如果比较的是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。

一般情况下:equals() 用来比较两个对象的内容是否相等。但是String类、Arrays类等,equals()会被改写,改写后是比较数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值