【Java学习种类】第1课–Java语法及面向对象

    –【finally关键字】      

    在下边包车型大巴 CheckingAccount 类中包蕴四个 withdraw() 方法抛出2个InsufficientFundsException 格外。

      –【概述】

    c)【创制数组】

    – 【重写规则】    

               b)【设置编写翻译到制定路径下】   
javac hello.java -d c:\myclasses

      注意:JDK 5
后的本子大家也足以利用 Java
Scanner

类来拿到控制台的输入。

    –【PatternSyntaxException类

    – 【代码示例】

   别的输入流:

      – 【所属包】java.util.Arrays
类能方便地操作数组,它提供的保有办法都以静态的

  3.参阅文书档案

public class FinalizationDemo {  
  public static void main(String[] args) {  
    Cake c1 = new Cake(1);  
    Cake c2 = new Cake(2);  
    Cake c3 = new Cake(3);  

    c2 = c3 = null;  
    System.gc(); //调用Java垃圾收集器
  }  
}  

class Cake extends Object {  
  private int id;  
  public Cake(int id) {  
    this.id = id;  
    System.out.println("Cake Object " + id + "is created");  
  }  

  protected void finalize() throws java.lang.Throwable {  
    super.finalize();  
    System.out.println("Cake Object " + id + "is disposed");  
  }  
}

    2.1
Java类和指标

      – 在 Java 中运用 final
关键字来修饰常量,证明格局和变量类似

PHP 1PHP 2

  mkdirs()办法创立3个文书夹和它的全体父文件夹。

//二维数组动态初始化
String s[][] = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");

  d)【读写文件】

    2.3 Java
Number类

 

  

      – Java
语言中提供的数组是用来囤积定位大小同类型元素。

    – 【try catch】

      PHP 3

      java很多学问的,假如是但是的javaApplication(java应用程序)应该有main()函数作为入口,可是像jsp也许是applet等都以不须要main()函数的

 

    方法的重写(Overriding)和重载(Overloading)是java多态性的两样表现,重写是父类与子类之间多态性的一种表现,重载是一类中多态性的一种表现。

    d)【构造方法】

 

  3)【Java Number 类】

      Matcher
对象是对输入字符串举行诠释和匹配操作的外燃机。与Pattern 类一样,Matcher
也尚无国有构造方法。你需求调用 帕特tern 对象的 matcher 方法来获取2个Matcher 对象

    1)参数列表必须完全与被重写方法的相同;
    2)返回类型必须完全与被重写方法的返回类型相同;
    3)访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
    4)(父类的成员方法只能被它的子类重写。
    5)声明为final的方法不能被重写。
    6)声明为static的方法不能被重写,但是能够被再次声明。
    7)子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
    8)子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。
    9)重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
    10)构造方法不能被重写。
    11)如果不能继承一个方法,则不能重写这个方法。

  – 非访问修饰符: 

    – 为了赢得2个绑定到控制台的字符流,你能够把 System.in
包装在多个 BufferedReader 对象中来创建3个字符流。

 

PHP 4PHP 5

    2.9
Java正则表明式

    Java 为 I/O
提供了有力的而灵活的支撑,使其更普随地动用到文件传输和互连网编制程序中。

 

13)【Java
重写(Override)与重载(Overload)】

               c) 【设置环境变量】vim ~/.bashrc 

      如前所述,1个流被定义为2个数码系列。输入流用于从源读取多少,输出流用于向目的写多少。

      索引方法:start()  end()

    有多少个构造方法能够用来创立 FileOutputStream 对象

   

File f = new File("C:/java/hello");
InputStream f = new FileInputStream(f);

      假若爱戴代码中发出非常,万分被抛给第二个 catch 块。

        PHP中类的梳洗,最多正是 抽象类为 abstract class ,不过在
Java中一个文书中必须有二个 public class,且为该公文的名。

 

区别点 重载方法 重写方法
参数列表 必须修改 一定不能修改
返回类型 可以修改 一定不能修改
异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常
访问 可以修改 一定不能做更严格的限制(可以降低限制)

  //输出 Current Date/Time : Sat Dec 15 16:37:57 MST 2012

    – Java
允许定义那样的章程,它在对象被垃圾收集器析构(回收)以前调用,那几个点子叫做
finalize( ),它用来清除回收对象。

InsufficientFundsException.java

 

    2.10
Java方法

   – 【输入流–FileInputStream】    

    要理解Java十分处理是何许做事的,你要求精通以下三体系型的格外:

 1 //1. 入口测试类
 2 public class TestJavaClass
 3 {//{{{
 4     public static void main(String []args)
 5     {//{{{
 6         //注意点1:实例化要制定类型 TestDog
 7         //注意点2:java程序中的字符串必须是 双引号引着
 8         TestDog testDog = new TestDog("Tom");
 9         testDog.run();
10     }//}}}
11 
12 }//}}}
13 
14 //2.测试小狗类
15 class TestDog
16 {//{{{
17     String name;
18     int age;
19     //构造函数
20     public  TestDog (String name)
21     {//{{{
22         System.out.println("这条狗叫 " + name);
23     }//}}}
24 
25     //运行
26     public  void run()
27     {//{{{
28         System.out.println("01 开始运行\n");
29        //注意点3:类的内部调动函数,直接写 setAge(dogAge)
30         setAge(10);
31         int dogAge = getAge();
32         System.out.println("02 狗的年龄是 " + dogAge);
33     }//}}}
34 
35     //获取
36     public  int getAge()
37     {//{{{
38         return age;
39     }//}}}
40 
41     //设置
42     public  void setAge(int ageValue)
43     {//{{{
44       //注意点4:类的内部调动类的成员变量,直接写 age
45         age = ageValue;
46     }//}}}
47 
48 }//}}}

  1)【基本语法】

  4)【Java数组】

    全数的不胜类是从 java.lang.Exception 类继承的子类。

    

  别的输出流:

 

// 文件名InsufficientFundsException.java
import java.io.*;

public class InsufficientFundsException extends Exception
{
  private double amount;
  public InsufficientFundsException(double amount)
  {
    this.amount = amount;
  } 
  public double getAmount()
  {
    return amount;
  }
}

 

      有 xxxValue()compareTo()

        完毕的效益就是 示例化一个狗的指标,同时设置狗的岁数并收获该年龄,然后输出.

      pattern
对象是2个正则表明式的编写翻译表示。Pattern 类没有集体构造方法。要创制一个Pattern 对象,你不能够不首先调用其公共静态编写翻译方法,它回到多少个 Pattern
对象。该方法接受四个正则表达式作为它的率先个参数。

    b)【类的修饰】

重写规则

View Code

PHP 6PHP 7

  c)【Exception 类的层系】  

Depositing $500...

Withdrawing $100...

Withdrawing $600...
Sorry, but you are short $200.0
InsufficientFundsException
        at CheckingAccount.withdraw(CheckingAccount.java:25)
        at BankDemo.main(BankDemo.java:13)

 

                    里面添加 export
CLASSPATH=/Library/WebServer/Documents/Java_AVATAR/Learing/classes

BufferedReader br = new BufferedReader(new 
                      InputStreamReader(System.in));

          例如:

    1.1
基本语法

PHP 8PHP 9

PHP 10PHP 11

 

 

  c)【printf方法】

//文件名 :fileStreamTest2.java
import java.io.*;

public class fileStreamTest2{
  public static void main(String[] args) throws IOException {

    File f = new File("a.txt");
    FileOutputStream fop = new FileOutputStream(f);
    // 构建FileOutputStream对象,文件不存在会自动新建

    OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
    // 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk

    writer.append("中文输入");
    // 写入到缓冲区

    writer.append("\r\n");
    //换行

    writer.append("English");
    // 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入

    writer.close();
    //关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉

    fop.close();
    // 关闭输出流,释放系统资源

    FileInputStream fip = new FileInputStream(f);
    // 构建FileInputStream对象

    InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
    // 构建InputStreamReader对象,编码与写入相同

    StringBuffer sb = new StringBuffer();
    while (reader.ready()) {
      sb.append((char) reader.read());
      // 转成char加到StringBuffer对象中
    }
    System.out.println(sb.toString());
    reader.close();
    // 关闭读取流

    fip.close();
    // 关闭输入流,释放系统资源

  }
}

   

PHP 12PHP 13

 

PHP 14PHP 15

fileStreamTest2.java

    2.4 Java Character

     –
PHP没有如此的须求,因为PHP本身正是解释型的言语,不供给编写翻译,也不须求转变编译文件类似
.class的文件

分享提纲:

PHP 16PHP 17

      二个 try 代码块前边紧跟着七个 catch 代码块的状态就叫多重捕获。

      Java的类和函数是大小写敏感的,这或多或少和PHP差异,PHP的类和函数的分寸写不灵敏

PHP 18PHP 19

SimpleDateFormat::parse()

    –【只继承Exception类】

    1.4
Java数组

    – 【概述】

 

      要是三个方法没有捕获一个检查性十分,那么该办法必须选择 throws
关键字来声称。throws 关键字放在方法签名的底部。

// 文件名称 CheckingAccount.java
import java.io.*;

public class CheckingAccount
{
   private double balance;
   private int number;
   public CheckingAccount(int number)
   {
      this.number = number;
   }
   public void deposit(double amount)
   {
      balance += amount;
   }
   public void withdraw(double amount) throws
                              InsufficientFundsException
   {
      if(amount <= balance)
      {
         balance -= amount;
      }
      else
      {
         double needs = amount - balance;
         throw new InsufficientFundsException(needs);
      }
   }
   public double getBalance()
   {
      return balance;
   }
   public int getNumber()
   {
      return number;
   }
}

      也得以采取 throw
关键字抛出一个十三分,无论它是新实例化的如故刚抓获到的

Enter lines of text.
Enter 'end' to quit.
This is line one
This is line one
This is line two
This is line two
end
end

      如此,直到至极被擒获可能通过拥有的 catch 块。

// 原始字符 'a' 装箱到 Character 对象 ch 中
Character ch = 'a';

// 原始字符 'x' 用 test 方法装箱
// 返回拆箱的值到 'c'
char c = test('x');

      java -classpath C:\java\DemoClasses HelloWorld 也行

 

 

          

  6)【Java修饰符】

        

 

BRReadLines.java

  e)【捕获非凡】

 11)【Java
流(Stream)、文件(File)和IO】

View Code

GregorianCalendar

12)【 Java
分外处理

 

           2.7 Java
数组

PHP 20PHP 21

    Java 语言定义了部分极度类在 java.lang 标准包中。

    –【举例】

    类似输入流,输出流也有三种成立对象的措施。

  –【文件和I/O】

 

  c)【重写与重载之间的差别】

    – 【多重捕获】

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
   FreshJuiceSize size;
}
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 显示格式化时间
System.out.printf("%s %tB %<te, %<tY",
"Due date:", date);
}
}

 

    –【对象置为空】 c2 = c3
= null;

        StringBuilder
类速度快,不过不是线程安全的

    代码如下:

SimpleDateFormat

FinalizationDemo.java

  以上实例编写翻译运维结果如下:

 

OutputStream f = new FileOutputStream("C:/java/hello")
或者

File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

    c)【Number子类方法】

      

   

PHP 22PHP 23

    –【代码示例】

    d)【每种变量都要先定义,并创建项目】

10)【Java方法】 

    a)【定义】

      c)【代码示例】

    – 【Pattern

  

               a)【暗中同意编写翻译的路径】 暗许举办 javac
HelloWorld.java时,生成的文本都是在当前的目录下。

StringDemo.java

PHP 24PHP 25

    有二种构造方法可用来创设对象。

  f)【注解自定义相当】

                   
Date对象,提供了toString()等10种方法。

      PatternSyntaxException
是二个非强制非凡类,它表示三个正则表明式方式中的语法错误。

    – 【parse()方法】SimpleDateFormat类的parse()方法可以分析字符串

   a)【格外的原委】

    b)【表明变量】

 

 

    b)【源文件名

 

//文件名称 BankDemo.java
public class BankDemo
{
   public static void main(String [] args)
   {
      CheckingAccount c = new CheckingAccount(101);
      System.out.println("Depositing $500...");
      c.deposit(500.00);
      try
      {
         System.out.println("\nWithdrawing $100...");
         c.withdraw(100.00);
         System.out.println("\nWithdrawing $600...");
         c.withdraw(600.00);
      }catch(InsufficientFundsException e)
      {
         System.out.println("Sorry, but you are short $"
                                  + e.getAmount());
         e.printStackTrace();
      }
    }
}

  d)【Java 内置十分类】

        –Java的构造方法可以有七个,在创建三个目的的时候,至少要调用三个构造方法。构造方法的称号必须与类同名,3个类能够有四个构造方法,从而达成差别情况下走差别的构造方法。

    Java.io
包差不离涵盖了独具操作输入、输出需求的类。全体这个流类代表了输入源和出口指标。

      三个方式能够证明抛出多少个可怜,三个可怜之间用逗号隔绝。

 

CheckingAccount.java

   6)【Java StringBuffer 和
StringBuilder 类】

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
    public static void main( String args[] ){

      // 按指定模式在字符串查找
      String line = "This order was placed for QT3000! OK?";
      String pattern = "(\\D*)(\\d+)(.*)";

      // 创建 Pattern 对象
      Pattern r = Pattern.compile(pattern);

      // 现在创建 matcher 对象
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
      } else {
         System.out.println("NO MATCH");
      }
   }
}

    [3] 调用类 BankDemo 类 文件名称
Bank德姆o.java

C : > javac HelloWorld.java
C : > java HelloWorld 
Hello World

 

      使用 try 和 catch 关键字可以捕获非常。try/catch
代码块放在十二分只怕发生的地点。

        

        –PHP中的构造方法是 public function
__construct(){} ,且不得不有一个

      注意:write()
方法极度使用,因为 print() 和 println() 方法用起来更为便利。

  • 检查性很是:最具象征的检查性分外是用户错误或题材引起的不胜,那是程序员不可能预感的。例如要打开一个不设有文件时,3个丰盛就时有发生了,这几个分外在编写翻译时不能够被归纳地忽视。
  • 运作时那几个:
    运行时万分是恐怕被程序员制止的非凡。与检查性分外相反,运转时相当能够在编写翻译时被忽略。
  • 错误:
    错误不是丰硕,而是脱离程序员控制的标题。错误在代码中家常便饭被忽略。例如,当栈溢出时,三个错误就时有发生了,它们在编写翻译也检查不到的。

  本文首要介绍下Java程序的风味(分裂于PHP的地点)和面向对象的有个别特色

    [4] 编写翻译上边多个文本,并运营程序
BankDemo,得到结果如下所示:   

  d)【Java
休眠(sleep)】

 

      Calendar类是1个抽象类,在实际利用时落到实处特定的子类的对象,创立对象的进度对程序员来说是晶莹的,只要求选择getInstance方法创造即可。

   该文件名为 TestJavaClass.java
,对应文件里唯一的三个 public的类的类名。

  a)【包含3个类】

    

 

    运维结果如下:

  以上实例编写翻译运转结果如下:

    方法的可变参数的注解如下所示:

        类内部调用函数,直接正是 函数名本人,直接写
setAge(dogAge),变量也是直接写 age

  2)【字符串】

  

    --在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。
   -- 对象、数组都是引用数据类型。
   --所有引用类型的默认值都是null。
   -- 一个引用变量可以用来引用与任何与之兼容的类型。
   -- 例子:Site site = new Site("Runoob")。

    [1] 自定义分外类InsufficientFundsException,文件名InsufficientFundsException.java  

  

    2.13 Java
重写(Override)与重载(Overload)

    b)【包装类】

InputStream f = new FileInputStream("C:/java/hello");

PHP 26PHP 27

    –【Matcher 类

  b)【控制台输入】    

      在骨子里支付进程中,大家平常会碰着须要使用对象,而不是置于数据类型的情事。为了消除那么些难点,Java
语言为每二个放置数据类型提供了对应的包装类

  –代码示例如下:

   b)【相当的分类】

           2.6 Java StringBuffer 和 StringBuilder

  2. Java面向对象

      答案是或不是等的

        引用数据类型:

 

 

    c)【定义类的函数】

import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");
String input = args.length == 0 ? "1818-11-11" : args[0];
System.out.print(input + " Parses as ");
Date t;
try {
t = ft.parse(input);
System.out.println(t);
} catch (ParseException e) {
System.out.println("Unparseable using " + ft);
}
}
}

    a)【成立字符串】

    1.5
Java枚举

RegexMatches.java

      a)【可修改】相对String类的不足改变,当对字符串实行修改的时候,须要动用
StringBuffer 和 StringBuilder 类。

VarargsDemo.java

    Java.io
包中的流帮助很三种格式,比如:基本项目、对象、本地化字符集等等。

    2.8 Java
日期时间

 

    – 【实现】导包 import java.util.*; 
使用 Thread.sleep(1000*3);
//
休眠3秒

      String 类是不行变更的,所以你假设创设了 String
对象,那它的值就无法改观了。

    1.7 Java编写翻译制定在制定目录

 

    2.12 Java
非凡处理

      – 方法1: Java语言使用new操作符来创建数组

PHP 28PHP 29

      –
【功用范围】import语句和package语句对源文件中定义的全部类都有效。在同一源文件中,不能给分裂的类不一致的包注脚

   javac TestJavaClass.java

PHP 30PHP 31

 

2. Java面向对象

    [2] CheckingAccount 类 文件名称
CheckingAccount.java


  – 【输出流–FileOutputStream】 

     b)【不可修改性】

      全数的包装类(Integer、Long、Byte、Double、Float、Short)都以抽象类
Number 的子类。

  5)【Java枚举】

  7)【Java 数组】

  c)【控制台出口】

 

   4)【Java Character
类】

    –
【概述】

运维进度

PHP 32PHP 33

   或者 

 

 

目录 /tmp
bin 是一个目录
lib 是一个目录
demo 是一个目录
test.txt 是一个文件
README 是一个文件
index.html 是一个文件
include 是一个目录

  8)【Java
日期时间

        

   格外是先后中的一些谬误,但并不是享有的不当都是特别,并且错误有时候是足以制止的。

    1.6
Java修饰符

    c)【主方法入口

7)【Java编写翻译制定在制定目录】

 

   – 做客修饰符 分类如下

public class VarargsDemo {
 public static void main(String args[]) {
    // 调用可变参数的方法
  printMax(34, 3, 3, 2, 56.5);
    printMax(new double[]{1, 2, 3});
 }

 public static void printMax( double... numbers) {
 if (numbers.length == 0) {
    System.out.println("No argument passed");
    return;
 }

 double result = numbers[0];

 for (int i = 1; i <  numbers.length; i++)
    if (numbers[i] >  result)
    result = numbers[i];
    System.out.println("The max value is " + result);
 }
}

PHP 34PHP 35

  代码示例如下:

PHP 36PHP 37

                                                                 javac
HelloWorld.java -d $CLASSPATH

      Calendar类达成了公历日历,格雷戈orianCalendar是Calendar类的1个实际达成。

   b)【finalize() 方法】

$ java DateDemo
1818-11-11 Parses as Wed Nov 11 00:00:00 GMT 1818
$ java DateDemo 2007-12-01
2007-12-01 Parses as Sat Dec 01 00:00:00 GMT 2007

StringBuffer

  g)【通用极度】  

    –【父类】super.function()

      try/catch代码块中的代码称为怜惜代码

    a)【调用函数和变量】

  e)【Calendar类】

View Code

     
–【也有差别

  a)【可变参数】

      finally 代码块出现在 catch 代码块最终

    b)【代码示例】

  2)【类的局部注意点】

    2.2
类的片段注意点

    c)【Arrays 类】

        

    b) 【连接符】java中的字符串的链接符号是 “+”,
不像PHP中是 “.”,因为 “.” 在Java中是 类中的变量的链接符。

  d)【一些措施】

    – 在 Java
中你可以自定义优秀。编写本身的不胜类时需求记住下边包车型地铁几点。

   a)【概述】

 

编写翻译后运营结果

                         或者是 

     – 那也是与PHP语言的差异点

    捕获组是把多少个字符当3个单独单元实行拍卖的法子,它经过对括号内的字符分组来成立。

  3)【变量】

    a)【大小写敏感】

               d)【直接运转就行】java HelloWorld  ,会找到呼应路径下的
编写翻译文件 .class

      – 【常见方式】赋值(fill), 排序( sort), 比较(equals),
查找(binarySearch)

dataType[] arrayRefVar;   // 首选的方法

或

dataType arrayRefVar[];  // 效果相同,但不是首选方法

    Exception 类是 Throwable
类的子类。除了Exception类外,Throwable还有2个子类Error 。

PHP 38PHP 39

 

    例如:

BankDemo.java

    –【概述】

    a)数组是储存在堆上的目的,能够保留多少个同类别变量。

        Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

   byte, short, int, long, float, double, boolean, char

    2.5 Java String

      控制台的出口由 print( ) 和 println() 实现。这么些格局都由类
PrintStream 定义,System.out 是此类对象的叁个引用。

$ javac FinalizationDemo.java 
$ java FinalizationDemo
Cake Object 1is created
Cake Object 2is created
Cake Object 3is created
Cake Object 3is disposed
Cake Object 2is disposed

    b)【语法】

    – 【概述】

    

    –【调用Java垃圾收集器】System.gc();

      

      PrintStream 继承了 OutputStream类,并且达成了办法
write()。那样,write() 也足以用来往控制台写操作。

      finally 关键字用来创建在 try 代码块后边推行的代码块。

Calendar c1 = Calendar.getInstance();
// 获得年份
int year = c1.get(Calendar.YEAR);
// 获得月份
int month = c1.get(Calendar.MONTH) + 1;
// 获得日期
int date = c1.get(Calendar.DATE);
// 获得小时
int hour = c1.get(Calendar.HOUR_OF_DAY);
// 获得分钟
int minute = c1.get(Calendar.MINUTE);
// 获得秒
int second = c1.get(Calendar.SECOND);
// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
int day = c1.get(Calendar.DAY_OF_WEEK);

     –【1个文本只好有多少个类】源文件名必须和类名相同。当保存文件的时候,你应有接纳类名作为文件名保存(切记Java是深浅写敏感的),文件名的后缀为.java。(如若文件名和类名不平等则会促成编译错误)。

 

      b)【区别】

    c)【常量】

   – BufferedReader 对象创立后,大家便能够

  执行进程如下(图像演示):

    标准运维时格外类的子类是最普遍的老大类。由于 java.lang
包是暗中认可加载到持有的 Java
程序的,所以超越5/10从运行时这些类继承而来的不行都能够直接使用。

public class StringDemo{
   public static void main(String args[]){
      char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

PHP 40PHP 41

  以上实例编写翻译运营结果如下:

    – 分外产生的来头有众多,平时包罗以下几大类:

 

 

    a)【必须用双引号引着】

 

PHP 42PHP 43

 

    

  代码示例:

    a)【发生原因】

     –必须有main方法(静态方法):全数的Java 程序由public static
void main(String
[]args)
艺术开端实践。

      

PHP 44PHP 45

  f) 【GregorianCalendar类】

    a)Java
5.0引入了枚举,枚举限制变量只可以是先期设定好的值。使用枚举能够削减代码中的bug。

    2.11 Java
流(Stream)、文件(File)和IO

      –
【地点】假若源文件包含import语句,那么应该置身package语句和类定义之间。假使没有package语句,那么import语句应该在源文件中最前方。

    1.2
字符串

  【示例代码】

      –
相比较而言PHP的数组就强劲很多,大小不稳定,类型也不限量

      Calendar类的效能要比Date类强大很多,而且在贯彻情势上也比Date类要复杂一些。

    a) 默认的,也称为 default,在同一包内可见,不使用任何修饰符。

    b) 私有的,以 private 修饰符指定,在同一类内可见。

    c) 共有的,以 public 修饰符指定,对所有类可见。

    d) 受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。

  

    读取数据:该流用于从文件读取数据,它的目的足以用关键字 new
来成立。

PHP,      PHP 46

    – printf方法能够很轻松地格式化时间和日期。使用五个字母格式,它以t初阶并且以下边表格中的三个假名结尾。

    该类用来创造3个文件并向文件中写多少。

   创制文件夹: mkdir( )格局创立2个文本夹

  • 富有尤其都不能够不是 Throwable 的子类。
  • 假诺希望写2个检查性卓殊类,则须求后续 Exception 类。
  • 一旦您想写三个运作时非凡类,那么必要后续 RuntimeException 类。

    四个流能够知晓为八个数目标队列。输入流表示从八个源读取多少,输出流表示向四个目的写多少。

    –【throws/throw 关键字】

 

// 使用 BufferedReader 在控制台读取字符
import java.io.*;
public class BRReadLines {
  public static void main(String args[]) throws IOException
  {
    // 使用 System.in 创建 BufferedReader 
    BufferedReader br = new BufferedReader(new
                            InputStreamReader(System.in));
    String str;
    System.out.println("Enter lines of text.");
    System.out.println("Enter 'end' to quit.");
    do {
       str = br.readLine();
       System.out.println(str);
    } while(!str.equals("end"));
  }
}

 

   java TestJavaClass

      借使抛出相当的数据类型与 ExceptionType1
匹配,它在那边就会被破获。

      无论是或不是爆发十分,finally 代码块中的代码总会被实施。

二维数组动态初阶化

        – PHP中常见的是 public function functionName()

 

DateDemo

 

 

    a)变量必须履行项目,且先定义

 代码示例如下:

PHP 47PHP 48

    – 首要有 非检查性万分 和检查性极度

    或者用 readLine() 方法读取一个字符串

    – 【定义】SimpleDateFormat
是二个以语言环境敏感的章程来格式化和剖析日期的类。SimpleDateFormat
允许你挑选任何用户自定义日期时间格式来运维。

        内置数据类型:

    只继承Exception 类来创制的老大类是检查性卓殊类。

View Code

      假若急需对字符串做过多修改,那么应该选用采用 StringBuffer &
StringBuilder 类

Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT
Found value: 3000
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(dNow));
}
}

//输出 Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

  a)【重写(Override)】

9)【Java
正则表明式

1 public class HelloWorld {
2     /* 第一个Java程序
3      * 它将打印字符串 Hello World
4      */
5     public static void main(String []args) {
6         System.out.println("Hello World"); // 打印 Hello World
7     }
8 }

    String 类有 11
种构造方法,这个措施提供分歧的参数来开始化字符串,比如提供三个字符数组参数:

 

 

    – 【代码示例】

  1. Java主次特点

   b)【SimpleDateFormat类】

public class A{
   public A(){
      System.out.println("调用了A的无参构造函数");
   }
   public A(String mess){
      System.out.println("调用了A的有参的构造函数\n"+
         "参数内容为:"+mess);
   }
}

 

    a)【import语句】

PHP 49PHP 50

重写规则

typeName... parameterName

    a)【单个字符】Character
类用于对单个字符展开操作。

import java.util.*;
public class GregorianCalendarDemo {
public static void main(String args[]) {
String months[] = {
"Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"};
int year;
// 初始化 Gregorian 日历
// 使用当前时间和日期
// 默认为本地时间和时区
GregorianCalendar gcalendar = new GregorianCalendar();
// 显示当前时间和日期的信息
System.out.print("Date: ");
System.out.print(months[gcalendar.get(Calendar.MONTH)]);
System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
System.out.println(year = gcalendar.get(Calendar.YEAR));
System.out.print("Time: ");
System.out.print(gcalendar.get(Calendar.HOUR) + ":");
System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
System.out.println(gcalendar.get(Calendar.SECOND));
// 测试当前年份是否为闰年
if(gcalendar.isLeapYear(year)) {
System.out.println("当前年份是闰年");
}
else {
System.out.println("当前年份不是闰年");
}
}
}

    –
【作用】sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的运用、指标是不让当前线程独自侵夺该进程所获的CPU能源,以留一定时间给其余线程执行的空子。

        StringBuffer 类则是
线程安全的,一般建议利用 StringBuilder类,速度快

 

代码示例如下:

Calendar

1.
Java先后特点

  5)【Java String 类】

    – 【Matcher 类的点子】  

    假使该流在开拓文件进行输出前,目的文件不设有,那么该流会创立该公文。

    – Java 的控制台输入由 System.in 完结。

      借使不般配,它会被传送给第3个 catch 块。


    使用 read() 方法从控制台读取贰个字符

      在 finally 代码块中,能够运转清理项目等收尾善后性质的讲话。

  1)【Java的类和对象】

        arrayRefVar = new dataType[arraySize];
      --方法2:直接创建

        dataType[] arrayRefVar = {value0, value1, ..., valuek};

    d)【多维数组】
      --【定义】: 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组
      --【动态初始化】:
        1. 直接为每一维分配空间,如 int a[][] = new int[2][3];
        2. 从最高维开始,分别为每一维分配空间

            
import java.io.File;

public class DirList {
  public static void main(String args[]) {
    String dirname = "/tmp";
    File f1 = new File(dirname);
    if (f1.isDirectory()) {
      System.out.println( "目录 " + dirname);
      String s[] = f1.list();
      for (int i=0; i < s.length; i++) {
        File f = new File(dirname + "/" + s[i]);
        if (f.isDirectory()) {
          System.out.println(s[i] + " 是一个目录");
        } else {
          System.out.println(s[i] + " 是一个文件");
        }
      }
    } else {
      System.out.println(dirname + " 不是一个目录");
    }
  }
}

 

 1     
 2     
 3 public class Test{
 4     public static void main(String args[]){
 5         StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");
 6         sBuffer.append("www");
 7        sBuffer.append(".runoob");
 8        sBuffer.append(".com");
 9        System.out.println(sBuffer);
10 }
11 }
12         

   【代码示例】

运行以上代码,输出结果如下:

  还有部分有关文件和I/O的类,大家也须要了然:

  • JVM(Java虚拟机) 异常:由 JVM
    抛出的越发或不当。例如:NullPointerException
    类,ArrayIndexOutOfBoundsException 类,ClassCastException 类。
  • 程序级万分:由程序依然API程序抛出的要命。例如
    IllegalArgumentException 类,IllegalStateException 类。

  b)【捕获组】

    

     

a)【Synchronized 修饰符】:
     -- Synchronized 关键字声明的方法同一时间只能被一个线程访问。Synchronized 修饰符可以应用于四个访问修饰符。 
    -- 
public synchronized void showDetails(){
.......
}


   b)【Transient 修饰符】:
    --序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。

    --该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。 

    -- 实例
       public transient int limit = 55;   // 不会持久化
       public int b; // 持久化

    c) 【Volatile修饰符】
    --volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

   -- 一个 volatile 对象引用可能是 null。
    1)被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
    2)被重载的方法可以改变返回类型;
    3)被重载的方法可以改变访问修饰符;
    4)被重载的方法可以声明新的或更广的检查异常;
    5)方法能够在同一个类中或者在一个子类中被重载。
    6)无法以返回值类型作为重载函数的区分标准。

    b)【种类】

      – ava.util 包提供了 Date
类来封装当前的日子和岁月。 Date 类提供四个构造函数来实例化 Date
对象。

        Java有两大数据类型,内置数据类型
和 引用数据类型

  c)【代码示例】

  b)【重载(Overload)】    

  

                — 举例:

    

 

  在Java中定义了两种档次的不得了和错误。

    可以利用字符串类型的公文名来创制1个输入流对象来读取文件:

    1.3 变量

 

      Calendar
的getInstance()方法再次回到1个暗许用当下的语言环境和时区初叶化的格雷戈orianCalendar对象。格雷戈orianCalendar定义了七个字段:AD和BC。这么些代表公历定义的五个时期

本文地址

  

        – 在Java中,则不需求fuction的证实,但是要执行回来值类型, public void functionName()

PHP 51PHP 52

      下图是二个讲述输入流和输出流的类层次图。

      PHP 53

    a)【Date对象】

  – 【Java中的目录】

printf

import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 使用 toString() 函数显示日期时间
System.out.println(date.toString());
}
}
  • 用户输入了违规数据。
  • 要开拓的文件不存在。
  • 网络通讯时总是中断,只怕JVM内部存款和储蓄器溢出。

相关文章