Browse Month

五月 2015

已学Java声明方法和部分语法

1.声明变量的语法:访问修饰符   变量类型    变量名称=初始值;//访问修饰符和初始值可以不写

例如int i=1;int b;

2.声明常量的语法:final   常量类型   名称=具体值;

例如:final double q=10;

3.条件运算符的结构:条件1?表达式1:表达式2;//条件为真返回表达式1的值,否则返回表达式2 的值

4.循环语句等段时间再加进去,而且上篇文章有。

5.声明数组:数据类型1[]数组名=new 数据类型1[长度];或者:数据类型1  数组名[]=new 数据类型1[长度];

数组的初始化:数据类型[]数组名={值1,值2,值3。。。。。,值n};

或者:数据类型  数组名[]=new 数据类型[]{值1,值2,值3。。。。。,值};//注意后面的[]里面不能填写数组长度。

6.定义类的语法:访问修饰符  class  类名{
类的属性
类的方法
}
按照规范类首字母应当大写,但不是强制要求。而且访问修饰符是可选的,
定义属性的语法:访问修饰符  数据类型  属性名;

定义方法的语法:访问修饰符  返回类型  方法名称(参数类型 参数名1,参数类型 参数名2。。。。){
方法内容
}
这是有参类,当然也可以定义无参类,小括号里不写内容即可

创建对象的语法:类名  对象名=new  类名();//例如 Scanner input=new Scanner(System.in);

使用对象的语法:对象名.属性//引用对象属性,可根据其相应的数据类型进行赋值

对象名.方法名;//引用对象的方法

包的定义:语法:package 包名;包名必须放在java源文件的第一条非注释性语句。例如:package   net.qqxh.pack1;

7.继承的语法:

访问修饰符  class  类名1   extends  类名2{

}

可以继承public和protected修饰的属性和方法,无论父类和子类是否在一个包里;

可以继承默认修饰符修饰的属性和方法,但是要在同一包里;

构造方法无法继承,但可以通过super关键字引用访问;

super关键字的语法:访问父类构造方法:super(参数列表);访问父类属性方法:super.属性/方法;

8.抽象类和抽象方法:抽象类定义语法:abstract  class  类名{}

抽象方法定义语法:访问修饰符    abstract  返回值类型   方法名(){};抽象方法必须定义在抽象类或者接口中,但抽象类中也可以有普通方法;

9.接口定义语法:public  interface  接口名{接口成员}

实现接口的语法:public class  类名  interface  接口名{实现接口方法;普通方法;}

一个实现类可以实现多个接口,而继承只能继承一个父类;

10.异常,所有异常都是Throwable的子类,它派生两个类Error和Exception;Error指的一般由虚拟机出现的问题,遇到应注意数据安全。Exception可分为运行时异常(RuntimeException及其子类,不要求必须处理)和已检查异常(Checked必须做相应处理,否则出现编译错误);

try{代码块}chatch{相应处理}finally{无论如何都执行的部分}

thows-thow

关于java几个循环语句的适用情况的深入探讨

Java中有三种常用的循环语句:while循环语句,do_while循环语句,和for循环语句。

语法分别为:
1.while
变量初始化
while(循环条件){
循环体;
迭代语句;
}
2.do_while
变量初始化
do{
循环语句;
迭代语句;
}while(循环条件);
3.for语句
for(变量初始化;循环条件;迭代语句){
循环语句;
}

其中while语句先执行后判断,判断循环条件是“真”或“假”,即小括号中内容为一个布尔表达式;do_while语句先判断后执行,所以循环体至少执行1次,而while可能一次都不执行;for语句和while类似都是先判断后执行,也可能一次也不执行循环体的内容,其变量初始化只执行一次。

三种循环的适用情况:
For循环适用于固定次数的循环,while循环适用于次数不确定的循环,do-while适用于先执行后判断的循环。但是三种循环实际上是可以相互替换的,比如for也可以实现不确定次数的循环,他们都是循环的不同的写法结构。原理和组成都是由循环变量、条件、循环语句、迭代四个部分构成,只要这四个部分有,使用哪种循环都可以实现。区别就是写起来哪个更顺畅、好看,容易阅读和理解。

比如让编写一个程序判断是否输入“Y”,输入Y则程序继续,输入其他内容则结束程序。

按照正常思维是先进行输入再判断是不是“Y”。一般应该通过do_while来编写,因为这样容易理解。代码如下:
public static void main(String[]args){
String end=null;
Scanner input=new Scanner(System.in);
do{
System.out.print(“是否继续Y/N:”);
end=input.next();
}while(end.equals(“Y”));
System.out.print(“结束”);
}


当然也可以通过while来编写,只代码如下:
public static void main(String[]args){
String end=”Y”; //注意这里因为要先判断再进入循环体,所以初始值要首先赋值为”Y”.
Scanner input=new Scanner(System.in);
while(end.equals(“Y”)){
System.out.print(“是否继续Y/N:”);
end=input.next();
}
System.out.print(“结束”);
}


可以用while来书写那么就可以用for来书写了,只需要把while的初始值,循环条件,迭代语句,循环体分别代入for语句的相应部分即可,代码如下:
public static void main(String[]args){
Scanner input=new Scanner(System.in);
for(String end=”Y”;end.equals(“Y”);end=input.next()){
System.out.print(“是否继续Y/N:”);
}
System.out.print(“结束”);
}
虽说三种语句都可以,但是还是通过do_while语句来编写最好理解。而且对于for语句本身就比较抽象,如果语句里的部分再抽象更难理解,不好读懂。所以for在是固定循环次数的情况下使用更好理解,不固定循环次数的情况用while或者do_while,更好理解。这些都是在使用上的一些建议而已,并不是什么硬性的规定。

最后提一个问题,叠加语句必须放在循环语句后面吗?

Java语言遇到问题总结15521期

要着重记住一些基本语法的语法结构和一些逻辑结构。先考虑方法再写,要有思路

例子1:

System.out.print(1+2+3);                      // 输出结果是6

System.out.print(“xiaohe”+1+2);          //输出结果是xiaohe12

System.out.print(1+2+”a”);                     //输出结果是3a

分析:“+”号在java中可以是加号操作,也可以是字符串连接符。输出结果是从左往右依次进行的,当含有字符串时,其左侧或右侧内容被作为字符串输出。第二个输出语句中“xiaohe”先和“1”组合成String型“xiaohe1”。然后“xiaohe1”再和后面的“2”组合成“xiaohe12”。而第三个语句中数字1和2先进行整型相加然后再和后面的字符串a组合成3a。


 

例子2:
byte a=10;
byte b=a+(byte)5;//中哪句有语法错误?
分析:此情况为特殊情况第一个语句中, 编译器在编译时(byte类型取值是有限的)他在判断右边的数值的时候发现是int类型(是“常量”), 但他会判断是不是在byte字节范围之内,如果在的话,会给右边的int类型做默认的强转,他把最后的一个字节(byte八个二进制)赋值到了b这个变量当中
第二个语句虽然为两个byte相加但是相加后的结果仍旧是int型。所以语句2 错误。byte型的数据类型相加默认自动转换为int。这是为了java中防止两个小类型的数据相加超出自己范围的一个机制。a是“变量”意味着这值不确定、可能随时变化,编译器无法检查,也无法确定是否在byte字节范围之内, 他检查不了就会报错(可能丢失精度),如果是“常量”编译器就能够判断了。

扩展:

那么int a=2147483647 ;//这是int的最大值。

int b=a+5;//这样报错吗?

这样是不报错的。默认int在运算过程中,一旦超出这个范围,他自动底层有强制转换过程,保留自己原有位置、高位全舍弃。这就是byte和int的区别,int属于默认类型,他就没有byte上面那样的问题。但是你要是直接给int型赋一个超过最大值的数值还是会提示错误的。

 

 

 

菩提本无树

菩提本无树,明镜亦非台。本来无一物,何处惹尘埃!——《菩提偈》惠能
不能太在意别人怎么看自己,有想法的时候,哪怕暂时被别人误解,甚或是笑话都不可太在意了。这次已然决定要放弃包袱从头开始,这次不再是别人选的,而是自己选的路。哪怕再怎么光辉沉重的过去都不应当成为阻止自己前进的坎。说实话放弃自己读了四年大学学的东西一转头搞别的去了这种做法是有点草率了,虽然自己尝试过几次去干本行,还是觉得是比较草率的。但是至少我心里有一点我知道,我对干本行没兴趣,这一点是选择转行的最根本原因,其次转的方向是我比较感兴趣的。就算自己默默无闻的按照本行干下去,一辈子也许会赚很多钱,但是心里不自在。而且现在很多东西并不是真正的有那么多价值值得留恋的,大学本科学历的价值是有很多水分的。其实按照我说也就是个名分,像妻和妾一样的名分。我娶了你爱不一定有那么深,而没有这个名分的不一定没有爱。
总结下以前的生活,自己总是生活在别人羡慕的眼光中,而实际自己做着自己不喜欢的事情,其实还没有家里面不上学的孩子过得舒坦。有人会说你羡慕他们也太没出息了吧,只能说我是一个特别不甘心的一个人,喜欢做的事情就要去做。自己家附近的孩子里,自己算是这附近少见的大学生了,家长在别人面前也怪有面子的。现在我一决定要换行,很多人肯定有了不同的眼光,家里可能也有点挂不住面子,而且他们还都是特爱面子的人,不过好在父亲支持我。整个层面上来说,我只做决定,别的也就保持不解释了,自己再解释他们肯定有更多的理由让你退缩;个人比较喜欢研究东西,自己感兴趣的总能静下心来研究出一番结果。而自己不敢兴趣的本专业,也就糊里糊涂考试前几周研读下课本保证通过就算了事了,好在自己大学四年不至于挂科。
以后的路究竟能走到什么程度,我自己也不知道,也不好说。说的太冠冕堂皇那是吹牛逼,没意思。也许混得连饭都吃不起呢,当然这是有点夸张的,现在的社会做什么能吃起饭还是可以的。反正既然选择了,也只能给自己打打气了,加油吧。对于当下环境中的邻里之间,家人之间的非议和不同看法,我改变不了。那么只好先改变自己了,放空自己的内心,不去在乎那些就是了。这里再次朗诵一首惠能大师的诗来给自己励志。

菩提本无树,明镜亦非台。

本来无一物,何处惹尘埃!

2015年5月13日

小河

情书

亲爱的
遇见你就像是鱼儿遇见水
而鱼遇见水得那一刻,我也好想遇见你
假如我是一方静静的池水
只需你稍稍的靠近
我便会一路滟潋
滟潋到心神俱动
无以为计
……
亲爱的
如果你愿意,让我们都以一种超然的姿态
直面这一次倾心的相遇
深深

相爱

2015年5月11日
小河

南方的小屋

转自边城诗社
文/林田

我想住在南方
一个可以穿着睡衣上街的地方
一个空气洁净不落灰的地方

我想把墙粉刷成蓝色红色橘色和绿色
床垫摆在地上
单色的床单和撞色的被子
枕头和靠垫堆成小山

我衣服不多
穿一套洗一套
书却不少
散落在地上
有些是借来的
我不买新书

我在周末喝茶看书
也去走街串巷
我拍下废弃的建筑
告诉它们我是最后一个主人

最好窗外有海
我写着没人会看的书
听着或者摇滚或者古琴
时不时不小心沉睡
海风吹走写好的章节
我醒来也不心疼

有没有这样一个南方
有没有这样一间房子
它们就像我梦中的样子
我梦醒了它们还在

注册和使用邮箱的几点建议

1.服务商的选择(后缀的选择)

选择邮箱品牌的时候,应当选择信誉好的,而且能保证相当长的时间内稳定运行的大型运营商。国内的腾讯邮箱、网易邮箱、139邮箱、阿里云邮箱和国外的微软邮箱,雅虎邮箱,谷歌邮箱等等。在这些运营商中可以再按照自己的个人喜好选择自己喜欢的服务商。可以从后缀,邮箱界面,邮箱功能等方面进行选择,不要人云亦云,别人说的好的不一定适合你的风格。也可以选择其中某些服务商注册自己的域名邮箱来使用。另外还有点小建议,最好选择国内服务商,因为有gmail这个例子在这,虽说有特殊方法可以使用但是实在麻烦,谁能保证微软和雅虎会不会也有同样的下场呢?

2.前缀的选择

选择好服务商之后,就可以进行注册了,注册前缀的选择,优先已自己最喜欢的来注册,哪怕是狗蛋(goudan)只要你喜欢就直接注册就行;其次可以选择自己的全拼,简拼;没有全简的再考虑一定的组合按照自己喜好来进行注册,建议要姓氏在前,因为这样符合国人习惯,别人查找你邮箱的时候直接输入你名字首字母就可以找到。字母尽量全是字母,数字尽量都用数字,不要使用无意义乱码。然后前缀尽量简短一些,你搞个几十个字符的前缀想给你发邮件的人肯定要崩溃了;再者注册的时候像数字“1”“0”和字母“i”“o”这些不宜分辨的应当尽量避免使用;我建议的几种组合方法:全拼/简拼+yes/mail/email/inbox/smile/ok/生日/man/成语简拼。选择一些积极向上的词语。理念就是自己喜欢,方便使用,不要太钻牛角尖,要你emial的人不会挑剔你的邮箱的。

3.邮箱的个数

在现在这个互联网社会,邮箱算是一种网络通行证,任何人都可以在互联网上通过一小串字符联系到你,很多种帐号需要用邮箱提供注册。在邮箱的个数上,建议每个人手上都要有三个邮箱,一个私人、一个工作、一个安全。私人邮箱用来日常联系朋友,注册帐号等等(可以单独申请第四个邮箱用来注册帐号,防止垃圾邮件);工作邮箱自然是工作上使用,和私人邮箱分开的好处是可以一定提高工作效率,再也不用担心给女朋友的邮件发到了女boss那里去了;安全邮箱用来作为你各种帐号的密保,选择的时候一定要选择安全的服务商,而且保证邮箱密码的安全。

4.邮箱的使用

不要随便在网上留下自己的邮箱地址,因为这样用不了多久你的邮箱就会被很多垃圾邮件骚扰,甚至导致你无法正常使用你的邮箱;不要随便注册东西用,某些网站你注册了会收集你的邮箱地址,给你推送各种广告,同样影响你的使用。而且必需注册的密码不要和邮箱密码相同,因为那样的话被注册网站的用户数据如果被黑客盗取了,那你的邮箱也相当于被盗了。

以上就是我对邮箱的注册的一些个人看法,和一些使用注意事项,谢谢各位读者读到这里。

2015年5月4日

小河

对长城防火墙GFW的个人看法

文章起因:前段时间吵得比较火的gmail事件,大家应该都有所听闻。而我也是gmail用户之一,所以我闲来没事也扯扯这个话题。首先我不是什么专家也不是什么名人,也就是一个中国平头百姓发表下看法。文章由gmail切入不仅仅局限于gmail这一个点上。


首先就从gmail开始谈,事情应该是2014年12月26日开始的,导致大部分用户都无法正常访问gmail,这样说是因为有小部分人一直在墙外,这次屏蔽是直接从通讯协议端口上动的手脚,导致   通过客户端使用的现在也不可以了。当时很多人都开始在网上抱怨了,各种骂、各种不满。对我产生影响要再往后过一段时间,因为之前也不怎么用gmail。后来对我影响是因为我有一些帐号是通过gmail注册的,找回帐号密码的时候才知道麻烦来了。就开始各种查资料想办法上去,经过一番折腾最终还是上去了,应该有很多人也都做到了。

现在事情已经过去很长时间了,现在静下来想想这个墙的事情究竟是好是坏。下面看看墙还干了什么事情。前几年个别中学生手里总会有那么几个不良网址,而且不定期更换,在同学圈里传播,我就是从那个时候过来的所以我知道;后来国家就加大力度查封这些网站,经过一段时间情况好多了,那时候偶尔听到学生聊天聊到“某某网站封了吧?还有没有别的?”,说明有效果。再到后来不良网站就开始选择在国外建服务器,这下国内就动不了它了。然后伟大的墙出现了,国内无法再正常访问那些网站了。不管你有没有访问那种网站的需求,身为一个成年人这点上都应该为墙点个赞,至少不再祸害未成年了。

讲过这两个例子现在再来客观讨论一下这个事情,屏蔽gmail不管怎么样都屏蔽了,而且我相信一定有什么理由让它这么做。身为一个中国公民我们都应该默默接受这个事实。在这件事情处理方式上某些部门肯定有不妥的地方,至少屏蔽之前没有任何通知,让很多人措手不及。要是有个通知的话,那么我们还可以做个备份或者转移,也好为将要带来的影响提前做个二手准备。但是你看另一个事情,网上可以找到很多翻墙软件,而且很多如何使用gmail的文章也在网上发表着,说明也不是没有给大家留有余地的,没有把事情做绝,也是可以通过特殊方法给真正需要的人的。总之呢墙的好坏不能一概而论,国家需要它做什么它就应该做什么,在爱国爱幼这个共同点上我们在统一战线上。

墙是咱们墙,设计上肯定还有需要完善的地方,至少不能像以前闭关锁国那样闭网锁国,适当的给它装上窗户也是种风景。

2015年5月3日

小河

  • 1
  • 2