﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-firslien</title><link>http://www.blogjava.net/firslien/</link><description>java学习经历</description><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2026 11:59:21 GMT</lastBuildDate><pubDate>Wed, 15 Apr 2026 11:59:21 GMT</pubDate><ttl>60</ttl><item><title>第一个利用类的方法的调用完成的java程序</title><link>http://www.blogjava.net/firslien/archive/2006/07/19/58982.html</link><dc:creator>firslien</dc:creator><author>firslien</author><pubDate>Wed, 19 Jul 2006 06:48:00 GMT</pubDate><guid>http://www.blogjava.net/firslien/archive/2006/07/19/58982.html</guid><wfw:comment>http://www.blogjava.net/firslien/comments/58982.html</wfw:comment><comments>http://www.blogjava.net/firslien/archive/2006/07/19/58982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/firslien/comments/commentRss/58982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/firslien/services/trackbacks/58982.html</trackback:ping><description><![CDATA[
		<p>从这个程序中学到的：<br />1 throws IOExceptiom 在这里不如用try catch方便<br />2 已经创建类的方法的调用<br /><br /><br /><br />//计算一个一元二次方程<br />import java.io.*;</p>
		<p>
				<br />class InputData //建造一个从键盘获取数据的累<br />{<br /> private static String s="";<br /> public static void input() <br /> {<br />  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));<br />  try<br />  {<br />   s=in.readLine();<br />  }catch (IOException e){}<br />  <br /> }<br /> static public float getFloat() <br /> {<br />   <br />  input();//调用input方法<br />  return Float.parseFloat(s);<br />  } <br />}</p>
		<p>
				<br />class Equation  //建造一个表示方程式的类<br />{<br /> float a,b,c,disc=0;<br /> void input()  //三个参数输入的方法<br /> {<br />  System.out.println("请输入3个参数 a,b,c:");<br />  System.out.println("a=");<br />  a=InputData.getFloat();//调用自定义的InputData类中的input方法 <br />  System.out.println("b=");<br />  b=InputData.getFloat();<br />  System.out.println("c=");<br />  c=InputData.getFloat();<br /> }<br /> void getRoots() //获得根的方法<br /> {   double x1, x2;<br />     double realpart,imagpart;<br />  if (Math.abs(a)&lt;1e-5)//判断是否为一元二次方程<br />  {<br />   System.out.println("这不是一个一元二次方程");<br />      System.exit(0);//退出程序<br />  }<br />  else <br />  {<br />   System.out.println("这是一个一元二次方程");<br />   disc=b*b-4*a*c;<br />      <br />   if(disc&lt;=1e-5)<br />   {<br />    x1=(-b)/(2*a);<br />    x2=(-b)/(2*a);<br />    System.out.println("此一元二次方程有两个相等的根:x1=x2="+x1);<br />   }<br />   else if(disc&gt;1e-5)<br />   {<br />    x1=(-b+Math.sqrt(disc))/(2*a);<br />    x2=(-b-Math.sqrt(disc))/(2*a);<br />    System.out.println("这个一元二次方程有两个实根:"+"\nx1="+x1+"\nx2"+x2);<br />   }<br />   else <br />   {<br />    realpart=(-b)/2*a;<br />    imagpart=Math.sqrt(-disc);<br />    System.out.println("这个一元二次方程有两个复数根:");<br />    System.out.println("x1="+realpart+"+"+imagpart+"i");<br />    System.out.println("x2="+realpart+"-"+imagpart+"i");<br />   }<br />  }<br />  <br />  } <br />}<br /> </p>
		<p>/**<br /> * @author Administrator<br /> *<br /> */<br />public class roots //主类<br />{<br /> public static void main (String[] args) <br /> {<br />  Equation e=new Equation();<br />  e.input();<br />  e.getRoots();<br />  <br /> }<br />} </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p>
				<br /> </p>
<img src ="http://www.blogjava.net/firslien/aggbug/58982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/firslien/" target="_blank">firslien</a> 2006-07-19 14:48 <a href="http://www.blogjava.net/firslien/archive/2006/07/19/58982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>String和StringBuffer </title><link>http://www.blogjava.net/firslien/archive/2006/07/19/58957.html</link><dc:creator>firslien</dc:creator><author>firslien</author><pubDate>Wed, 19 Jul 2006 03:56:00 GMT</pubDate><guid>http://www.blogjava.net/firslien/archive/2006/07/19/58957.html</guid><wfw:comment>http://www.blogjava.net/firslien/comments/58957.html</wfw:comment><comments>http://www.blogjava.net/firslien/archive/2006/07/19/58957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/firslien/comments/commentRss/58957.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/firslien/services/trackbacks/58957.html</trackback:ping><description><![CDATA[其实这两个概念并不是很难理解,但是网上很多文章都讲得有点复杂,有的提到用反汇编器来看程序执行过程,的确这是一个好办法,很清楚.但是对于一个初学者来说确实看不懂,反而还会使得他觉得这两个概念很难理解,越搞越乱.<br /><br />下面我就来说下我经过对网上资料的整理写了一篇对String和StringBuffer的简单看法:<br /><br /><br />1. String类一旦建立是不可修改的  属于字符串常量[/size]<br />   <br />   StringBuffer类 是可以修改的 <br />   <br />通过下面这个例子我们就能很清楚地了解:<br /><br />public class compare<br />{<br />       public static void main(String args[]) <br />       { <br />             String s1="a";<br />             StringBuffer sb1=new StringBuffer("a");<br />  <br />             StringBuffer sb2=sb1;<br />             String s2="a"+"b";<br />             sb1.append("b");<br />    <br />             System.out.println(s1==s2);<br />             System.out.println(sb1==sb2);<br />              <br />             System.out.println(s1);<br />  <br />          } <br />}<br /><br />           运行结果:<br />           false<br />           true<br />           a<br /><br />      这样我们可以看出来用String来声明的变量是不可变的,即使我们使用了sb1.append("b");这样一个语句,但是从输出结果可以看出s1仍然是a并没有发生改变。 而StringBuffer声明的变量是可以改变的所以运行结果是true。<br /><br />2.对字符串使用==来进行比较String的特殊性<br />用==来比较字符串,与equalse方法不同的是,==不是比较两个字符串的值是否相等,而是比较几个字符串的引用是否指向同一个实例。<br />public class c2<br />{<br />          public static void main(String args[])<br />      { <br />          String s1="a";<br />          String s2="a";<br />          String s3=new String("a");<br />          String s4=new String("a");<br /><br />          System.out.println(s1==s2);<br />          System.out.println(s3==s4);<br />          System.out.println(s1==s3);<br />  <br />      }<br />    上面的程序段输出：<br />   true<br />    false<br />    false<br /><br /><br />         <br />         与上例进行比较，不仅可以看出来==与equals的区别，还可以看到字面量的String的特殊之外。<br />      对于字面量的String，只要字符串的值是相等的，不论有多少个引用都是指向同一块内存，不再另外分配空间。而用new关键字生成的实例则不同，每当用new实例化一次，分配该实例自己的内存空间。<br /><br /><br /><br />3.字符串equals()的比较方法<br />       String类提供了一些方法，用来进行字符串的比较。这个类实现了Object父类的equals()方法，用来比较两种字符串的值是否相等。同时还增加了equalsIgnoreCase()方法可以忽略两个字符串大小写的区别。下面是这两种方法的例子。<br /><br />public class b1<br />{<br />      public static void main(String args[])<br />   { <br />         String s1="a";<br />         String s2=new String("a");<br />         String s3="A";<br />         System.out.println(s1.equals(s2));<br />         System.out.println(s1.equals(s3));<br />         System.out.println(s1.equalsIgnoreCase(s3));<br />    }<br />}<br /><br />上例的输出是:<br />true<br />flase<br />true<br /><br />但是StringBuffer类并没有实现Objcet类的Equals方法，所以不能用这个方法来比较两个StringBuffer类的字符串是否相等，如下例所示。<br /><br />public class b2<br />{<br />           public static void main(String args[]) <br />            { <br />                 StringBuffer s1=new StringBuffer("a");<br />                 StringBuffer s2=new StringBuffer("a");<br />                 System.out.println(s1.equals(s2));<br />  <br />             }<br />}<br />程序输出：false<br />但是StringBuffer类并没有实现Objcet类的Equals方法，所以不能用这个方法来比较两个StringBuffer类的字符串是否相等. <img src ="http://www.blogjava.net/firslien/aggbug/58957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/firslien/" target="_blank">firslien</a> 2006-07-19 11:56 <a href="http://www.blogjava.net/firslien/archive/2006/07/19/58957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>