Java【初识篇】语言概述
什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
计算机语言(编程语言):人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如: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【初识篇】语言概述的更多相关文章
- 乐字节Java学习01-Java语言概述,Java发展前景,Java的特点
从这篇文章开始,小乐准备写一整系列的Java学习文章,一步一步带您进入Java的神奇世界! 这是第一篇:Java语言概述以及Java的发展前景 1.SUN公司介绍 SUN公司全称是Stanford U ...
- java基础---java语言概述
一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- Notes 20180506 : Java程序设计语言概述
2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...
- 2015/12/29 Java语言概述 操作中注意事项
java语言概述 ①版本分类:JavaSE 标准版 桌面开发 JavaEE 企业版 网络开发 JavaME 移动版 嵌入式开发(塞班系统 ...
- 一、Java语言概述与开发环境、第一个java程序
目录: 1.1 Java特点 1.2 Java程序运行机制 1.3 安装JDl和配置环境变量 1.4 第一个JAVA程序 1.5 第一个JAVA程序的含义 前言 Java语言历时近二十年,已发展成为人 ...
- 【Java基础】Java 语言概述
Java 语言概述 主要应用场景 JavaEE.大数据.Android 开发方向. 基础知识概述 编程语言核心结构 变量.基本语法.分支.循环.数组.- Java 面向对象的核心逻辑 OOP.封装.继 ...
- 【疯狂Java学习笔记】【第一章:Java语言概述】
[学习笔记]1.Java与C#的异同:Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承.宏定义.全局变量.全局函数.指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收.接口等等. ...
- 第一天 Java语言概述
一.什么是软件 软件就是按照特定的顺序把数据和指令组合在一起,能够完成相应功能的程序. 软件分为两种: 系统软件:专门用户运行其他程序的平台.比如Linux.Windows.MAC等 应用软件:完成相 ...
随机推荐
- windows下QT打包
1.找到对应的MinGW命令,打开 2.进入exe目录 3.执行windeployqt XX.exe
- 通过Xtrabackup实现MySQL实例的全库备份与按需单库恢复
在实际的生产环境中,为了管理方便,我们一般是通过 Xtrabackup实现实例的全库备份,即将实例上的所有数据库备份. 但是,考虑到快速恢复 我们常常面临的需求是快速还原单个数据库.针对初学者来说,网 ...
- 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的几个实例
在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql server的邮件触发来实现. 步骤: 1.配置邮箱.步骤略,网上有不少帖子说明,手工直接在管 ...
- c/c++ 网络编程 UDP 用if_nameindex和ioctl取得主机网络信息
网络编程 UDP 用if_nameindex和ioctl取得主机网络信息 getifaddrs函数取得的东西太多了,如果只想取得网卡名字和网卡编号可以用下面的2个函数. 1,if_nameindex ...
- java反射(java.lang.reflect)---java.lang.reflect.Modifier中状态码
1. 详情请看jvm(虚拟机)规范 java.lang.reflect.Modifier public static final int ABSTRACT 1024 public static fin ...
- jQuery中toggle与slideToggle以及fadeToggle之间的不同
toggle()方法: 定义和用法 切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法: $(selector).toggle(speed,callback ...
- windows拿到cmd权限之后常用命令
whoami // 查看当前用户名称 ipconfig // 查看本机ip信息,可加 /all 参数 netstat -ano // 查看端口清况 dir c:\ // 查看目录 typ ...
- Bootstrap -- 缩略图、进度条、列表组、面板
Bootstrap -- 缩略图.进度条.列表组.面板 1. 缩略图 大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap ...
- 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论
基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...
- JMeter测试工具的使用
Jmeter下载地址: http://jmeter.apache.org/download_jmeter.cgi 解压Jmeter压缩包,双击jmeter.bat 右击测试计划 右击线程组 右击HTT ...