临沂手机网站建设,珠海手机网站建设价格,贵州住房和建设厅网站,2345网址导航用户中心目录嵌入式学JAVAJava安卓开发环境搭建并运行HelloWorld概念引入JavaSE,EE,ME的区别JREJDK编程实操#xff1a;从C面向过程转变变量定义与输出数组的定义与遍历(循环、控制、选择和C完全一样)函数的调用#xff1a;类比c语言结构体的使用输入数据#xff1a;Scanner嵌入式学…
目录嵌入式学JAVAJava安卓开发环境搭建并运行HelloWorld概念引入JavaSE,EE,ME的区别JREJDK编程实操从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 SEJava Standard Edition SE标准版主要用于桌面程序,控制台开发(JFC)
Java EEJava Enterprise Edition EE企业版企业级开发(JSP,EJB)网站开发和基于 b/s模式的编程
Java MEJava 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 MachineJVM以及一些标准的类别函数库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(aa);//sout是这个输出函数的简写打完回车即可System.out.println(bb);//C语言要占位符int c a b;System.out.println(cc);System.out.println(aa bb cc);//想要连起来输出这个加号就是必须的//C 语言中printf(%d %d %d,a,b,c);System.out.println(a b c);//相当于一个连续符//alt shift f10 是选择文件运行ctrlaltf10是快速运行当前选择的文件float f (float) 0.1; //在这个环境中小数一概认定为double类型强制类型转换double d 0.2;System.out.println(ff);System.out.println(dd);}
}数组的定义与遍历(循环、控制、选择和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 (i0;inum.length;i){ //不用再sizeof(num)/sizeof(num[0]),这就是面向对象的魅力num[i] i;}for(i0;inum.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后ctrlshiftopublic class input {public static void main(String[] args) {Scanner sc new Scanner(System.in); //这是个类可以理解为C里面的结构体类里面有实现的函数供你调用//变量 开辟空间 传递参数 //结构体肯定要定义出一个变量来要开辟空间从系统的输入来进行浏览//scanner不认识(嘿嘿我的IDEA输入完成后自动导入了包)//如果没导入通过ctrlshifto来入包包是放在系统中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后ctrlshifto自动导包