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语句,从当前方法退出,控制流返回到方法调用处;

  六、程序设计风格

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

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

Java 概述和编程基础的更多相关文章

  1. Java高并发编程基础三大利器之CountDownLatch

    引言 上一篇文章我们介绍了AQS的信号量Semaphore<Java高并发编程基础三大利器之Semaphore>,接下来应该轮到CountDownLatch了. 什么是CountDownL ...

  2. JAVA的网络编程基础概念

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  3. Java EE JSP编程基础

    一.JSP编程介绍 JSP是实现普通静态HTML和动态HTML混合编码的技术,可以说是Servlet的一种变形,相比Servlet它更像普通的Web页面.JSP在第一次运行时会花费很长时间,原因在与其 ...

  4. Java 之 网络编程基础

    一.软件结构 C/S 结构:全称为 Client/Server 结构,是指客户端和服务器结构.常见的程序有微信,QQ,迅雷等软件. B/S 结构:全称 Brower/Server 结构,是指浏览器和服 ...

  5. Java NIO 网络编程基础

    Java NIO提供了一套网络api,可以用来处理连接数很多的情况.他的基本思想就是用一个线程来处理多个channel. 123456789101112131415161718192021222324 ...

  6. java高并发编程基础之AQS

    引言 曾经有一道比较比较经典的面试题"你能够说说java的并发包下面有哪些常见的类?"大多数人应该都可以说出 CountDownLatch.CyclicBarrier.Sempah ...

  7. Java并发编程基础三板斧之Semaphore

    引言 最近可以进行个税申报了,还没有申报的同学可以赶紧去试试哦.不过我反正是从上午到下午一直都没有成功的进行申报,一进行申报 就返回"当前访问人数过多,请稍后再试".为什么有些人就 ...

  8. Java编程基础阶段笔记 day01 Java语言概述

    ​目录内容 DOS命令 电脑配置 Java语言的特性 Java两种核心机制 Java语言环境搭建 第一个Java程序 注释 Java语句说明 编程风格 作业 常用的DOS命令 dir :    列出当 ...

  9. Java基础(Java概述、环境变量、注释、关键字、标识符、常量)

    第1天 Java基础语法 今日内容介绍 u Java开发环境搭建 u HelloWorld案例 u 注释.关键字.标识符 u 数据(数据类型.常量) 第1章 Java开发环境搭建 1.1 Java概述 ...

随机推荐

  1. Visual Studio Code(VS code)介绍

    一.日常安利 VS code VS vode特点: 开源,免费: 自定义配置 集成git 智能提示强大 支持各种文件格式(html/jade/css/less/sass/xml) 调试功能强大 各种方 ...

  2. Oracle中将密码有效期由默认的180天修改成“无限制”

    将密码有效期由默认的180天修改成“无限制”: 在系统管理员下执行如下语句即可 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED 修改之 ...

  3. 微服务RESTful 接口设计规范

    1.RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......).因此,必须有一种统一的机制,方便不同的前 ...

  4. data binding 优缺点

    文章: 1. [译文] 我不使用Android Data Binding的四个理由 https://www.jianshu.com/p/559adeaaeffd 2. 原文:https://blog. ...

  5. requests和BeautifulSoup模块的使用

    用python写爬虫时,有两个很好用第三方模块requests库和beautifulsoup库,简单学习了下模块用法: 1,requests模块 Python标准库中提供了:urllib.urllib ...

  6. LC 454. 4Sum II

    Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such t ...

  7. SoundPool 播放短声音

    SoundPool 最大只能申请1M的内存空间,只能用一些很短的声音片段,而不是用它来播放歌曲或者做游戏背景音乐. 使用 SoundPool 播放短声音实现步骤如下: // 创建SoundPool实例 ...

  8. openstack compute service list Unable to establish connection to http://controller:8774/v2.1/os-services: ('Connection aborted.', BadStatusLine("''",))

    8774是nova的端口号,所以我就逐一查看nova的日志文件. tail -f /var/log/nova/nova-conductor.log 2019-06-13 08:24:53.559 44 ...

  9. iscsi序列一、搭建iscsi存储系统

    一.NAS和SAN服务器概述 SAS: 容量小, 300G, 600G, 900G, 价格贵. SATA:容量大,500G, 750G, 1T, 2T, 3T, 4T   不支持热插拔,价格低. 假S ...

  10. Win10上的媒体断开连接错误消息(找不到ip地址)

    使用管理员权限打开命令提示符并执行以下命令: ipconfig /all 这将列出所有连接的媒体,即以太网和Wifi及其状态. 结果全部显示: 媒体断开连接 如下图: 如果是这种情况,我们需要解决互联 ...