• 初见JAVA —— 最基础的变量,选择,循环语句,数组,方法,输入与输出等


    嵌入式之路,贵在日常点滴

                                                                    ---阿杰在线送代码

    目录

    一、概念扫盲 

    JavaSE,EE,ME的区别

    具体区别

    与过往学习的简单类比

    JRE

    JDK

    二、编程实操:从C面向过程转变

    变量定义与输出

    选择控制流程(跟C语言一模一样) 

    循环控制 (跟C语言一模一样) 

    数组的定义与遍历 

    方法(函数)的调用:类比c语言结构体的使用 

    输入数据:Scanner 


    一、概念扫盲 

    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 就像第二阶段,FTP云盘项目,主要是Web服务
    ME 就像第三阶段,ARM设备的开发。主要是电子产品,嵌入式设备

    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面向过程转变

        main + Alt + /  即可得到一下main函数框架

        public static void main(String[] args) {

        } 

    变量定义与输出

    1. public class test {
    2. public static void main(String[] args) {
    3. System.out.println("hello world");//ln是带有回车符号的print
    4. //= System.out.print("hello world\n");
    5. int a; //变量也是这么定义的
    6. a = 10;
    7. int b;
    8. b = 20;
    9. System.out.println("a="+a);
    10. System.out.println("b="+b);
    11. int c = a + b;
    12. System.out.println("c="+c);
    13. System.out.println("a="+a + " b="+b + " c="+c);
    14. //C 语言中:printf("%d + %d = %d",a,b,c);
    15. System.out.println(a +"+"+ b +"="+ c);
    16. float f = (float) 0.1; //在这个环境中小数一概认定为double类型,不给你float赋值 所以需要强制转换
    17. double d = 0.2;
    18. System.out.println("f="+f);
    19. System.out.println("d="+d);
    20. }
    21. }

    运行结果 :

    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(); 

    选择控制流程(跟C语言一模一样) 

    1. public class test {
    2. public static void main(String[] args) {
    3. int a = 1;
    4. if(a > 0){
    5. System.out.println("它是一个正整数");
    6. if(a == 1){
    7. System.out.println("它是一个正整,是1");
    8. }else{
    9. System.out.println("它是一个正整,不是1");
    10. }
    11. }else{
    12. System.out.println("a是非正整数");
    13. }
    14. switch(a)
    15. {
    16. case 1:
    17. System.out.println("这是1");
    18. break;
    19. case 2:
    20. System.out.println("这是2");
    21. break;
    22. default:
    23. System.out.println("不是1,也不是2");
    24. break;
    25. }
    26. }
    27. }

    运行结果:

    它是一个正整数
    它是一个正整,是1
    这是1 

    循环控制 (跟C语言一模一样) 

    1. public class test {
    2. public static void main(String[] args) {
    3. int i;
    4. for(i=0;i<20;i++){
    5. System.out.println("阿杰在线送代码");
    6. }
    7. while(i>0){
    8. System.out.println("阿杰再次在线送代码");
    9. i--;
    10. }
    11. }
    12. }

    数组的定义与遍历 

    1. public class array {
    2. public static void main(String[] args) {
    3. //定义的时候初始化
    4. //int[] score = {1,2,3};//在定义的时候不允许写大小
    5. //开辟空间,等待输入
    6. int[] num = new int[3]; //不要int num[],规范起来
    7. //int []a = null;//java中的null是小写
    8. //a = new int[3];
    9. int i; //数组的遍历也是使用下标
    10. for (i=0;i//不用再sizeof(num)/sizeof(num[0]),这就是面向对象的魅力
    11. num[i] = i;
    12. }
    13. for(i=0;i
    14. System.out.println(num[i]);
    15. }
    16. }
    17. }

    运行结果:

    1
    2
    4
    0
    1

    array.length 就像我们C语言中的 sizeof(array)/sizeof(int) 

    方法(函数)的调用:类比c语言结构体的使用 

    (在JAVA中函数叫做方法) 

    1. /*
    2. * 声明方法时,不加static情况下,如何调用
    3. * 类似于如下的C语言结构体函数指针调用
    4. struct Student{
    5. int score;
    6. int age;
    7. void (*myPrintf)();
    8. };
    9. int main()
    10. {
    11. struct Student stu1;
    12. stu1.myPrintf();
    13. }
    14. */
    15. public class test {
    16. //声明方法时,不加static不会报错。但在这种情况下,你直接调用时会报错(所以这种直接调用 需要声明时加static)
    17. static void myPrintf()
    18. {
    19. System.out.println("阿杰在线送代码");
    20. }
    21. static void putInt(int a)
    22. {
    23. System.out.println("输出了一个数:"+a);
    24. }
    25. //声明方法时,不加static情况下
    26. void addB(int b)
    27. {
    28. b = b + 1;
    29. System.out.println("b++的值是"+b);
    30. }
    31. public static void main(String[] args) {
    32. //声明方法时,不加static不会报错。但在这种情况下,你直接调用时会报错(所以这种直接调用 需要声明时加static)
    33. myPrintf();
    34. putInt(100);
    35. //声明方法时,不加static情况下,如何调用
    36. test t = new test();
    37. t.addB(5);
    38. }
    39. }

    运行结果:

    阿杰在线送代码
    输出了一个数:100
    b++的值是6 

    输入数据:Scanner 

    1. import java.util.Scanner;
    2. public class Test {
    3. public static void main(String[] args) {
    4. Scanner sc = new Scanner(System.in);
    5. //这是个类,可以理解为C里面的结构体,类里面有实现的函数供你调用
    6. //结构体肯定要定义出一个变量来,要开辟空间,从系统的输入来进行浏览
    7. //scanner不认识,是因为没有包
    8. //如果没导入,通过ctrl+shift+o来入包(包是放在系统中)
    9. int a;
    10. String str;
    11. float f;
    12. double d;
    13. System.out.println("请输入一个整数");
    14. a = sc.nextInt();
    15. System.out.println("请输入一个字符串");
    16. sc.nextLine(); //要把上面的回车吸收了,否则str=回车,直接跳到输入浮点数
    17. str = sc.nextLine();
    18. System.out.println("请输入一个浮点数");
    19. //sc.nextLine();那为什么这里不用吸收回车呢?
    20. f = sc.nextFloat();
    21. System.out.println("请再输入一个小数");
    22. d = sc.nextDouble(); //这里也不用吸收来自上面的回车,难道只需要吸收第一个回车?
    23. System.out.println("a="+a);
    24. System.out.println("str="+str);
    25. System.out.println("f="+f);
    26. System.out.println("d="+d);
    27. }
    28. }

    运行结果: 

    请输入一个整数
    5
    请输入一个字符串
    ajie
    请输入一个浮点数
    3.5
    请再输入一个小数
    3.5
    a=5
    str=ajie
    f=3.5
    d=3.5 

  • 相关阅读:
    iText实战--PDF和iText 简介
    【Linux】---进程地址空间
    【深度学习】实验1答案:Softmax实现手写数字识别
    什么是智能视频美颜SDK?
    基于K8S单节点部署你的第一个K8S应用
    centos/rocky/redat 8 删除swap分区,重启后无法进入系统
    Flask框架创建项目初期总结
    软件测试和软件开发之间的关系及模型
    【web APIs】快速上手Day03
    Kafka3.2.0 安装配置
  • 原文地址:https://blog.csdn.net/weixin_50546241/article/details/126559923