我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看 见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。
而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C++就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。
96,97级的不少大学生都去做Web了。当然我没有任何歧视某一行业的意识。我只是觉得如 果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。
Category: 编程学习
编程知识学习与进阶
Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中。
(一)java.lang包
Java最常用的包都属于该包,程序不需要注入此包,就可以使用该包中的类,利用这些类可以设计最基本的Java程序。
String类,提供了字符串连接、比较、字符定位、字符串打印等处理方法。
StringBuffer类,提供字符串进一步的处理方法,包括子字符串处理、字符添加插入、字符替换等。
System类,提供对标准输入、输出设备io的读写方法,包括键盘、屏幕的in/out控制。常用的System.out.print()、System.out.println()都是该类的静态变量输出流out所提供的方法。
Thread类,提供Java多线程处理方法,包括线程的悬挂、睡眠、终止和运行等。
Math类,提供大量的数学计算方法。
Object类,这是Java类的祖先类,该类为所有Java类提供了调用Java垃圾回收对象方法以及基于对象线程安全的等待、唤醒方法等。
Throwable类,该类是Java错误、异常类的祖先类,为Java处理错误、异常提供了方法。
(二)java.awt包
该包中的类提供了图形界面的创建方法,包括按钮、文本框、列表框、容器、字体、颜色和图形等元素的建立和设置。
class B1
{ int n;
static int sum=0;
void setN(int n)
{ this.n=n;
}
int getSum()
{ for(int i=1;i<=n;i++)
sum=sum+i;
return sum;
}
}
public class A1
{ public static void main(String args[])
{ B1 b1=new B1(),b2=new B1();
b1.setN(3);
b2.setN(5);
int s1=b1.getSum();
int s2=b2.getSum();
System.out.println(s1+s2);
}
}
上面这道题目,我看完以后,立刻算出了结果是21,但是电脑编绎后的结果却了27。我大吃一惊,反复地算了几遍,怎么也不知道错在哪了。
原因:
1,类变量是所有对象共享的变量。改变其中一个对象的这个类变量会影响其它对象的这个类变量。
2,在类被加载到内存时,如果该类没有创建对象,类中的实例变量就不会被分配内存,但是类变量就分配了相应的内存空间,直到程序退出运行,类变量才释放所占有的内存。
在b1使用getSum()方法时,已经将类变量sum的值改成了6,所以当b2再次使用getSum()方法时,sum值已不再是0,等于是将s1值多加了一遍。
如果将sum改为实例变量,即去掉前面的static,则运行结果是21。
1 Comment 效果图:
1.打开PhotoShop,打开要处理的图片; 在调板图层中双击图片,在弹出的对话框中确定(好)解除图片锁定;
2.依次点击“图像”,“模式”,“索引颜色”。
3.使用工具栏中的“矩形”工具,并对其如下设置:
4.在图片上拖动鼠标,然后按Ctrl+回车转换成选区。
5.按下ctrl+shift+I反向选取区域;按“DEL”键,将图片周边的删除; Ctrl+D取消选区。
6.保存为.gif格式或.png格式,即可成为透明图片。
1 Comment文件1.txt内容:
zhaoyun 85 87
guanyu 87 88
liubei 90 86
方法1: 使用read()方法
特点: 读取整个文件, 将文件内容放到一个字符串变量中
缺点: 如果文件非常大, 尤其是大于内存时, 无法使用read()方法
[code lang=”python”]
>>> a = open("1.txt")
>>>
>>> a.read() #read()直接读取字节到字符串中, 包括了换行符
‘zhaoyun 85 87\nguanyu 87 88\nliubei 90 86\n’
>>>
>>> print a.read() #返回值为空, 说明调用完read()方法以后变量为空了
>>>
>>> a = open("1.txt")
>>>
>>>
>>> print a.read() #调用print方法则自动转换了换行符
zhaoyun 85 87
guanyu 87 88
liubei 90 86
#另一种写法
with open("1.txt") as f:
print f.read()
#运行结果
zhaoyun 85 87
guanyu 87 88
liubei 90 86