java開發第一步就是學習相關知識,打牢基礎是關鍵,下面就和小編我一塊兒從java基礎學起吧,一塊兒加油!java
java方向主要包括三大塊:web
java se 桌面開發編程
java ee web開發eclipse
java me 手機開發jvm
java開發工具包括:函數
記事本工具
jcreator學習
jbuilder開發工具
netbeanui
eclipse(最多)
jdk:
jre(java運行環境)
java的工具,java的編譯器:javac.exe java解釋執行器:java.exe
java的類庫(3600多類)經常使用150個
JDK API 1.6.0(幫助文檔)
注:public:表示這個類是公共的,一個java文件中只能有一個public類
class:表示這是一個類
hello:類名(公共類的類名必須和文件名一致)
編譯java文件:
編譯xx.java javac xx.java
執行xx.java程序 java xx
java虛擬機(jvm):字節碼文件(.class)就會在java虛擬機中執行
<只需將.class文件交給別人而無需將.java文件交出>
public class { //一個主函數,至關因而程序的入口 public static void main(String args[]) { //執行語句 //System.out.println("hello!"); int a=10;//定義一個變量,變量名a,它的值10 int b=20; int result=a+b; //輸出結果 System.out.println("結果是"+result); } }
java基本數據類型:
整數類型(byte 一個字節8bit-128~127,short兩個字節 ,int四個字節 ,long 八個字節)
小數(浮點)類型 (float ,double)
布爾類型 (真 ,假)
字符類型 (char 是兩個字節,能夠存放漢字, 一個char只能接收一個字符)
<結論:在java中,對char進行運算時直接當作ascii碼對應的整數對待>
精度:byte<short<int<long<float<double
import java.io.*; public class Demo1 { public static void main(String []args) { try{ //輸入流,從鍵盤接收數 InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //給出提示 System.out.println("請輸入第一個數"); //從控制檯讀取一行數據 String a1=br.readLine(); System.out.println("請輸入第二個數"); String a2=br.readLine(); //把String->float float num1=Float.parseFloat(a1); float num2=Float.parseFloat(a2); if(num1>num2) { System.out.println("第一個大"); } if(num1==num2) { System.out.println("相等"); } if(num1<num2) { System.out.println("第二個大"); } }catch(Exception e) { e.printStackTrace(); } } }
java三大流程控制:
順序控制
分支控制:單分支,雙分支,多分支
(條件表達式數據類型應當和case後的常量類型一致)
switch中的可用數據類型主要是:容許byte,short,int,char,enum(枚舉)等
循環控制:for循環,while循環,do while循環
半個金字塔:
public class Demo3 { public static void main(String []args) { int lay=4; for(int i=1;i<=lay;i++) { //打印* for(int j=1;j<=i;j++){ System.out.print("*"); } //打出一個換行 System.out.println(); } } }
金字塔:
public class Demo3 { public static void main(String []args) { int lay=4; for(int i=1;i<=lay;i++) { //找出空格規律 //1->3 2->2 3->1 4->0 for(int k=1;k<=i;k++){ System.out.print(" "); } //打印* //1->1 2->2 3->5 4->7 for(int j=1;j<=(i-1)*2+1;j++){ System.out.print("*"); } //打出一個換行 System.out.println(); } } }
java面向對象編程-類與對象
類名首字母大寫
類是抽象的,對象是具體的。類是對象的模板,對象是類的一個個體、實例
類的定義:
package 包名;
class 類名 extends 父類 implements
接口名{
成員變量;
構造方法;
成員方法;
}
類-類
類的成員方法-聲明
public int test(int a);/*方法聲明*/
(訪問修飾符+數據類型+函數名+(參數列表);)
類的成員方法(函數)-特別說明
1.方法的參數列表能夠是多個
類的構造方法:是類的一種特殊方法,主要做用是完成對新對象的初始化
特色:
一、方法名和類名相同
二、沒有返回值
三、在建立一個類的新對象時,系統會自動的調用該類的構造方法完成對新對象的初始化
類的構造方法小結:
構造方法名和類名相同
構造方法沒有返回值
主要做用是完成對新對象的初始化
在建立新對象時,系統自動調用該類的構造方法
一個類能夠有多個構造方法
每一個類都有一個默認的構造方法
this的重要性:
public class Demo3_1 { public static void main(String []args) { Person p=new Person(dog,23,"wang"); p.showInfo(); } } //定義一我的類 class Person { int age; String name; public Person(int age,String name) { //可讀性很差 this.age=age; this.name=name; } //顯示人名字 public void showInfo() { System.out.println("人名是:"+name); } }
類變量
靜態變量:
public class Demo3_2 { static inti=1; static { System.out.println("a"); //該靜態區域塊只執行一次 i++; } public Demo3_2() { System.out.println("b"); i++; } public static void main(String []args) { Demo3_2 t1=new Demo3_2(); System.out.println(t1.i); Demo3_2 t2=new Demo3_2(); System.out.println(t2.i); } } 類方法: //學生 class Stu { int age; String name; int fee; static int totalFee; public Stu(int age,String name,int fee) { this.age=age; this.name=name; totalFee+=fee; } //返回總學費[加static代表這是一個類方法(靜態方法)] //java中規則:類變量原則上用類方法去訪問 public static int getTotalFee() { return totalFee; } }
注意:類方法中不能訪問非靜態變量(類變量)
使用:類名.類名方法 或者 對象名.類方法名
類變量與實例變量區別:
加上static稱爲類變量或靜態變量,不然稱爲實例變量
類變量是與類相關,公共的屬性
實例變量屬於每一個對象個體的屬性
類變量能夠經過類名.類變量名直接訪問