什么是计算机语言

语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
计算机语言(编程语言):人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java,Python等。

什么是程序

为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合,就是计算机程序;
编写程序的工具 就是计算机语言,Java是目前应用最广泛的编程语言。

最新编程语言排名(java排名第一)

https://www.tiobe.com/tiobe-index/

Java平台有三个版本

JavaSE
  Java Platform Standard Edition 标准版,包含Java语言的基础核心
  用于开发桌面应用程序,如QQ、记事本、计算器等
JavaEE
  Java Platform Enterprise Edition 企业版,以前也称为J2EE,包含JavaSE
  用于开发企业应用程序,如Web网站、分布式应用等
JavaME
  Java Platform Micro Edition 微缩版/移动版
  用于开发移动设备/嵌入式设备的应用,如手机游戏

Java语言特点

特点一:面向对象
  两个基本概念:类、对象
  三大特性:封装、继承、多态
特点二:健壮性
  吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分。如:指针、内存的申请与释放等
特点三:跨平台性
  一次编写,出处运行;
  跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
  原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
特点三:安全的
安全机制,防止恶意代码的攻击
特点四:简单的
语法简洁,去除不常用的功能

Java两大核心机制

Java虚拟机(Java Virtual Machine)
垃圾收集机制(Garbage Collection)

Java虚拟机

JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
JVM 用于运行 Java 应用程序
对于不同的平台,有不同的虚拟机,Java的跨平台就是通过在不同的平台安装相应的JVM来实现的。
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

编译:通过编译器

执行:通过解释器

垃圾收集机制

垃圾回收:将不再使用的内存空间进行回收。
在 C/C++ 等语言中,由程序员负责回收无用内存。
Java 不需要程序员负责回收无用的内存:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。

JDK & JRE

简单而言,使用 JDK 的提供的开发工具完成 java 程序的开发,使用 JRE 运行开发好的 Java 应用程序。
JDK(Java Development Kit Java开发工具包,包含jre):JDK是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了
JRE(Java Runtime Environment Java运行环境,jre可以单独装,用于只运行不开发) :包括Java虚拟机(JVM:Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。运行需要jre运行环境,java在虚拟机中运行,jre中有jvm。

jdk

jdk包含了jre

jdk、jre、jvm的关系

下载、安装JDK、配置环境变量

安装路径不要有中文或者特殊符号如空格等。
当提示安装 JRE 时,可以选择不安装。

参考:https://www.cnblogs.com/UncleYong/p/10732951.html

编写第一个 Java 应用程序

步骤:
将 Java 代码编写到扩展名为 .java 的文件中。
通过 javac 命令对该 java 文件进行编译。
通过 java 命令对运行 class 文件

package com.uncleyong;

public class HelloWorld{
// main 方法
public static void main(String [] args){
// 在控制台中打印字符串
System.out.println("Hello World!");
}
}

说明:

package:关键字,表示包

com.uncleyong:包名,点号在windows中表示\

public:java的修饰符,公开的

class:关键字,表示类

HelloWorld:类名

static:java的修饰符,静态的

void:表示返回类型

main:Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String[] args) {...},如果没有 main 方法则在运行时会抛出如下异常

String[] args:方法的参数列表,String是一个类名,表示的是字符串,args是变量名,可以更改

System:类名,系统这个类

out:系统类中的属性,表示系统输出流

println:系统输出流中的方法

"Hello World!":字符串,双引号包起来

Java 语言严格区分大小写

Java方法由一条条语句构成,每个语句以分号结束

一个 Java 源文件中最多只能有一个 public 类。其它类的个数不限,如果源文件文件包含一个 public 类,它必须是该类名命名。

如果文件中类都没有带public,那么文件名可以任意(可以和任意一个类名一样,也可以和所有类名都不一样),但是,运行的时候,java后面跟包含main方法的类名

注意:一般一个java文件中就只写一个类

HelloWorld.java

class HelloWorld2{
//main 方法
public static void main(String [] args){
//在控制台中打印字符串.
System.out.println("HelloWorld!");
}
} class Test{
public void test(){
System.out.println("测试类。");
}
}

编译的时候,文件要带后缀
运行的时候,java后面跟的是包含main方法的类名

文件中两个类,编译后生成两个class文件

如果java Helloworld2报如下错,就检查环境变量(classpath加上.;)
错误: 找不到或无法加载主类 HelloWorld2

如果java文件中有包名
文件名:HelloWorld2.java

package com.uncleyong.ex;

class HelloWorld{
//main 方法
public static void main(String [] args){
//在控制台中打印字符串.
System.out.println("Hello, World!");
} } class HelloWorld3{
public void test(){
System.out.println("test");
}
}

java运行的时候,要带上包名;  

javac运行之后,会根据包名生成相对应的文件夹名;

一个类中可以有多个方法(可以包含main方法,main方法位置随意)
文件名:HelloWorld2.java

class HelloWorld{
public void test(){
System.out.println("test");
}
//main 方法
public static void main(String [] args){
//在控制台中打印字符串.
System.out.println("Hello, World!");
} }

另外,如果java文件已经在对应的包下,编译时就不需要-d参数了,运行时还是要加包名

注释

注释:用于解释说明程序的文字,提高了代码的阅读性。
Java中的注释类型:
  单行注释,格式: //注释文字
  多行注释,格式: /* 注释文字 */
  文档注释(java 特有),格式:以 /** 开始,以 */结束,文档注释允许你在程序中嵌入关于程序的信息,有了这个注释就可以使用 javadoc 工具软件来生成信息(比如:javadoc xxx.java),并输出到HTML文件中

注释是一个程序员必须要具有的良好编程习惯。

将自己的思想通过注释先整理出来,再用代码去体现

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行

多行注释不能嵌套。

编码规范

语句必须以分号结尾
标点符号必须为英文符号
大小写敏感,即区分大小写

建议:
所有命名不建议使用中文、空格、特殊字符等,不要以数字开头
一行只写一条语句
{}的使用及位置
合理的代码缩进

Java【初识篇】语言概述的更多相关文章

  1. 乐字节Java学习01-Java语言概述,Java发展前景,Java的特点

    从这篇文章开始,小乐准备写一整系列的Java学习文章,一步一步带您进入Java的神奇世界! 这是第一篇:Java语言概述以及Java的发展前景 1.SUN公司介绍 SUN公司全称是Stanford U ...

  2. java基础---java语言概述

    一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...

  3. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  4. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  5. Notes 20180506 : Java程序设计语言概述

    2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...

  6. 2015/12/29 Java语言概述 操作中注意事项

    java语言概述 ①版本分类:JavaSE 标准版 桌面开发                 JavaEE 企业版 网络开发                 JavaME 移动版 嵌入式开发(塞班系统 ...

  7. 一、Java语言概述与开发环境、第一个java程序

    目录: 1.1 Java特点 1.2 Java程序运行机制 1.3 安装JDl和配置环境变量 1.4 第一个JAVA程序 1.5 第一个JAVA程序的含义 前言 Java语言历时近二十年,已发展成为人 ...

  8. 【Java基础】Java 语言概述

    Java 语言概述 主要应用场景 JavaEE.大数据.Android 开发方向. 基础知识概述 编程语言核心结构 变量.基本语法.分支.循环.数组.- Java 面向对象的核心逻辑 OOP.封装.继 ...

  9. 【疯狂Java学习笔记】【第一章:Java语言概述】

    [学习笔记]1.Java与C#的异同:Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承.宏定义.全局变量.全局函数.指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收.接口等等. ...

  10. 第一天 Java语言概述

    一.什么是软件 软件就是按照特定的顺序把数据和指令组合在一起,能够完成相应功能的程序. 软件分为两种: 系统软件:专门用户运行其他程序的平台.比如Linux.Windows.MAC等 应用软件:完成相 ...

随机推荐

  1. Paint.FontMetrics

    要了解TextView对文本的绘制,那么就需要了解Paint.FontMetircs. 官方对该类的解释是:Class that describes the various metrics for a ...

  2. mac 安装protobuf,并编译为java,c++,python

    1.下载地址:https://code.google.com/p/protobuf/downloads/list 另外,可以查看这个链接查看中文更多内容:http://www.cnblogs.com/ ...

  3. Netty学习笔记(二) 实现服务端和客户端

    在Netty学习笔记(一) 实现DISCARD服务中,我们使用Netty和Python实现了简单的丢弃DISCARD服务,这篇,我们使用Netty实现服务端和客户端交互的需求. 前置工作 开发环境 J ...

  4. django源码分析 请求流程

    一.从浏览器发出一个请求,到返回响应内容,这个过程是怎么样的? 1. 浏览器解析输入的url 2. 查找url对应的ip地址 3. 通过ip地址访问我们的服务器 1.  请求进入wsgi服务器(我在这 ...

  5. geth搭建私有网络

    geth --rpc --unlock "3ae88fe370c39384fc16da2c9e768cf5d2495b48,81063419f13cab5ac090cd8329d8fff9f ...

  6. MySQL分数排名同分并列与不并列查询

    Scores表 | Id | Score | | 3.50 | | 3.65 | | 4.00 | | 3.85 | | 4.00 | | 3.65 | 并列 | Score | Rank | | | ...

  7. Unity重置Animator到初始状态和重复播放同一个Animation

    遇到问题 特效同事给的Animation更改了物体的很多属性,如Active,Alpha, Scale,Position等等,物体本身需要重复利用,因此使用对象池技术不直接销毁而是隐藏等需要时再显示, ...

  8. LeetCode算法题-License Key Formatting(Java实现)

    这是悦乐书的第241次更新,第254篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第108题(顺位题号是482).您将获得一个表示为字符串S的许可证密钥,该字符串仅包含字 ...

  9. LinuxMint上安装redis和python遇到的一些问题

    今天在安装Redis和Python上遇到了些问题,解决后记录下来. 环境:LinuxMint 18.3 安装redis sudo wget http://download.redis.io/relea ...

  10. Kubernetes - kubectl proxy

    最近在玩flink部署在k8s上,但是k8s以前没玩过,参照前几天写的文章可部署一个简单的k8shttps://www.cnblogs.com/felixzh/p/9726244.html 在参照fl ...