JAVA語言
jdk+記事本編譯
編譯javac Hello.java
執(zhí)行java Hello
數(shù)據(jù)類型
byte b=123;//整型8位最大值是2的7次減一,第一位是符號位
short s=32156;//最大是2的15次-1
int i=101;//31
long l=123;63
float s=3.14;
double d=3.14;
boolean ok=true;
char c='a';
3.14默認(rèn)double 在后面加f
float s=3.14f;(F不區(qū)分大小寫
java無符號
字符
可以賦值int
可以賦值‘哈’
'\u0043'//u ni kou de字符集
java里面1字符是兩個(gè)字節(jié)能存儲漢字
數(shù)組
int[] a=new int [10];//定義大小為10的int數(shù)組 //java創(chuàng)建新的必須new一個(gè) int[] a=(這里也可以加new int[]){1,2,3,4,5};//賦值 ? int [][]a=new int[3][4];//二維數(shù)組 ? for(int i=0;i<a.length;i++) { Stystem.out.println(a[i]); }打印數(shù)組
字符串
String s="Hello";//String本質(zhì)上是一個(gè)類而不是基本類型 System.out.println(s); System.out.println(s.substring(1,4));//截取部分輸出 for(int i=0;i<s.length();i++) { System.out.println(s.charAt(i)); }
字符串比較
Stirng s1=new String("Hello");//這個(gè)是程序的本質(zhì)① String s2="Hello";//這個(gè)是簡寫②
Stirng s1=new String("Hello"); Stirng s2=new String("Hello"); String s3="Hello";
①new賦值是不可以相互共享
②等于號賦值的是可以相互共享
new出來的東西一定在堆上
java里面類這個(gè)類型相當(dāng)于C中的mylok
字符串內(nèi)容比較(不是地址
System.out.println(a==b);//這是等號比較,比較的是地址 System.out.println(s1.equals(s2));
子類類型的變量可以賦給父類
equals是object
類
創(chuàng)建類必須先new一個(gè)(相當(dāng)于初始化)
student =new student();//相當(dāng)于一個(gè)初始化
對象必須在堆里創(chuàng)建不能在棧里面
private int id;
設(shè)置私有保護(hù)以后通過方法來修改和獲取類里面的數(shù)據(jù)
類的名字可以相同,但是類不能完全相同(參數(shù)
java內(nèi)存釋放以后自動清理,不需要用手動
塊
靜態(tài)塊new多次只執(zhí)行一次
普通塊new一次執(zhí)行一次
靜態(tài)變量只有一份內(nèi)存
常量
java的final相當(dāng)于c的const起保護(hù)作用
包
package cn.edu.hit;//這個(gè)是包 cn.edu.hit.Student s=new cn.edu.hit.Student();//調(diào)用包中的Student
課程代碼
class Student{ ? ?private int id; ? ?private String name; ? ?public Student(){ ? } ? ?public Student(int id){ ? ? ? ?this.id=id; ? } ? ?public Student(String name){ ? ? ? ?this(0); ? ? ? ?this.name=name; ? } ? ?public Student(int id,String name){ ? ? ? ?this(name); ? } ? ? ?public void finalize(){ ? ? ? ?System.out.println("Goodbye!"); ? } ? ? ?public int getId(){ ? ? ? ?return this.id; ? } ? ?public void setId(int id){ ? ? ? ?this.id=id; ? } ? ?public String getName(){ ? ? ? ?return this.name; ? } ? ?public void setName(String name){ ? ? ? ?this.name=name; ? } } ? public class Hello{ ? ?public static void main(String[] args){ ? ? ? ?Student s=new Student(); ? ? ? ?s.setId(1); ? ? ? ?s.setName("Alice"); ? ? ? ?System.out.println(s.getId()); ? ? ? ?System.out.println(s.getName()); ? ? ? ?s=null;//手動讓他變成垃圾 ? ? ? ?System.gc();//強(qiáng)制清理 ? } }
類的繼承
public class Student extends Preson//這就是一種繼承
子類的構(gòu)造器一定會調(diào)用父類的構(gòu)造器(默認(rèn)無參構(gòu)造器)
super();//主動調(diào)用父類構(gòu)造器 super.;//主動調(diào)用父類方法 this();//主動調(diào)用自己構(gòu)造器 this.;//主動調(diào)用自己方法
?。?!當(dāng)給子類定義一個(gè)有參構(gòu)造器,必須也給他同時(shí)定義一個(gè)無參構(gòu)造器
構(gòu)造器無法繼承,必須用super調(diào)用
類數(shù)組
ss[0]=new Student(" "," "," ");
這叫初始化
排序
in Arrays.sort(ss);
抽象類
public abatract class Person{ ? }
抽象類無法被實(shí)例化,不能new,只能作為父類進(jìn)行繼承
接口
class Dog implements Animal;
接口對于類型的轉(zhuǎn)換有一定作用,接入接口也可以沖掉原有函數(shù)
異常處理
public static int div(int x,int y)throws{ try{ } catch(){ throw } } finally{//最后一定會執(zhí)行 ? }
try throws throw catch finally
文件處理
1.創(chuàng)建文件:你可以使用File
類的構(gòu)造函數(shù)來創(chuàng)建一個(gè)文件對象,然后使用createNewFile()
方法來創(chuàng)建實(shí)際的文件。
File file = new File("path/to/file.txt"); file.createNewFile();
2.寫入文件:你可以使用FileWriter
或BufferedWriter
類將數(shù)據(jù)寫入文件。這些類提供了多種寫入文件的方法,例如write()
和append()
。
FileWriter writer = new FileWriter("path/to/file.txt"); writer.write("Hello, World!"); writer.close();
3.讀取文件:你可以使用FileReader
或BufferedReader
類來讀取文件的內(nèi)容。這些類提供了多種讀取文件的方法,例如read()
和readLine()
。
FileReader reader = new FileReader("path/to/file.txt"); int character; while ((character = reader.read()) != -1) { ? System.out.print((char) character); } reader.close();
4.刪除文件:你可以使用File
類的delete()
方法來刪除文件。
File file = new File("path/to/file.txt"); file.delete();
這只是文件操作中的一些常見方法示例,Java提供了更多的類和方法來處理文件和目錄操作。記得在進(jìn)行文件操作時(shí)要處理可能出現(xiàn)的異常,并使用適當(dāng)?shù)漠惓L幚頇C(jī)制。
二進(jìn)制文件操作
對于二進(jìn)制文件操作,你可以使用Java的InputStream
和OutputStream
類來讀寫二進(jìn)制數(shù)據(jù)。下面是一些常見的操作方法:
1.讀取二進(jìn)制文件:你可以使用FileInputStream
類來讀取二進(jìn)制文件的內(nèi)容。
try (InputStream inputStream = new FileInputStream("path/to/file.bin")) { ? int bytesRead; ? byte[] buffer = new byte[1024]; ? while ((bytesRead = inputStream.read(buffer)) != -1) { ? ? ? // 處理讀取的數(shù)據(jù) ? } } catch (IOException e) { ? e.printStackTrace(); }
2.寫入二進(jìn)制文件:你可以使用FileOutputStream
類將二進(jìn)制數(shù)據(jù)寫入文件。
try (OutputStream outputStream = new FileOutputStream("path/to/file.bin")) { ? byte[] data = {0x00, 0x01, 0x02, 0x03}; ? outputStream.write(data); } catch (IOException e) { ? e.printStackTrace(); }
3.使用BufferedInputStream
和BufferedOutputStream
:如果需要提高讀寫的效率,你可以使用BufferedInputStream
和BufferedOutputStream
類對輸入輸出流進(jìn)行緩沖。文章來源:http://www.zghlxwxcb.cn/news/detail-564308.html
try (InputStream inputStream = new BufferedInputStream(new FileInputStream("path/to/file.bin")); ? ? OutputStream outputStream = new BufferedOutputStream(new FileOutputStream("path/to/file.bin"))) { ? // 讀寫操作 } catch (IOException e) { ? e.printStackTrace(); }
請注意,在處理二進(jìn)制文件時(shí),你需要特別小心處理數(shù)據(jù)的格式和順序,以確保正確解析和生成二進(jìn)制數(shù)據(jù)。此外,你還需要了解二進(jìn)制文件的結(jié)構(gòu)和特定格式的規(guī)范,以正確處理其數(shù)據(jù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-564308.html
到了這里,關(guān)于java語言基礎(chǔ)(有c語言基礎(chǔ))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!