Java 自学笔记 Oct-27(2)

本文详细介绍了Java编程中关于文件操作、输出写入、变量作用域、循环优化、枚举使用、BigInteger和BigDecimal类型、for循环用法、数组操作、数学随机数生成、Arrays类应用等核心知识点,同时分享了如何利用新浪APP获取额外资源和收益。

======================================================
注:本文源代码点此下载
======================================================

1.如果希望scanner对文件进行读取,需要先建立一个file对象(import java.io.file),然后用如下的方式调用:

scanner cin = new scanner(new file("input.txt"));

而不要采用这样的方式:

scanner cin = new scanner("input.txt");

该方式实际上是把"input.txt"这个字符串读入了scanner。(类似于c++中的stringstream导入了一个字符串流)

如果路径为绝对路径,在出现"\"的地方应该替换为"\\"(转义字符),例如"c:\\windows",在linux目录下的无需替换,如"/home/rhoway/xx.java"

2.需要写入文件时调用printwriter,参数直接提供文件名即可。也可以使用其重载版本,参数使用file类型的变量。

使用时需import java.io.printwriter;

printwriter fout = new printwriter("output.txt");

使用后记得调用close函数,这很重要,否则该文件会因为被调用而无法查看到刚更改的内容。

3.在java中,嵌套的块中不可以再声明和外层同名的变量。(在c++中是可以的)

4.for循环的结束条件请尽可能避免和浮点数比较是否相等或者比较大小。(存在舍入的误差)

5.当在switch语句中使用枚举变量时,不必再指定枚举的类型名:

size sz = size.small;

switch(sz)

{

case small:

......;break;

而不用写"case size.small:"

(顺便一提,enum放在main方法中会给出类似于“枚举类型不能为本地类型”这样的提示以致不能编译)

6.附上一张biginteger和bigdecimal类型的表:

(读入可以用nextbiginteger/nextbigdecimal/next)

7.for的另一种用法:

for(类型名 元素名: 集合名)

//do something

该集合必须是数组或实现了iterable的类对象。

8.数组同样存在tostring方法:

array.tostring(数组名)可以将数组元素打印成类似于[1,2,3]这样的形式。

9.在java中可以创建匿名数组,也允许数组的长度为0,但数组长度为0和null不同。

10.数组的拷贝实际上是引用调用

int[] array2 = new int [] {2,3,4,5,6};

int[] array1 = array2;

array[1] = '0';

第三行中的修改也会影响array2中对应元素的值。

如果只需要值拷贝,而不是引用的话,请使用arrays.copyof(被拷贝的数组名,拷贝的元素个数);

如果被拷贝的元素个数少于被拷贝数组大小,则只拷贝前面几个元素。

反之,结果由类型决定:数值类型多余位补0,boolean类型补false。

注:也可以使用system.arraycopy方法,参数如下:

system.arraycopy(source,fromindex,destination,toindex,count);

source指原数组,destination指目标数组,from和to分别指从…下标开始拷贝以及拷贝到…下标。count指拷贝…个元素。用此方法时须保证destination数组足够大。

11.用math.random()可以产生0至1的随机浮点数,利用该值*n可以得到0到n-1的随机数。

12.使用arrays的操作时需import java.util.arrays;


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值