Java基础 —— 变量,选择,循环,数组,输入与输出等
目錄
- 嵌入式學JAVA
- Java安卓開發環境搭建并運行HelloWorld
- 概念引入
- JavaSE,EE,ME的區別
- JRE
- JDK
- 編程實操:從C面向過程轉變
- 變量定義與輸出
- 數組的定義與遍歷(循環、控制、選擇和C完全一樣)
- 函數的調用:類比c語言結構體的使用
- 輸入數據:Scanner
嵌入式學JAVA
嵌入式學習JAVA是為了安卓開發,做UI界面。
早期2009–2012年,塞班系統橫行,其所有應用均是采用C++和QT方案。
2009-2017年,嵌入式UI采用的基本上都是C++和QT方案,但現在嵌入式使用安卓趨勢越來越多,以及最近鴻蒙系統被討論的火熱,我們現在學習安卓的應用以及安卓中間件是非常有必要的,即便未來鴻蒙發展起來了,也不會有特別大的鴻溝去對接;如果鴻蒙沒有發展起來,它的市場占有也一定超過IOS(閉源)。所以現在嵌入式的C++和QT方案不提倡去學習了,老產品了。安卓中間件有C++和C語言部分的知識,學完JAVA學習C++會變得簡單。未來也可以無縫對接鴻蒙系統的應用層和底層,這就是為什么現在嵌入式要學習JAVA的原因。
安卓(Android)是一種基于Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。軟件語言采用:C/C++(底層)、Java、Kotlin等(應用層)。
Java安卓開發環境搭建并運行HelloWorld
開發環境搭建
開發環境支持JAVA和安卓的開發,開發環境安裝包下載路徑如下,解壓后雙擊eclipse.exe即可運行。
鏈接: https://pan.baidu.com/s/1j4vwyLngN5tRxRGK-YUIjA
提取碼: 6ysj
運行HelloWorld
概念引入
JavaSE,EE,ME的區別
具體區別
Java SE(Java Standard Edition)
SE(標準版)主要用于桌面程序,控制臺開發(JFC)
Java EE(Java Enterprise Edition)
EE(企業版)企業級開發(JSP,EJB):網站開發和基于 b/s模式的編程
Java ME(Java Mobile Edition)
ME(微縮版)嵌入式開發(手機,小家電):手機軟件游戲編程
與過往學習的簡單類比
SE 就像第一階段,C語言,是基礎。
EE 就像第二階段,Linux系統編程,多了一些接口api,主要是Web服務(早期)
ME 就像第三階段,ARM設備開發對應的api。主要是電子產品,嵌入式設備
JRE
Java運行環境(Java Runtime Environment,簡稱JRE)是一個軟件,JRE可以讓計算機系統運行Java應用程序(Java Application)。JRE的內部有一個Java虛擬機(Java Virtual Machine,JVM)以及一些標準的類別函數庫(Class Library)。
java之所以跨平臺就是因為有JRE,只要有JRE就能運行java。
JDK
JDK(Java Development ToolKit),是Java語言開發工具包。JDK是整個JAVA的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
沒有JDK的話,無法編譯Java程序(指java源碼.java文件),如果想只運行Java程序(指class或jar或其它歸檔文件),要確保已安裝相應的JRE。
從這些最簡單的東西開始了解java吧。直接記下老師上課講的例子就夠了,都很簡單。
編程實操:從C面向過程轉變
變量定義與輸出
public class Test {public static void main(String[] args) { //寫完main用ALT+?然后回車就出來了System.out.println("hello world");//ln是帶有回車符號的print //syso快速寫出這個函數int a; //變量也是這么定義的a = 10;int b;b = 20;System.out.println("a="+a);//sout是這個輸出函數的簡寫,打完回車即可System.out.println("b="+b);//C語言要占位符int c = a + b;System.out.println("c="+c);System.out.println("a="+a + " b="+b + " c="+c);//想要連起來輸出這個加號就是必須的//C 語言中:printf("%d + %d = %d",a,b,c);System.out.println(a +"+"+ b +"="+ c);//+相當于一個連續符//alt shift f10 是選擇文件運行,ctrl+alt+f10是快速運行當前選擇的文件float f = (float) 0.1; //在這個環境中小數一概認定為double類型,強制類型轉換double d = 0.2;System.out.println("f="+f);System.out.println("d="+d);} }數組的定義與遍歷(循環、控制、選擇和C完全一樣)
public class array {public static void main(String[] args) {//定義的時候初始化//int[] score = {1,2,3};//在定義的時候不允許寫數組的大小//開辟空間,等待輸入int[] num = new int[3]; //不要int num[],規范起來//也可以分開//int []a = null;//java中的null是小寫//a = new int[3];int i; //數組的遍歷也是使用下標for (i=0;i<num.length;i++){ //不用再sizeof(num)/sizeof(num[0]),這就是面向對象的魅力num[i] = i;}for(i=0;i<num.length;i++){System.out.println(num[i]);// 下標法訪問}}}函數的調用:類比c語言結構體的使用
//對比C語言的結構體 /* struct Test{int a;char name[128];void (*pFunc)(); };void myPrint(){printf("陳立臣沒我帥\n");}int main(){struct Test stu1 = {.a = 10,.name = "小明",.pFunc = myPrint,//對函數指針的賦值只需要函數名即可,函數名就是地址};stu1.pFunc();//和下面JAVA中不用static很像}*/public class func { //整個類就像一個結構體int score; int age; int num = 10; static void myPrint()//main函數要想調用的話此處前面要加static{ //否則IDEA也不給你補全,輸入函數名的過程還一直報錯System.out.println("陳立臣沒我帥");}static void putAIn(int a){System.out.println("a的值是"+a);}void addB(int b){ //不寫static就能讓main函數調用的方法b = b + 1; System.out.println("b++的值是"+b);}public static void main(String[] args) {myPrint(); //要用staticputAIn(100); //要用staticfunc t = new func();//不用static,通過變量來調,類似于C語言,//要使用結構體里的函數指針,就要有一個實際的對象t.addB(5); //調用} }輸入數據:Scanner
import java.util.Scanner; //自己跳出來的包 main函數輸入了scanner后ctrl+shift+opublic class input {public static void main(String[] args) {Scanner sc = new Scanner(System.in); //這是個類,可以理解為C里面的結構體,類里面有實現的函數供你調用//變量 開辟空間 傳遞參數 //結構體肯定要定義出一個變量來,要開辟空間,從系統的輸入來進行瀏覽//scanner不認識(嘿嘿,我的IDEA輸入完成后自動導入了包),//如果沒導入,通過ctrl+shift+o來入包(包是放在系統中)int a;String str; //對于java沒有char* 這種。char str[128];float f;double d;System.out.println("請輸入一個整型數");a = sc.nextInt();System.out.println("請輸入字符串");sc.nextLine(); //要把上面的回車吸收了,否則str=回車,直接跳到輸入浮點數str = sc.nextLine();System.out.println("請輸入一個浮點數");//sc.nextLine();那為什么這里不用吸收回車呢?f = sc.nextFloat();System.out.println("請再輸入一個小數");d = sc.nextDouble(); //這里也不用吸收來自上面的回車,難道只需要吸收第一個回車?System.out.println(" "+a + " "+str + " "+f + " "+d);} //顯示空格 }導包(波浪線不認識):main函數輸入了scanner后ctrl+shift+o自動導包
總結
以上是生活随笔為你收集整理的Java基础 —— 变量,选择,循环,数组,输入与输出等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图文演示通过虚拟打印机生成pdf的使用技
- 下一篇: java美元兑换,(Java实现) 美元