zoukankan      html  css  js  c++  java
  • Java 概述和编程基础

      First of all,Java概述:

      类是Java程序设计的基石和基本单元;

      main()方法是程序的入口,它是共有的、静态的,参数String[] args表示一个字符串数组可以传入该程序,用来传递外部数据以初始化程序。  

      计算机语言,总的来说可分成:机器语言、汇编语言、高级语言。

      高级语言:

      解释类——程序源码由解释器执行,不能生成可独立执行的可执行文件,即程序不能脱离解释器独立运行。效率低、领过,能动态调整、修改程序。

      编译类——将程序源码翻译成目标代码(机器语言),目标代码和硬件、操作系统紧密相关。程序一旦修改,需重新编译。

      Java程序要先编译、后执行。Java源文件—编译器—字节码文件——解释器(JVM)——机器码

     

      JVM如何加载类并调用main()方法?

      在main方法执行之前,JVM需要执行3个步骤:类加载、链接、初始化

      (1)通过类加载器加载字节码类和接口到JVM;

      (2)连接合并字节码到运行态的JVM。连接有三步:验证、准备和解析。验证确保类/接口在结构上是正确的,准备工作包括为所需的类/接口分配内存,然后解析符号引用并构建语法树。

      (3)为变量分配内存并初始化;

      当JVM启动时,有3个类加载器被使用:引导类加载器、扩展类加载器、系统类加载器。

      系统类加载器负责在类的搜索路径中找到对应代码,所以HelloWorld类是由系统类加载器加载的。当执行到main()方法,会触发加载、链接其它相关的类的初始化。

     

     

      一、标识符——标识一个名字的存在性和唯一性

      1. 保留字——Java预定义的标识符,又称关键字

      关键字分类:数据基本类型;程序控制语句;访问控制;类、方法和变量的修饰符、变量引用、错误处理、包相关;

      2. 用户自定义标识符,以字母、下划线或$开头的字符序列

     

      二、变量

      变量是一个数据存储空间的标识,不同的数据存入不同的内存地址的空间,相互独立。

      内存的数据需要通过变量来存取,因此,变量赋值操作本质上是内存引用的变化。

      Java是强类型语言,声明任何变量,必须为该变量指定一种数据类型。且先声明,后使用。

      JVM根据变量的类型为变量分配存储空间,分配的空间只能用来存储该类型的数据,因此定义不同类型的变量,实质上是获得了对内存中各种数据类型的访问引用。

     

      三、数据类型

      数据类型:基本数据类型、扩展数据类型

      基本数据类型:布尔型(boolean)、字符型(char)、数值型——整数类型(byte,short,int long)、浮点型(float,double)

      扩展数据类型:类(class)、接口(interface)、数组(array)

      

      四、基本数据类型

      Java不允许数值类型和布尔类型互相转换;

      Java不能定义无符号数(unsigned),当程序中需要无符号数时,需要通过位运算获得。

      整数类型和浮点数的表示范围不受操作系统的影响;

      Java基于unicode表示字符,每个字符占2 Byte;

      整数、浮点、字符可以自动转换,byte、short、char<int<long<double<float,前三种参与计算时不会相互转换,因为都转换为int;

      多种数据类型混合计算,先自动将数转换为容量最大的类型,再进行计算。

     

      五、其它

      常量,表示固定值(无需计算);常变量,final修饰的变量,赋值后不能修改。

      求余运算的两个运算变量没有限制,结果符号跟随求余运算符左边的操作数;

      instanceof(对象运算符)是一个关系运算符,即两边的数据类型应该一致。关系表达式的结果为boolean。

      逻辑运算符&&和||存在短路现象。

      位运算符(<<,>>>,>>).

      运算符的结合性,从左至右。

      

      break语句,终止某个语句块的执行,使得应用程序从该语句块后的第一个语句处开始执行;

      continue语句,忽略当前循环,即跳过循环语句块的一次执行,开始下一次循环。(break结束整个循环)

      return语句,从当前方法退出,控制流返回到方法调用处;

     

      六、程序设计风格

      标识符命名:用完整的英文描述;驼峰式大小写;

      源文件命名:源文件与其中的公共类名字一致;一个源文件只能有一个公共类;若源文件不包含公共类,文件名和某个类名字相同就行;

  • 相关阅读:
    C,LINUX,数据结构部分
    LINUX应用开发工程师职位(含答案)
    INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)
    屏幕调试
    1.ARM嵌入式体系结构与接口技术(Cortex-A8版)
    NT9666X调试log
    DemoKit编译过程错误
    selenium 代理设置
    pandas 轮询dataframe
    Spring 定时任务
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/8417590.html
Copyright © 2011-2022 走看看