Java基础(1)----  层次逻辑,入门程序开发

Java基础(1)----  层次逻辑,入门程序开发

1.层次

1.1Java编程之外的层次逻辑:

Java体系包含JavaSE(Java Platform,Standard Edition,标准版),JavaEE(Java Platform,Enterprise Edition,企业版),JavaME(Java Platform,Micro Edition,微型版)

  • 以javaSE为例的组成概念图:

                                                 

                                                                                       图1、Java概念图  ( 转自:http://docs.oracle.com/javase/8/docs/ )

  • JVM(Java Virtual Machine ,称Java虚拟机):

作用:所有Java源程序首先被javac.exe程序编译为.class字节码文件,.class文件通过JVM与操作系统的交互,由JVM将程序解释给本地系统执行。因为不同操作系统对应有不同版本JVM,所以实现了Java语言的跨平台特性。

相关文件:JDK的安装目录----jre目录----文件夹bin,可被认作JVM。

 

  • JRE(Java Runtime Environment,称Java运行环境):

作用:JVM在解释.class文件时需要调用类库lib(Libraries)。

相关文件:JDK安装目录----jre目录----文件夹lib,可被认作JVM解释.class文件需要的类库,连同bin组成JRE。所以在仅运行他人写的程序或者把程序发给他人时,需要包含.class文件和JRE文件。

 

  • JDK(Java Development Kit,称Java开发工具包):

作用:JDK另包含开发工具,如将Java源程序编译为.class字节码文件的编译工具javac.exe。

相关文件:JDK安装目录下几个重要文件夹:

scr:类库源码压缩包

bin:主要包含编译器javac.exe

lib:类库

(注意:这里的lib,bin文件夹与jre里的bin,lib不同)

jre:java运行环境

 

  • 三者关系:

JVM:将字节码文件转成具体系统平台的机器指令。

JRE:JVM+Java语言的核心类库

JDK:JRE+Java开发工具

 

1.2Java编程内的层次逻辑:

Java是一门面对对象的编程语言。”万物皆对象"的逻辑是:将万物即眼前的实体抽象出两个要素分别是静态属性, 动态行为分别作Java编程中对象的成员变量,方法函数;提取对象的共性抽象出Java编程中的类,再进一步提取共性抽象出Java编程中的接口,抽象类。实现的过程就是自上而下的填充,通过不同的填充内容,最终实现具体对象的准确性,多样性。

粗易例如:以不同品牌的手机作为对象抽象出组成元件,续航时间,开关机功能,闹钟功能等要素;提取这些对象的共性抽象出“手机”这个类,具有开关机功能,闹钟功能。同样的思路抽象出“无人机”这个类,具有开关机功能,飞行功能;提取”手机“和”无人机“这两个类的共性进一步抽象出“电子设备”这个接口,具有开关机功能。那么,在写一部手机的Java程序时,调用接口,为“手机”这个类写具体的开关机功能程序,为“手机”这个类新建对象,就可以用对象调用开关机的方法。同样写一架无人机的Java程序也可以从同一接口开始,可以发现这个的层层联系与分化的逻辑提升了Java面向对象编程的效率。

 

2.Java入门程序开发

2.1DOS:即早期非图形界面操作系统,Windows中命令提示符cmd模拟了DOS大多数功能

dos基本操作以访问文件夹为例:

  • Windows+R,打开运行窗口,输入cmd回车,进入DOS的操作窗口 
  • “盘符名:”盘符切换命令

注:”:“为英文标点,盘符名称,文件夹名等路径信息名称不区分大小写。

  • “dir”查看当前文件夹的所有子文件夹信息命令
  • “cd 文件夹命”进给文件夹命令

注:文件夹名可以只写开头,用“Tab”键盘自动填充,如果开头无法填充到唯一的文件,重复按“Tab”键连续切换。

       该命令不需要一层层进入,文件夹\子文件夹\子文件夹...可进入多级文件夹

  • “cd..”退出文件夹命令

注:该命令只能一级级退回,最终只能退回到磁盘目录

  • “cd\”退出到磁盘根目录
  • “cls”清屏命令

 

2.2Java程序开发步骤:编码(记事本)---编译---运行

2.2.1 编码

  • 在目录文件下新建记事本编程,文件名和主类名一致,后缀为.java。

2.2.2 编译:指将编写的Java源文件翻译成JVM认识的class文件,在此过程中javac编译器会检查所写的程序是否有错误,有则提示,无则编译成功。

  • 在Java源文件上层目录运行cmd   

                                                                                                                                                                                                                                                                                      图2、从指定文件上调取cmd

  • "javac 文件名.java"命令编译

       注:Java源文件编译工具为javac.exe,在JDK安装目录的bin目录下。配置环境变量后,可在任意目录下使用。

2.2.3运行:指将class文件交给JVM执行。

  • "java 文件名"命令运行文件

       注:Java程序.class字节码文件运行工具为java.exe,在JDK安装目录的bin目录下。配置环境变量后,可在任意目录下使用。

 

编译运行命令例如:

                                                                             

                                                                                                                        图3、cmd中编译运行命令

 

2.3入门程序编程

  • 关键字:指已经官方规定了具体含义及用途的单词,全为小写。

Java关键字及含义查阅参考文档(https://max.book118.com/html/2017/0917/134182374.shtm)。

  • main方法:称主方法,是程序的入口,无论编写多少代码,JVM运行都是从main方法开始运行,且格式固定不变。

main()方法格式详解:

public static void main(String[] args){.... }

public关键字:向其他类说明main()方法可以公共访问。

static关键字:向编译器说明main()方法是一个静态方法,即main函数中的代码是存储在静态存储区的,不需要示例化就可以使用。与不用static修饰的方法比较,区别是静态方法可以用类名调用,非静态方法需要用对象实例调用。具体的,如果main()方法没有使用static修饰符,虽然编译不会出错,如果试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。

void关键字:说明main()方法返回值是无类型。

(String[] args):说明main()方法的参数是字符串类型。具体的,args是“参数”的缩写,可以改成任意的名字;args存贮的是命令行参数,可用于程序中。String[] args这个字符串数组保存运行main函数时输入的参数 。

 

main()方法示例代码:

 


     public class Test{
               public static void main(String[] args){
                           System.out.println("args[0] is"+args[0]);
                           System.out.println("args[1] is"+args[1]);
                           System.out.println("args[2] is"+args[2]);
                 }
      }


运行结果:

                                                                               

                                                                                                       图4、cmd中向main()方法传入参数

  • 注释规范:单行注释://aaaaaa ; 多行注释: /*aaaaaa*/,

Java注释规范查阅参考文档(https://blog.csdn.net/u011781521/article/details/78827425)。

  • 标识符:指自定义的变量名,类名,方法名等各种名称。
命名规则: 硬性要求命名规范: 软性建议
标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
标识符不能以数字开头。方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
标识符不能是关键字。变量名规范:全部小写。

                                                                                                                  表1、Java标识符的命名规则

                                                                   

  • 常量:指固定不变的数值
类型 含义  数据举例
 整数常量 所有的整数0,1,567
小数常量所有的小数0.0,-0.1,2.55
字符常量单引号引起来,只能写一个字符,必须有内容’a‘,' ', '好'
字符串常量双引号引起来,可以写多个字符,也可以不写’‘A’‘,’‘Hellow‘', "你好",“”
布尔常量只有两个值true,false
空常量只有一个值null

                                                                                                                 表2、Java常量类型总览
常量示例代码:

​
public class ConstantDemo {

public static void main(String[] args){ 

//输出整数常量 
System.out.println(123); 

//输出小数常量
 System.out.println(0.125); 

//输出字符常量 
System.out.println('A'); 

//输出布尔常量 
System.out.println(true);

//输出字符串常量 
System.out.println("你好Java");
  }

​}

运行结果:

*注:汉字字符需要在 Dos命令行中设置字符为UTF-8,windows 中的命令是:cmd中先输入chcp 65001。

                                                                             

                                                                                                             图5、常量入门编程示例

  • 变量:指固定数据类型下数值可变动的数据。
类型分类类型名称程序中使用的名称
基本数据类型布尔型(Boolean)布尔型:boolean
字符型(Char)字符型:char
整数型(Integer)字节型:byte
短整型:short
整型:int
长整形:long
实(浮点)型(Float)单精度型:float
双精度型:double
复合数据类型类(Class)类:class
接口(Interface)接口:interface
数组(Array) 

                                                                                                               表3、Java数据类型总览

变量示例代码:

public class Variable {

public static void main(String[] args){ 

//定义字节型变量 

byte b = 100; 

System.out.println(b);

//定义短整型变量 

short s = 1000; 

System.out.println(s);

//定义整型变量 

int i = 123456; 

System.out.println(i); 

//定义长整型变量 

long l = 12345678900L;

System.out.println(l);

//定义单精度浮点型变量 float f = 5.5F;

System.out.println(f); 

//定义双精度浮点型变量 

double d = 8.5; 

System.out.println(d); 

//定义布尔型变量 

boolean bool = false; 

System.out.println(bool);

//定义字符型变量 

char c = 'A'; 

System.out.println(c); 

}

}

注:为long型数据赋值时,末尾加上L。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页