嵌入式之路,贵在日常点滴
---阿杰在线送代码
目录
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 就像第二阶段,FTP云盘项目,主要是Web服务
ME 就像第三阶段,ARM设备的开发。主要是电子产品,嵌入式设备
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,JRE可以让计算机系统运行Java应用程序(Java Application)。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。
java之所以跨平台就是因为有JRE,只要有JRE就能运行java。
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吧。直接记下老师上课讲的例子就够了,都很简单。
main + Alt + / 即可得到一下main函数框架
public static void main(String[] args) {
}
- public class test {
- public static void main(String[] args) {
-
- System.out.println("hello world");//ln是带有回车符号的print
- //= System.out.print("hello world\n");
-
- int a; //变量也是这么定义的
- a = 10;
- int b;
- b = 20;
-
- System.out.println("a="+a);
- System.out.println("b="+b);
-
- 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);
-
- float f = (float) 0.1; //在这个环境中小数一概认定为double类型,不给你float赋值 所以需要强制转换
- double d = 0.2;
-
- System.out.println("f="+f);
- System.out.println("d="+d);
- }
- }
运行结果 :
hello world
a=10
b=20
c=30
a=10 b=20 c=30
10+20=30
f=0.1
d=0.2
syso + Alt + / : 即可得到 System.out.println();
- public class test {
- public static void main(String[] args) {
-
- int a = 1;
- if(a > 0){
- System.out.println("它是一个正整数");
- if(a == 1){
- System.out.println("它是一个正整,是1");
- }else{
- System.out.println("它是一个正整,不是1");
- }
- }else{
- System.out.println("a是非正整数");
- }
-
- switch(a)
- {
- case 1:
- System.out.println("这是1");
- break;
- case 2:
- System.out.println("这是2");
- break;
- default:
- System.out.println("不是1,也不是2");
- break;
- }
- }
- }
运行结果:
它是一个正整数
它是一个正整,是1
这是1
- public class test {
- public static void main(String[] args) {
- int i;
- for(i=0;i<20;i++){
- System.out.println("阿杰在线送代码");
- }
- while(i>0){
- System.out.println("阿杰再次在线送代码");
- i--;
- }
- }
- }
- 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
//不用再sizeof(num)/sizeof(num[0]),这就是面向对象的魅力 - num[i] = i;
- }
- for(i=0;i
- System.out.println(num[i]);
- }
- }
-
- }
运行结果:
1
2
4
0
1
2
array.length 就像我们C语言中的 sizeof(array)/sizeof(int)
方法(函数)的调用:类比c语言结构体的使用
(在JAVA中函数叫做方法)
- /*
- * 声明方法时,不加static情况下,如何调用
- * 类似于如下的C语言结构体函数指针调用
- struct Student{
- int score;
- int age;
- void (*myPrintf)();
- };
-
- int main()
- {
- struct Student stu1;
- stu1.myPrintf();
- }
- */
-
- public class test {
- //声明方法时,不加static不会报错。但在这种情况下,你直接调用时会报错(所以这种直接调用 需要声明时加static)
- static void myPrintf()
- {
- System.out.println("阿杰在线送代码");
- }
- static void putInt(int a)
- {
- System.out.println("输出了一个数:"+a);
- }
-
- //声明方法时,不加static情况下
- void addB(int b)
- {
- b = b + 1;
- System.out.println("b++的值是"+b);
- }
-
- public static void main(String[] args) {
- //声明方法时,不加static不会报错。但在这种情况下,你直接调用时会报错(所以这种直接调用 需要声明时加static)
- myPrintf();
- putInt(100);
-
- //声明方法时,不加static情况下,如何调用
- test t = new test();
- t.addB(5);
- }
- }
运行结果:
阿杰在线送代码
输出了一个数:100
b++的值是6
输入数据:Scanner
- import java.util.Scanner;
-
- public class Test {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- //这是个类,可以理解为C里面的结构体,类里面有实现的函数供你调用
- //结构体肯定要定义出一个变量来,要开辟空间,从系统的输入来进行浏览
- //scanner不认识,是因为没有包
- //如果没导入,通过ctrl+shift+o来入包(包是放在系统中)
-
- int a;
- String str;
- 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="+a);
- System.out.println("str="+str);
- System.out.println("f="+f);
- System.out.println("d="+d);
- }
- }
运行结果:
请输入一个整数
5
请输入一个字符串
ajie
请输入一个浮点数
3.5
请再输入一个小数
3.5
a=5
str=ajie
f=3.5
d=3.5